Find file
Fetching contributors…
Cannot retrieve contributors at this time
127 lines (115 sloc) 5.1 KB
<homepage rdf:resource="" />
<shortdesc xml:lang="en">
PyChecker is a tool for finding bugs in python source code.
<description xml:lang="en">
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 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 and 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 not the first parameter to 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
<bug-database rdf:resource=";group_id=24686&amp;func=browse" />
<mailing-list rdf:resource="" />
<license rdf:resource="" />
<download-page rdf:resource="" />
<location rdf:resource="" />
<browse rdf:resource="" />
<foaf:name>Neil Norwitz</foaf:name>
<foaf:name>Thomas Vander Stichele</foaf:name>
<name>Two Seven</name>
<file-release rdf:resource="" />
Add support for Python 2.7
Fixed SF Bug [ 2209631 ]:
New module, modulePath code causes import error
Fixed SF Bug [ 1565876 ]:
pychecker does not allow lambda with setattr and const
Fixed SF Bug [ 1564614 ]:
pychecker -q on 64-bit ignores the platform-specific stdlib
Fixed SF Bug [ 1563572 ]:
order of checking files affects errors reported
PyChecker was only checking one of each set of modules with the same
name; so it will now catch many more warnings it was missing before.
Fixed SF Bug [ 1563495 ]:
couldn't find real module does not respect blacklist
Fixed SF Bug [ 1563494 ]:
pychecker tracebacks when importing zope.interface.declaration
Add unittest-based testsuite.
Warn about missing opcodes.
Added implementations for the following opcodes:
<file-release rdf:resource="" />
Fixed SF Bug [ 1827412 ] pychecker.bat only handles 9 cmdline args
Fix warning about comparison checking with bool false alert for 'in' and 'not
Add warning for using __set__, __get__, and __delete__ in an old-style class
Fix spurious warning about __set__, __get__, and __delete__ not being special
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