aiosignal is a Python asyncio helper for managing a list of registered asynchronous callbacks (“signals”). It lets you append callbacks, then freeze the signal to prevent changes, and finally trigger all registered callbacks with await sig.send(data). Useful for coordinating event-style callback behavior in asyncio projects, including examples referenced in aiohttp’s advanced web server documentation.
Project status
- Actively maintained: The repository shows a very recent upstream push (2026-05-13), and the project has continued to ship versioned updates after a long initial history (latest noted update is v1.4.0).
- Update cadence: Notable updates appear on a roughly 6 to 8 month rhythm recently (v1.3.2 on 2024-12-13, v1.4.0 on 2025-07-03), suggesting ongoing development rather than maintenance-only.
AI summary generated 2 weeks ago
Recent updates
v1.4.0
11 months agoRelease 1.4.0 adds a decorator-style callback registration mechanism to `Signal`, and improves typing so `Signal` callback parameters can be type checked (via `typing-extensions` for Python < 3.13). The release notes also mention removing the `sphinxcontrib-asyncio` documentation dependency.
Featuresv1.3.2
12/13/2024Release v1.3.2 is primarily a support-policy update and a broad modernization of CI and packaging/build tooling. The only runtime code change is the version bump in aiosignal/__init__.py, while most other diffs are documentation, build metadata, and CI dependency/tooling updates.
Breakingv1.3.1
11/8/2022Release 1.3.1 is described as a PyPI packaging bugfix: removing a stray quote and comma from setup.cfg that prevented publishing. The actual diff from v1.2.0a0 to v1.3.1 shows a broader packaging and CI/tooling modernization beyond that single fix.
Breakingv1.2.0
10/16/2021Release v1.2.0 updates aiosignal to version 1.2.0 and adds CI and packaging support for Python 3.10. The release notes mention Python 3.10 support and marking the project as Python 3 only, and the code diff shows those changes are primarily packaging metadata and test matrix updates.
Featuresv1.2.0a0
10/16/2021Release v1.2.0a0 primarily adds Python 3.10 classifier support and updates CI to include Python 3.10 in the test matrix. The version is bumped to 1.2.0a0 in aiosignal/__init__.py, and changelog metadata is updated accordingly.
Featuresv1.1.1
11/27/2020Release v1.1.1 updates aiosignal to advertise the package as typed via addition of the py.typed marker. The release notes only mention type hint support, but the diff also includes multiple CI and documentation configuration changes plus some dependency version bumps in requirements files.
Featuresv1.1.0
11/27/2020Release v1.1.0 primarily announces added support for Python 3.8 and 3.9. The diff shows this release also updates package metadata and makes substantial CI and tooling dependency changes. No runtime API changes to aiosignal itself are visible in the provided diff beyond dependency and version constraints.
Featuresv1.0.0
11/11/2019This release primarily moves aiosignal from an alpha (1.0.0a0) to a stable 1.0.0 while tightening runtime requirements. The diff shows the supported Python baseline increased and the minimum frozenlist dependency changed accordingly.
Breakingv1.0.0a0
8/28/2019This is the initial release of the new aiosignal project, published as v1.0.0a0. The release notes indicate the project was extracted from aiohttp, so developers should expect APIs and behavior to reflect aiohttp's prior internal signal implementation.