Metadata-Version: 2.4
Name: whistle
Version: 1.0.1
Summary: Event dispatcher (see python-whistle.github.io).
Home-page: https://python-whistle.github.io/
Download-URL: https://github.com/python-whistle/whistle/tarball/1.0.1
Author: Romain Dorgueil
Author-email: romain@dorgueil.net
License: Apache License, Version 2.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Python: >=3.5
Provides-Extra: dev
Requires-Dist: coverage~=4.4; extra == "dev"
Requires-Dist: pytest~=3.4; extra == "dev"
Requires-Dist: pytest-cov~=2.5; extra == "dev"
Requires-Dist: pytest-sugar~=0.9.1; extra == "dev"
Requires-Dist: sphinx~=1.7; extra == "dev"
Requires-Dist: yapf; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: download-url
Dynamic: home-page
Dynamic: license
Dynamic: provides-extra
Dynamic: requires-python
Dynamic: summary

Whistle
=======

`Whistle` is a lightweight python library that allow your application components to communicate with each other by
dispatching events and listening to them.

.. image:: https://img.shields.io/pypi/v/whistle.svg
    :target: https://pypi.python.org/pypi/whistle
    :alt: PyPI

.. image:: https://img.shields.io/pypi/pyversions/whistle.svg
    :target: https://pypi.python.org/pypi/whistle
    :alt: Versions

.. image:: https://readthedocs.org/projects/whistle/badge/?version=latest
    :target: http://whistle.readthedocs.org/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://travis-ci.org/python-whistle/whistle.svg?branch=master
    :target: https://travis-ci.org/python-whistle/whistle

.. image:: https://img.shields.io/coveralls/python-whistle/whistle/master.svg
    :target: https://coveralls.io/github/python-whistle/whistle?branch=master
    :alt: Coverage

.. image:: https://app.fossa.io/api/projects/git%2Bgithub.com%2Fpython-whistle%2Fwhistle.svg?type=shield
    :target: https://app.fossa.io/projects/git%2Bgithub.com%2Fpython-whistle%2Fwhistle?ref=badge_shield
    :alt: License Status

* Homepage: https://python-whistle.github.io/
* Issues: https://github.com/python-whistle/whistle/issues


Install
:::::::

.. code-block:: shell

   pip install whistle


Quick start
:::::::::::

Install the `whistle` package:

.. code-block:: shell-session

    $ pip install whistle

Create an event dispatcher:

.. code-block:: python

    from whistle import EventDispatcher

    dispatcher = EventDispatcher()

Add a listener to react to events

.. code-block:: python

    def on_spectacle_starts(event):
        print('Please turn down your phones!')

    dispatcher.add_listener('spectacle.starts', on_spectacle_starts)</code></pre>

Dispatch!

.. code-block:: python

    dispatcher.dispatch('spectacle.starts')


----

Made with ♥ by `Romain Dorgueil <https://twitter.com/rdorgueil>`_ and `contributors <https://github.com/python-whistle/whistle/graphs/contributors>`_.

.. image:: https://app.fossa.io/api/projects/git%2Bgithub.com%2Fpython-whistle%2Fwhistle.svg?type=large
    :target: https://app.fossa.io/projects/git%2Bgithub.com%2Fpython-whistle%2Fwhistle?ref=badge_large
    :alt: License Status


