BSD License    
3.1/5 17
PyChecker is a tool for finding common bugs in Python source code.




PyChecker is a tool for finding bugs in python source code. PyChecker program 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 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.

Types of problems that can be found include:

No global found (e.g., using a module without importing it)
Passing the wrong number of parameters to functions/methods/constructors
Passing the wrong number of parameters to builtin functions & methods
Using format strings that don't match arguments
Using class methods and attributes that don't exist
Changing signature when overriding a method
Redefining a function/class/method in the same scope
Using a variable before setting it
self is not the first parameter defined for a method
Unused globals and locals (module or variable)
Unused function/method arguments (can ignore self)
No doc strings in modules, classes, functions, and methods

What's New in This Release:

Fixed SF Bug [ 1827412 ] pychecker.bat only handles 9 cmdline args
Fix warning about comparison checking with bool false alert for 'in' and 'not in'
Add warning for using __set__, __get__, and __delete__ in an old-style class
Fix spurious warning about __set__, __get__, and __delete__ not being special methods.
Fix inability to disable Warning about constant setattr()/getattr()
Fix spurious warning on min/max not accepting kwarg of key in Python 2.5
Add some __special__ pickling methods that were missing
Add --missingattrs option to ignore some (but not all) attribute names
Fix crash when using keyword arguments with builtin methods
Add --keepgoing option to ignore import errors
Add --findevil option to make it easier to find objects that crash the interpreter
Add support for Python 2.5
Last updated on February 8th, 2011

0 User reviews so far.