blinker is a Python module that provides a fast dispatching system that allows any number of interested parties to subscribe to events, or "signals".
Signal receivers can subscribe to specific senders or receive signals sent by any sender.
>>> from blinker import Signal
>>> signal = Signal()
>>> def each(round):
... print "Round %s!" % round
...
>>> signal.connect(each)
>>> def round_two(round):
... print "This is round two."
...
>>> signal.connect(round_two, sender=2)
>>> for round in range(1, 4):
... signal.send(round)
...
Round 1!
Round 2!
This is round two.
Round 3!
Product's homepage
Requirements:
· Python
What's New in This Release: [ read full changelog ]
· Added Signal.receiver_connected and Signal.receiver_disconnected per-Signal signals.
· Deprecated the global 'receiver_connected' signal.
· Verified Python 3.2 support (no changes needed!)