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
- Maintenance status: Evidence of recent upstream activity (last GitHub push on 2026-06-03), but the most recent tagged update in the provided history is v1.4.0 on 2025-07-03, about 11 months ago, so maintenance looks active in-repo but release cadence is slow.
- Update cadence: Tagged updates appear irregular, with long gaps (for example, v1.3.2 on 2024-12-13 to v1.4.0 on 2025-07-03), and no new tagged updates since v1.4.0 as of 2026-06-09.
AI summary generated 2026-06-09
Recent updates
v1.4.0
2025-07-03Release 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
2024-12-13Release 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
2022-11-08Release 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
2021-10-16Release 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
2021-10-16Release 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
2020-11-27Release 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
2020-11-27Release 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
2019-11-11This 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
2019-08-28This 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.