nosy runs nosetests every time a file is changed. Combined with Sneazr, you'll have a Growl notification indicating the state of your tests every time you make a change.
Installation is as simple as:
$ pip install nosy sneazr
Then, add a setup.cfg to pass options to nosy when it runs tests:
base_path = ./
glob_patterns = *.py
options = --with-sneazr
Rubyists will recognize this setup as autotest-growl.