pywatch
What is it?
A Python module and a command line client that allow you to run arbitrary shell commands whenever changes occur in a list of specified files.
Why?
Read the announcement
Get it
Example
pywatch --help Usage: pywatch [options] "command" file1 file2 ...Options: -h, --help show this help message and exit -v, --verbose Output timestamp when commands are run. chris@pinko:~/Code/pywatch$ pywatch -v ./bin/test src/pywatch/watcher.py src/pywatch/tests.py
Running commands at 2009-06-20 12:00:13.226711 Running zope.testing.testrunner.layer.UnitTests tests: Set up zope.testing.testrunner.layer.UnitTests in 0.000 seconds. Ran 4 tests with 0 failures and 0 errors in 2.003 seconds. Tearing down left over layers: Tear down zope.testing.testrunner.layer.UnitTests in 0.000 seconds.
Running commands at 2009-06-20 12:00:34.422557 Test-module import failures:
Module: pywatch.tests
Traceback (most recent call last): File "/home/chris/Code/pywatch/src/pywatch/tests.py", line 1, in
import makethistestblowup ImportError: No module named makethistestblowup Test-modules with import problems: pywatch.tests Total: 0 tests, 0 failures, 0 errors in 0.000 seconds.
Running commands at 2009-06-20 12:00:44.600708 Running zope.testing.testrunner.layer.UnitTests tests: Set up zope.testing.testrunner.layer.UnitTests in 0.000 seconds. Ran 4 tests with 0 failures and 0 errors in 2.006 seconds. Tearing down left over layers: Tear down zope.testing.testrunner.layer.UnitTests in 0.000 seconds.