Metadata-Version: 2.1
Name: aiosignal
Version: 1.2.0
Summary: aiosignal: a list of registered asynchronous callbacks
Home-page: https://github.com/aio-libs/aiosignal
Author: Nikolay Kim
Author-email: fafhrd91@gmail.com
Maintainer: Martijn Pieters <mj@zopatista.com>
Maintainer-email: aio-libs@googlegroups.com
License: Apache 2
Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby
Project-URL: CI: GitHub Actions, https://github.com/aio-libs/aiosignal/actions
Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/aiosignal
Project-URL: Docs: RTD, https://docs.aiosignal.org
Project-URL: GitHub: issues, https://github.com/aio-libs/aiosignal/issues
Project-URL: GitHub: repo, https://github.com/aio-libs/aiosignal
Platform: UNKNOWN
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Framework :: AsyncIO
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: frozenlist (>=1.1.0)

=========
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
   :target: https://codecov.io/gh/aio-libs/aiosignal
   :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

The library requires Python 3.6 or newer.


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

https://aiosignal.readthedocs.io/

Communication channels
======================

*aio-libs* google group: https://groups.google.com/forum/#!forum/aio-libs

Feel free to post your questions and ideas here.

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

Requirements
============

- Python >= 3.6
- 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
<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/

=========
Changelog
=========

..
    You should *NOT* be adding new change log entries to this file, this
    file is managed by towncrier. You *may* edit previous change logs to
    fix problems like typo corrections or such.
    To add a new change log entry, please see
    https://pip.pypa.io/en/latest/development/contributing/#news-entries
    we named the news folder "changes".

    WARNING: Don't drop the next directive!

.. towncrier release notes start


1.2.0 (2021-10-16)
==================

Features
--------

- Added support for Python 3.10.
  `#328 <https://github.com/aio-libs/aiosignal/issues/328>`_


Bugfixes
--------

- Mark aiosignal as Python3-only package
  `#165 <https://github.com/aio-libs/aiosignal/issues/165>`_


----


1.1.2 (2020-11-27)
==================

Features
--------

- Fix MANIFEST.in to include ``aiosignal/py.typed`` marker


1.1.1 (2020-11-27)
==================

Features
--------

- Support type hints

1.1.0 (2020-10-13)
==================

Features
--------

- Added support of Python 3.8 and 3.9


1.0.0 (2019-11-11)
==================

Deprecations and Removals
-------------------------

- Dropped support for Python 3.5; only 3.6, 3.7 and 3.8 are supported going forward.
  `#23 <https://github.com/aio-libs/aiosignal/issues/23>`_

