Whistle

Event Dispatcher for Python

Whistle is a simple tool that allow your application components to communicate with each other by dispatching events and listening to them.

Install Documentation

What is Whistle?

Whistle is an Event Dispatcher library for the Python 3.5+ language.

It's largely inspired from Symfony's EventDispatcher component.

Using an event dispatcher is a great way to write loosely coupled extensible code, having each part only communicate using light events.


Quick start

Install the whistle package:

 $ pip install whistle

Create an event dispatcher

from whistle import EventDispatcher

dispatcher = EventDispatcher()

Add a listener to react to events

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

dispatcher.add_listener('spectacle.starts', on_spectacle_starts)

Dispatch it!

dispatcher.dispatch('spectacle.starts')

License

Whistle and the surrounding material (like this website) is licensed under the Apache License, version 2.0.