Pyflakes is a nice little utility that checks your Python code for errors. The main advantage over PyChecker and PyLint is that it is much faster and gives almost no false positives. Today I wrote a little hack on top of the enforcer pre-commit script which forces the code you check in to pass pyflakes. Eg, the users of svn will see the following output if they try to check in code which has errors pyflakes can detect:
$ svn ci -m "fix" completion.py Sending completion.py Transmitting file data .svn: Commit failed (details follow): svn: 'pre-commit' hook failed with error output: Pyflakes found 1 error(s)/warning(s): kiwi/trunk/examples/completion.py:1: undefined name 'test'
The small "configuration" file for enforce can be found here.