Skip to content



GitHub status for master branch status for master branch Latest PyPI package version Latest Read The Docs Discourse group for io-libs Chat on Gitter


A project to manage callbacks in asyncio projects.

Signal is a list of registered asynchronous callbacks.

The signal's life-cycle has two stages: after creation its content could be filled by using standard list operations: sig.append() etc.

After you call sig.freeze() the signal is frozen: adding, removing and dropping callbacks is forbidden.

The only available operation is calling the previously registered callbacks by using await sig.send(data).

For concrete usage examples see the Signals <> section of the `Web Server Advanced <> chapter of the aiohttp documentation.


$ pip install aiosignal

The library requires Python 3.8 or newer.


Communication channels

gitter chat


  • Python >= 3.8
  • frozenlist >= 1.0.0


aiosignal is offered under the Apache 2 license.

Source code

The project is hosted on GitHub

Please file an issue in the bug tracker if you have found a bug or have some suggestions to improve the library.