From: Neal Norwitz <neal@metaslash.com> To: python-announce-list@python.org Subject: ANN: PyChecker version 0.7 Date: Mon, 16 Jul 2001 22:23:26 -0400 A new version of PyChecker is available for your hacking pleasure. PyChecker is a tool for finding common bugs in python source code. It finds problems that are typically caught by a compiler for less dynamic languages, like C and C++. Comments, criticisms, new ideas, and other feedback is welcome. Change Log: * Improve import warning messages, add from ... import ... checks * checker.py -h prints defaults after processing .pycheckrc file * Add config option -k/--pkgimport to disable unused imports from __init__.py * Add warning for variable used before being set * Improve format string checks/warnings * Check arguments to constructors * Check that self is first arg to base constructor * Add -e/--errors option to only warn about likely errors * Make 'self' configurable as the first argument to methods * Add check that there is a c'tor when instantiating an object and passing arguments * Add config option (-N/--initreturn) to turn off warnings when returning None from __init__() * Fix internal error with python 2.1 which defines a new op: LOAD_DEREF * Check in lambda functions for module/variable use * Fix inability to evaluate { 1: 'a' } inline, led to incorrect __init__() not called warnings * Fix exception when class overrides __special__() methods & raise exception * Fix check in format strings when using '%*g %*.*g', etc * Add check for static class attributes * Fix checking of module attributes * Fix wrong filename in 'Base class (xxx) __init__() not called' when doing a from X import * * Fix 'No attribute found' for very dynamic classes (may also work for classes that use __getattr__) PyChecker is available on Source Forge: Web page: http://pychecker.sourceforge.net/ Project page: http://sourceforge.net/projects/pychecker/ Neal -- pychecker@metaslash.com -- http://mail.python.org/mailman/listinfo/python-announce-list