Fast, simple object-to-object and broadcast signaling
[![PyPI](https://img.shields.io/pypi/d/v/blinker-alt.svg)](https://pypi.python.org/pypi/blinker-alt) [![PyPI](https://img.shields.io/pypi/d/l/blinker-alt.svg)](https://pypi.python.org/pypi/blinker-alt) [![PyPI](https://img.shields.io/pypi/d/pyversions/blinker-alt.svg)](https://pypi.python.org/pypi/blinker-alt)
Note: This is a fork of [jek/blinker](https://github.com/jek/blinker)!
There didn’t seem to be any activity anymore on the original repo, and the latest changes on master weren’t officially released. So I forked the repo, merged a couple of important pull requests, and released a new version to PyPI under the name [blinker-alt](https://pypi.python.org/pypi/blinker-alt).
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!
See the [Blinker documentation](https://pythonhosted.org/blinker/) for more information.
Blinker requires Python 2.4 or higher, Python 3.0 or higher, or Jython 2.5 or higher.
## Changelog Summary
1.5 (October 15, 2017)
- Lower baseline cost of no-op signal send() & optional -O speedup.
- Verified Python 3.6 support (no changes needed).
- Verified Python 3.5 support (no changes needed).
1.4 (July 23, 2015)
- Verified Python 3.4 support (no changes needed)
- Additional bookkeeping cleanup for non-ANY connections at disconnect time.
- Added Signal._cleanup_bookeeping() to prune stale bookkeeping on demand
1.3 (July 3, 2013)
- The global signal stash behind blinker.signal() is now backed by a regular name-to-Signal dictionary. Previously, weak references were held in the mapping and ephemeral usage in code like signal('foo').connect(...) could have surprising program behavior depending on import order of modules.
- blinker.Namespace is now built on a regular dict. Use blinker.WeakNamespace for the older, weak-referencing behavior.
- Signal.connect(‘text-sender’) uses an alternate hashing strategy to avoid sharp edges in text identity.
1.2 (October 26, 2011)
- 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!)
1.1 (July 21, 2010)
- Added @signal.connect_via(sender) decorator
- Added signal.connected_to shorthand name for the temporarily_connected_to context manager.
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
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size blinker_alt-1.5-py2.py3-none-any.whl (15.2 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View|
|Filename, size blinker-alt-1.5.tar.gz (21.7 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for blinker_alt-1.5-py2.py3-none-any.whl