$npx skillfedfor your agent

aiosignal

aiosignal: a list of registered asynchronous callbacks

Worth itPyPI Released Jul 2025537.2M downloads / moApache 2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — aiosignal-1.4.0-py3-none-any.whl
v1.4.0 · released 2025-07-03 · Python >=3.9 · 2 runtime deps: frozenlist, typing-extensions

Yes. aiosignal is a stable, actively maintained library with low install friction, no security vulnerabilities, and a permissive license. It solves a specific and common problem in asyncio applications—managing callback lists with a clean API—and is used by established frameworks. Install it if your asyncio project needs structured callback management.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.9 or later and an asyncio-compatible environment.
  • Low friction installation with only two lightweight runtime dependencies (frozenlist and typing-extensions).
  • Active maintenance with recent releases; last commit was 2026-08-12.

License · maintenance · safety

Apache 2.0 (permissive) — Apache 2.0 permissive license allows broad use, modification, and distribution with minimal restrictions—suitable for most commercial and open-source projects.

last release 2025-07-03 (407 days) · last repo commit 2026-08-12 · 165 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 537,226,203 downloads/mo, #75 on PyPI

Verify before relying

pip install aiosignal

import asyncio
from aiosignal import Signal

async def callback(data):
    print(f"Received: {data}")

sig = Signal()
sig.append(callback)
sig.freeze()
await sig.send("hello")
  • Whether the package is actively used by aiohttp or other major asyncio frameworks beyond documentation references.
  • Performance characteristics when managing large numbers of callbacks or high-frequency signal sends.
Same gist for agents: .md · .json

What it is and what it does

aiosignal is a lightweight library for managing asynchronous callbacks in asyncio applications. It provides a Signal class that acts as a list of registered async callbacks with a two-stage lifecycle: an open phase where callbacks can be added or removed using standard list operations, and a frozen phase after calling freeze() where the callback list is locked and only sending signals is permitted. Callbacks are invoked concurrently using await sig.send(data), making it useful for event-driven asyncio architectures.

The package is designed to integrate with asyncio-based frameworks and applications that need a clean, structured way to manage event callbacks. It depends on frozenlist for efficient immutable list handling and typing-extensions for type hints, both minimal dependencies. With production-stable status, active maintenance, and no known vulnerabilities, it is a straightforward choice for asyncio projects requiring callback management.

Use it for

  • Implement event hooks in asyncio web frameworks or servers that need to notify multiple listeners when specific events occur.
  • Build plugin systems where callbacks are registered early and then locked to prevent accidental modifications during runtime.
  • Create async event dispatchers for real-time applications that require broadcasting data to multiple concurrent handlers.
  • Manage lifecycle callbacks (startup, shutdown, request processing) in asyncio application frameworks.

Worth the install?

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

Worth it

Yes.

aiosignal is a stable, actively maintained library with low install friction, no security vulnerabilities, and a permissive license. It solves a specific and common problem in asyncio applications—managing callback lists with a clean API—and is used by established frameworks. Install it if your asyncio project needs structured callback management.

Install

aiosignal on PyPI

Before you install

Low friction installation with only two lightweight runtime dependencies (frozenlist and typing-extensions). Active maintenance with recent releases; last commit was 2026-08-12.

Requires Python 3.9 or later and an asyncio-compatible environment.

License in practice

Apache 2.0 permissive license allows broad use, modification, and distribution with minimal restrictions—suitable for most commercial and open-source projects.

Quickstart

pip install aiosignal

import asyncio
from aiosignal import Signal

async def callback(data):
    print(f"Received: {data}")

sig = Signal()
sig.append(callback)
sig.freeze()
await sig.send("hello")

Verify before relying

  • Whether the package is actively used by aiohttp or other major asyncio frameworks beyond documentation references.
  • Performance characteristics when managing large numbers of callbacks or high-frequency signal sends.

Package facts

LicenseApache 2.0 permissive
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
frozenlisttyping-extensions
MaintenanceActively maintained 407 days since the last release
Last repo commit
First released
Downloads537,226,203 / month, #75 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 :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: Only

Evidence: aiosignal-1.4.0-py3-none-any.whl

Tags

Capabilities
asyncio callback managementasync signal dispatcherevent callbacks asynciofrozen callback listasyncio event system
Topics
asyncioevent-driven

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 callback management”

  • aiosignalProvides a Signal class for managing lists of asynchronous callbacks…
  • asyncio-atexitRegisters cleanup functions to run when an asyncio event loop closes,…
  • aiodhcpwatcherWatches for DHCP packets on the network using asyncio, allowing you…

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

Similar packages

aiomonitor With conditions
PyPI · Monitoring · released Nov 2024

Adds a concurrent monitor and interactive Python REPL to asyncio applications, accessible via telnet or a built-in CLI client, allowing inspection and control of running tasks without blocking the event loop.

Apache-2.0pure Python · 3.8+
297.1Kdownloads / mo
psygnal Worth it
PyPI · Software Development · released Jan 2026

Psygnal implements the observer pattern with a Qt-style signals API, allowing objects to emit events that connected callbacks can listen to, with optional type checking and threading support.

BSD-3-Clausepure Python · 3.10+
4.1Mdownloads / mo
PyDispatcher With conditions
PyPI · Python Modules · released Feb 2023

PyDispatcher implements a signal-dispatch system where multiple producers can send signals that multiple consumers listen for and handle via registered callbacks.

BSD-3-Clausepure Pythondormant
3.4Mdownloads / mo
aiogram Worth it
PyPI · Python Modules · released Jul 2026

aiogram is an asynchronous Python framework for building Telegram bots using asyncio and aiohttp, with type hints, routing, state machines, and middleware support.

MITpure Python
4.0Mdownloads / mo
PyPyDispatcher Skip
PyPI · Python Modules · released Jul 2017

PyPyDispatcher implements a multi-producer-multi-consumer signal dispatching mechanism, allowing decoupled components to communicate through named signals and receiver registration.

BSD-3-Clausebuilds from sourceabandoned
214.5Kdownloads / mo
pysignalclirestapi With conditions
PyPI · Internet · released Mar 2026

Python client library for the Signal Cli REST API, enabling programmatic sending and receiving of Signal messages through an HTTP interface.

However, be aware that many endpoints are marked untested or in-progress; test thoroughly before relying on group management or contact sync in production.

MITpure Python · 2.7+
75.3Kdownloads / mo

See also aiocop · onvif-zeep-async · rel · aiodebug