470,615 Members | 2,551 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,615 developers. It's quick & easy.

PyChecker lives! Version 0.8.13 released.

A new version of PyChecker is (finally) available for your hacking pleasure.

It's been quite a while since the last release--11 months.
I wish there was more progress, but such is life.
Many bug fixes and some new warnings were added.

I hope to get future releases out faster. I have several patches
queued up and ideas for more warnings. As always, I'd like
to hear your suggestions for common mistakes and bugs than
can/should be found by PyChecker.

I'm very interested to know what version(s) of Python you
use (or would like to use) PyChecker with. Even if you
don't use PyChecker, please take a moment to answer this short poll
so I can get an idea of how many people use each version of Python.

Please take a moment and visit: http://metaslash.com/pyversion.html

It would be great if you could help out the Python Software Foundation
and make a donation: http://python.org/psf/donate.html
In return for your generous donation, I will send you a very personal
email. ;-)

Comments, criticisms, new ideas, and other feedback is welcome.

Changes from 0.8.12 to 0.8.13:

* Add -s/--shadowbuiltin option to warn when overriding a builtin
* Add warning when assigning a variable to itself
* Add warning when dividing a variable by itself
* Add warnings when using a bit-wise operator with the same variable (a & a)
* Add warning when passing a constant string to getattr()/setattr()
* Add --special option to check for __special__ (reserved) method names
and that their signature (argument count) is correct
* Add warning for using __getattribute__ in an old-style class
* Suppress 'self as first argument' warning for static and class methods
* Add --classmethodargs option to specify first argument name
for class methods

PyChecker is available on Source Forge:
Web page: http://pychecker.sourceforge.net/
Project page: http://sourceforge.net/projects/pychecker/
Mailing List: py************@lists.sourceforge.net

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.

Jul 18 '05 #1
1 1389
> As always, I'd like to hear your suggestions for common mistakes and bugs
can/should be found by PyChecker.

Hi Neal. Thanks for these questions, and thanks for pychecker!

More nifty checks would always be welcome, but for me, some fairly small and
easy changes to pychecker might make a big difference. I would suggest
putting more of your attention on giving the user more control over
pychecker. In particular:

1. Make it really clear and obvious in the documentation that it is
possible to drive pychecker using options.py. Put some screenshots in the
docs, etc.

2. Bring options.py up-to-date: support all options (or maybe document
things better). For example, I've never been able to get the suppressions
dictionary in .pycheckrc to work, despite numerous experiments. I miss not
being able to get this to work every time I run pychecker.

3. Add an option to options.py so one can specify a source file to run.
Better yet, allow a list of files to check. As it is now, I have to browse
to the file.

4. Think about ways to make pychecker scriptable. This is a biggie. If it
is already, then _tell us about it_ (!!)

5. Think about ways to make pychecker less monolithic and more useful for
unit testing. In effect, I'd like unit tests to be able to run a specific
set of tests on specific files with specific options without having to mess
with options.py or .pycheckrc. This would be so cool.

I don't believe any of these items would take a lot of technical work, but
they would make pychecker hugely more useful to me.

Thanks for listening.

Edward K. Ream email: ed*******@charter.net
Leo: Literate Editor with Outlines
Leo: http://webpages.charter.net/edreamleo/front.html
Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

By using this site, you agree to our Privacy Policy and Terms of Use.