summaryrefslogtreecommitdiff
path: root/README
blob: 23df6944020bda612f0ead10d68d7ef6cd47e387 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Blinker
=======

Blinker 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
  >>> started = signal('round-started')
  >>> def each(round):
  ...     print "Round %s!" % round
  ...
  >>> started.connect(each)

  >>> def round_two(round):
  ...     print "This is round two."
  ...
  >>> started.connect(round_two, sender=2)

  >>> for round in range(1, 4):
  ...     started.send(round)
  ...
  Round 1!
  Round 2!
  This is round two.
  Round 3!

Requirements
------------

Blinker requires Python 2.4 or higher, Python 3.0 or higher, or Jython 2.5 or higher.

Changelog Summary
-----------------

1.0 (March 28, 2010)
 - Python 3.x compatibility

0.9 (February 26, 2010)
 - Sphinx docs, project website
 - Added ``with a_signal.temporarily_connected_to(receiver): ...`` support

0.8 (February 14, 2010)
 - First independent release separate from flatland
 - "sender" is now a positional, not keyword, argument