/aiosignal

aiosignal: a list of registered asynchronous callbacks

Primary LanguagePythonApache License 2.0Apache-2.0

aiosignal

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

Introduction

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 <https://docs.aiohttp.org/en/stable/web_advanced.html#aiohttp-web-signals> section of the `Web Server Advanced <https://docs.aiohttp.org/en/stable/web_advanced.html> chapter of the aiohttp documentation.

Installation

$ pip install aiosignal

The library requires Python 3.8 or newer.

Documentation

https://aiosignal.readthedocs.io/

Communication channels

gitter chat https://gitter.im/aio-libs/Lobby

Requirements

  • Python >= 3.8
  • frozenlist >= 1.0.0

License

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.