# aiosignal

> aiosignal: a list of registered asynchronous callbacks

- **URL**: https://www.freshcrate.ai/projects/aiosignal
- **Author**: aiohttp team
- **Category**: Frameworks
- **Latest version**: `1.4.0` (2026-04-21)
- **License**: Apache 2.0
- **Source**: https://github.com/aio-libs/aiosignal/actions
- **Homepage**: https://github.com/aio-libs/aiosignal
- **Language**: Python
- **GitHub**: 163 stars, 21 forks
- **Registry**: pypi (`aiosignal`)
- **Tags**: `pypi`

## Description

=========
aiosignal
=========

.. image:: https://github.com/aio-libs/aiosignal/workflows/CI/badge.svg
   :target: https://github.com/aio-libs/aiosignal/actions?query=workflow%3ACI
   :alt: GitHub status for master branch

.. image:: https://codecov.io/gh/aio-libs/aiosignal/branch/master/graph/badge.svg?flag=pytest
   :target: https://codecov.io/gh/aio-libs/aiosignal?flags[0]=pytest
   :alt: codecov.io status for master branch

.. image:: https://badge.fury.io/py/aiosignal.svg
   :target: https://pypi.org/project/aiosignal
   :alt: Latest PyPI package version

.. image:: https://readthedocs.org/projects/aiosignal/badge/?version=latest
   :target: https://aiosignal.readthedocs.io/
   :alt: Latest Read The Docs

.. image:: https://img.shields.io/discourse/topics?server=https%3A%2F%2Faio-libs.discourse.group%2F
   :target: https://aio-libs.discourse.group/
   :alt: Discourse group for io-libs

.. image:: https://badges.gitter.im/Join%20Chat.svg
   :target: https://gitter.im/aio-libs/Lobby
   :alt: 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


Documentation
=============

https://aiosignal.readthedocs.io/

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
<https://github.com/aio-libs/aiosignal/issues>`_ if you have found a bug
or have some suggestions to improve the library.

.. _GitHub: https://github.com/aio-libs/aiosignal
.. _aiohttp documentation: https://docs.aiohttp.org/

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `1.4.0` | 2026-04-21 | Low | Imported from PyPI (1.4.0) |
| `v1.4.0` | 2025-07-03 | Low | Features --------  - Added decorator functionality to ``Signal`` as a convenient way to add a callback -- by ``@Vizonex``.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_  - Improved type safety by allowing callback parameters to be type checked (typing-extensions is now required for Python <3.13).   Parameters for a ``Signal`` callback should now be defined like ``Signal[int, str]`` -- by @Vizonex and @Dreamsorcerer.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_, `#710 |
| `v1.4.0` | 2025-07-03 | Low | Features --------  - Added decorator functionality to ``Signal`` as a convenient way to add a callback -- by ``@Vizonex``.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_  - Improved type safety by allowing callback parameters to be type checked (typing-extensions is now required for Python <3.13).   Parameters for a ``Signal`` callback should now be defined like ``Signal[int, str]`` -- by @Vizonex and @Dreamsorcerer.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_, `#710 |
| `v1.4.0` | 2025-07-03 | Low | Features --------  - Added decorator functionality to ``Signal`` as a convenient way to add a callback -- by ``@Vizonex``.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_  - Improved type safety by allowing callback parameters to be type checked (typing-extensions is now required for Python <3.13).   Parameters for a ``Signal`` callback should now be defined like ``Signal[int, str]`` -- by @Vizonex and @Dreamsorcerer.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_, `#710 |
| `v1.4.0` | 2025-07-03 | Low | Features --------  - Added decorator functionality to ``Signal`` as a convenient way to add a callback -- by ``@Vizonex``.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_  - Improved type safety by allowing callback parameters to be type checked (typing-extensions is now required for Python <3.13).   Parameters for a ``Signal`` callback should now be defined like ``Signal[int, str]`` -- by @Vizonex and @Dreamsorcerer.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_, `#710 |
| `v1.4.0` | 2025-07-03 | Low | Features --------  - Added decorator functionality to ``Signal`` as a convenient way to add a callback -- by ``@Vizonex``.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_  - Improved type safety by allowing callback parameters to be type checked (typing-extensions is now required for Python <3.13).   Parameters for a ``Signal`` callback should now be defined like ``Signal[int, str]`` -- by @Vizonex and @Dreamsorcerer.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_, `#710 |
| `v1.4.0` | 2025-07-03 | Low | Features --------  - Added decorator functionality to ``Signal`` as a convenient way to add a callback -- by ``@Vizonex``.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_  - Improved type safety by allowing callback parameters to be type checked (typing-extensions is now required for Python <3.13).   Parameters for a ``Signal`` callback should now be defined like ``Signal[int, str]`` -- by @Vizonex and @Dreamsorcerer.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_, `#710 |
| `v1.4.0` | 2025-07-03 | Low | Features --------  - Added decorator functionality to ``Signal`` as a convenient way to add a callback -- by ``@Vizonex``.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_  - Improved type safety by allowing callback parameters to be type checked (typing-extensions is now required for Python <3.13).   Parameters for a ``Signal`` callback should now be defined like ``Signal[int, str]`` -- by @Vizonex and @Dreamsorcerer.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_, `#710 |
| `v1.4.0` | 2025-07-03 | Low | Features --------  - Added decorator functionality to ``Signal`` as a convenient way to add a callback -- by ``@Vizonex``.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_  - Improved type safety by allowing callback parameters to be type checked (typing-extensions is now required for Python <3.13).   Parameters for a ``Signal`` callback should now be defined like ``Signal[int, str]`` -- by @Vizonex and @Dreamsorcerer.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_, `#710 |
| `v1.4.0` | 2025-07-03 | Low | Features --------  - Added decorator functionality to ``Signal`` as a convenient way to add a callback -- by ``@Vizonex``.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_  - Improved type safety by allowing callback parameters to be type checked (typing-extensions is now required for Python <3.13).   Parameters for a ``Signal`` callback should now be defined like ``Signal[int, str]`` -- by @Vizonex and @Dreamsorcerer.   `#699 <https://github.com/aio-libs/aiosignal/pulls/699>`_, `#710 |

## Dependency audit

- **Score**: 98/100
- **Total deps**: 0
- **Resolved**: 0
- **Unresolved**: 0
- **License conflicts**: 0
- **Warnings**: 1
- **Scanned**: 2026-05-18

## Citation

- HTML: https://www.freshcrate.ai/projects/aiosignal
- Markdown: https://www.freshcrate.ai/projects/aiosignal.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/aiosignal/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
