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. All three main concepts support deriving by users. Conditions and variables even have derive_type() method that can be used to subclass them in just a few lines of code, for instance to create a variable that restricts its value's type. Latest Py-notify versions can be found at the homepage: http://home.gna.org/py-notify/ RUNNING STANDARD TESTS Before installing Py-notify, please run the standard test cases. It is very simple, just execute ./run-tests.py in this directory. Tests take just a few seconds to complete. If any of them fails in a released version, it is a bug, so please report it. However, this doesn't apply to Py-notify you get from Subversion repository, those can occasionally contain failing tests. INSTALLATION The usual `./setup.py build; ./setup.py install' or just `./setup.py install' should build and install Py-notify. See file INSTALL for details. REPORTING BUGS Please use bug tracker at the Gna! project page for bug submissions. Point your browser to https://gna.org/bugs/?group=py-notify Before submitting a bug, please update to the latest SVN version of Py-notify and verify that the bug is still present. Don't forget to check if the bug has been submitted already. Please include the following information in your bug report: * Bug description and the way to reproduce the bug. * Exception stack trace, if any. * System information, most importantly Python version. * Test case if possible. If a standard test fails (one of those in the `test' directory), its name in stack trace will suffice. * Everything else you find relevant. COPYRIGHTS AND LICENSES All files are copyrighted by Paul Pogonyshev except as noted below. See each specific file for details. All source files are licensed under the GNU Lesser General Public License version 2.1 or (at your option) any later version. GNU LGPL version 2.1 can be found in the file COPYING. * File `setup.py' is explicitly put in Public Domain. * File `benchmark/configobj.py' is copyright (C) 2005-2006 Michael Foord, Nicola Larosa and released under the terms of the BSD License.