Giter VIP home page Giter VIP logo

blinker's Introduction

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.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

blinker's People

Contributors

jek avatar tomasd avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.