PyChecker is a tool for finding bugs in python source code. It finds problems that are typically caught by a compiler for less dynamic languages, like C and C++. It is similar to lint. Because of the dynamic nature of python, some warnings may be incorrect; however, spurious warnings should be fairly infrequent.PyChecker is a really nice tool. It really helped me chase down some early bugs when I was working on the Python port of the Chartshare project. Most of the Python development that I've done recently has been of the throw away script variety and I completely forgot about this tool until I tripped over it on a discussion of static typing in Python.
PyChecker works in a combination of ways. First, it imports each module. If there is an import error, the module cannot be processed. The import provides some basic information about the module. The code for each function, class, and method is checked for possible problems.