Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A continuous test runner for Python
Python Shell
Latest commit 87177ac @coderanger Update



PyZen is a continuous test runner for paranoid developers. As long as the script is running, it will monitor for changes in your code and re-run your test suite when needed. There are frontends for multiple frameworks as well as several notification UIs.


  • Monitor source code and run tests on change
  • OS-specific async notification UI
  • Colored test output


PyZen can be installed from PyPI using easy_install:

$ easy_install PyZen

or pip:

$ pip install PyZen


PyZen provides multiple frontends to collect tests and run the continuous tester.


To setup PyZen under Django add pyzen to your INSTALLED_APPS setting. The run zen to start the tester process. You can give an application label or test name using the same format as the built-in test command.


The Flask frontend is maintained as separate package, Flask-Zen.


The PyZen package provides a distutils command zen that will run the test suite configured in under PyZen. Run zen to start the tester process.


The pyzen script provides a wrapper to run any test script under PyZen. Run pyzen arg1 arg2 ... to start the tester process. No configuration options are available at this time.


--nocolor : flag, default: False
Disable colored output.
-u, --ui : default: autodetect
Force the use of a specific UI module. Available options are win32, osx, linux, and none.


PyZen provides a UI to indicate the current test status after each run, even if the console is in the background. In addition to the three platform-specific interfaces, the none interface will disable this display. See the frontend documentation for details, but most frontends offer a --ui option to override the autodetection.


The default UI on Windows is a systray icon indicating the current test status and balloon notifications after each run. This UI is tested on Windows XP and higher, though it may work with Windows 2000.


The default UI on OS X uses Growl via AppleScript. A Growl notification is posted after each test run.


The default UI on Linux uses libnotify via the pynotify library. This is installed by default on current versions of Ubuntu. If pynotify is not found, the interface will be disabled.

Test Runner

By default PyZen enhances the test output with color. It is known to work on both Windows and *nix systems. Most frontends have a --nocolor option to disable it if needed.

Something went wrong with that request. Please try again.