Py-notify Homepage

About Py-notify

Py-notify is a Python package providing tools for implementing Observer programming pattern. These tools include signals, conditions and variables.

Signals are lists of handlers that are called when signal is emitted. Conditions are basically boolean variables coupled with a signal that is emitted when condition state changes. They can be combined using standard logical operators (not, and, etc.) into compound conditions. Variables, unlike conditions, can hold any Python object, not just booleans, but they cannot be combined.

For more verbose introduction, please refer to the tutorial.

Py-notify is free software distributed under the terms of GNU LGPL version 2.1 or later.


Current stable version of Py-notify is 0.2.1, released 21 September 2008. Latest development version is Py-notify 0.3.1, released 28 September 2008.

All released versions of Py-notify are available for download. Alternatively, these versions can be retrieved from Subversion repository. Use ‘tags/x.y.z’ directory for version x.y.z.

Keeping Up

If you want to get informed when a new version of Py-notify is released, subscribe to Py-notify-announce mailing list. This list is very light on traffic and only new version announcements will be posted there. Alternatively, subscribe to Py-notify-dev mailing list. Same announcements will also be posted there (so you don’t need to subscribe to both lists), but there may be other discussions.

System Requirements

Py-notify requires Python 2.3 or later and a C compiler supported by distutils (there is one module written in C for performance reasons).

Currently, Py-notify has been tested on GNU/Linux and Windows 2000 + MinGW. However, it contains nothing system-specific and should work on any OS. Starting with 0.1.13 it should also compile and work under Python 3.0.

Easy Install

Py-notify supports simplified installation with Easy Install. If you have the module, simply typing

easy_install py-notify

as a super-user should be enough.

Building Py-notify

Building Py-notify manually is easy and allows to run unit tests to ensure that it works as expected. Normally, just executing

./ install

under a super-user account from the package top directory should suffice. However, it will create root-owned files in the source tree, so you should use

./ build
./ install


To execute standard unit tests, type:


Note that the tests take non-trivial amount of time (several seconds) to run, but that doesn’t indicate package slowness. Tests aggressively verify that there are no memory leaks, so Python garbage collector is run often and takes bulk of that time.

In general, Py-notify installation doesn’t involve anything uncommon. It should be just like that of any Python package that uses distutils.