$npx skillfedfor your agent

aiochannel

asyncio Channels (closable queues) inspired by golang

Worth itPyPI Application FrameworksReleased Jul 202688.8K downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — aiochannel-1.4.1-py3-none-any.whl
v1.4.1 · released 2026-07-18 · Python <4.0,>=3.10

Yes. The package is actively maintained, has no dependencies, installs cleanly, and fills a real gap in asyncio's toolkit for applications that need Go-like channel semantics. The Apache-2.0 license is permissive. Install it if your asyncio code needs explicit close-and-drain lifecycle control or if you're porting Go patterns to Python.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later; asyncio event loop must be running.
  • Low friction: pure Python wheel with no runtime dependencies.
  • Actively maintained with a release 27 days ago and commits through August 2026; supports Python 3.10–3.14.

License · maintenance · safety

Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

last release 2026-07-18 (27 days) · last repo commit 2026-08-03 · 41 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 88,819 downloads/mo, #13,701 on PyPI

Verify before relying

import asyncio
from aiochannel import Channel

async def main():
    ch = Channel(100)
    await ch.put("hello")
    item = await ch.get()
    ch.close()
    await ch.join()

asyncio.run(main())
  • Performance characteristics (throughput, latency) compared to asyncio.Queue under typical workloads.
  • Whether the package is used in production systems and what scale of deployments it supports.
Same gist for agents: .md · .json

What it is and what it does

aiochannel implements a channel abstraction for asyncio that mirrors Go's channel semantics. Unlike asyncio.Queue, a channel is considered "done" only when both closed and drained, so calling join() waits for full completion rather than just emptiness. The package provides async put/get methods that block until an item is available or space is free, non-async put_nowait/get_nowait variants, and async iteration support via async for loops. It raises ChannelClosed exceptions when operations occur on closed channels, giving explicit control over task synchronization.

The library has been maintained since 2015 and currently supports Python 3.10 through 3.14 with full type hints. It carries no external runtime dependencies, making it lightweight to add to projects that already use asyncio. The API is intentionally similar to asyncio.Queue to minimize learning curve, but the close-and-drain semantics make it better suited for producer-consumer patterns where you need to signal completion and ensure all work is processed before proceeding.

Use it for

  • Coordinate work between multiple async tasks where you need to signal when production is complete and all items are consumed.
  • Implement producer-consumer pipelines in asyncio applications with explicit lifecycle management.
  • Replace asyncio.Queue when you need channels to remain closed permanently and distinguish between empty and closed states.
  • Build async task pools or worker patterns where tasks communicate through typed, closable message channels.
  • Migrate Go-style concurrent code to Python asyncio while preserving channel-based communication patterns.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

The package is actively maintained, has no dependencies, installs cleanly, and fills a real gap in asyncio's toolkit for applications that need Go-like channel semantics. The Apache-2.0 license is permissive. Install it if your asyncio code needs explicit close-and-drain lifecycle control or if you're porting Go patterns to Python.

Install

aiochannel on PyPI

Before you install

Low friction: pure Python wheel with no runtime dependencies. Actively maintained with a release 27 days ago and commits through August 2026; supports Python 3.10–3.14.

Requires Python 3.10 or later; asyncio event loop must be running.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

Quickstart

import asyncio
from aiochannel import Channel

async def main():
    ch = Channel(100)
    await ch.put("hello")
    item = await ch.get()
    ch.close()
    await ch.join()

asyncio.run(main())

Verify before relying

  • Performance characteristics (throughput, latency) compared to asyncio.Queue under typical workloads.
  • Whether the package is used in production systems and what scale of deployments it supports.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release <4.0,>=3.10
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceActively maintained 27 days since the last release
Last repo commit
First released
Downloads88,819 / month, #13,701 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableFramework :: AsyncIOIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed

Evidence: aiochannel-1.4.1-py3-none-any.whl

Tags

Capabilities
asyncio channel queueasync communication primitivegolang-style channels pythonclosable async queueasyncio task coordinationasync inter-process messagingtyped async channels
Topics
asyncioconcurrency-primitivegolang-inspired
PyPI keywords
asyncioaiochanchannelgochan

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “asyncio channel queue”

  • aiochannelProvides asyncio-compatible channels (closable queues) inspired by…
  • janusProvides a thread-safe queue with both synchronous and asynchronous…
  • channels-redisProvides Redis-backed channel layers for Django Channels, enabling…

Give your agent the search over MCP, or paste the wish link into any chat.

More Application Frameworks packages

fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.

MITpure Python · 3.9+
456.2Mdownloads / mo
textual Worth it
PyPI · Application Frameworks · released Jun 2026

Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.

Install it if you're developing CLI tools, dashboards, or interactive terminal applications.

MITpure Python
443.6Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.

Install it if you are building CLIs in Python.

MITpure Python · 3.10+
369.3Mdownloads / mo
mcp Worth it
PyPI · Application Frameworks · released Jul 2026

Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.

Install it if you need to build or connect to servers.

MITpure Python · 3.10+
319.3Mdownloads / mo
Werkzeug Worth it
PyPI · Application Frameworks · released Apr 2026

Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.

BSD-3-Clausepure Python · 3.9+
268.1Mdownloads / mo

See also janus · aiormq · culsans · taskiq-aio-pika · aio-pika · arq · amqp · aioserial · gcloud-aio-taskqueue · channels-redis

Further reading