Metadata-Version: 2.1
Name: aiosignal
Version: 1.0.0a0
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: AppVeyor, https://ci.appveyor.com/project/aio-libs/aiosignal
Project-URL: CI: Circle, https://circleci.com/gh/aio-libs/aiosignal
Project-URL: CI: Shippable, https://app.shippable.com/github/aio-libs/aiosignal
Project-URL: CI: Travis, https://travis-ci.com/aio-libs/aiosignal
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.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
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.5.3
Description-Content-Type: text/x-rst
Requires-Dist: frozenlist (>=1.0.0a0)

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

.. image:: https://travis-ci.com/aio-libs/aiosignal.svg?branch=master
   :target: https://travis-ci.com/aio-libs/aiosignal
   :alt: Travis status for master branch

.. image:: https://ci.appveyor.com/api/projects/status/tnddy9k6pphl8w7k/branch/master?svg=true
   :target: https://ci.appveyor.com/project/aio-libs/aiosignal
   :alt: AppVeyor 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://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.5.3 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.5.3
- frozenlist >= 1.0.0a0

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/#adding-a-news-entry
    we named the news folder "changes".

    WARNING: Don't drop the next directive!

.. towncrier release notes start

