Pypubsub provides a simple way to decouple parts of your Python application.
Some parts of an application can send messages and not care what parts
receive them. Other parts of an application can receive them and not
care about where the messages originate.

PyPubSub is a great way to implement a Model-View-Controller
architecture or any architecture that promotes decoupling 
of its components, as well as event-driven applications. 

Note: 

PyPubSub was originally one module in wxPython's lib
package. It was extracted from wxPython and improved so that there
is absolutely no dependency on wxPython or any third party libraries. 
The original pubsub API is still available for those who need it, via
the use of an "from pubsub import setupv1" statement, but that version
of the API has not been improved since 2009 and does not benefit of 
several important capabilities of the modern API, as documented on the
PyPubSub website.

See the PyPubSub website (http://pubsub.sourceforge.net/) for 
further details. Download area is at 
http://sourceforge.net/project/showfiles.php?group_id=197063.

Notes:

* The next release of wxPython should contain the updated PyPubSub.
  The default will likely be for it to use version 1 API of PyPubSub. 
* This project is hosted on SourceForge as pubsub (www.sf.net/projects/pubsub).
  It should not be confused with the PyPubSub (www.sf.net/projects/pypubsub) 
  project also hosted there, providing a form of network-based publish-subscribe. 
  The author of the latter was not aware of our pre-existing PyPubSub on 
  Cheeseshop when they created it, and has only recently agreed to change 
  their project name, but that hasn't happened yet.

