PyChecker

ziggy on 2003-03-26T18:38:49

I'm sitting in on a talk about PyChecker at the moment. The role of PyChecker should be intuitively obvious based on its name -- lint or gcc -Wall for Python code. More appropriately, it's a Python version of perl -w and use strict;

It's kind of surprising that this is a recent external tool. A lot of this talk is about the implementation, limitations and problems with the current veresion of PyChecker. Because it examines bytecode, there are some kinds of problems it cannot find easily, and it cannot profile Jython code, since Jython doesn't get compiled to bytecode.

PyChecker looks like an interesting platform for doing more complex source code analysis -- finding repeated blocks and locating possible refactorings. There's talk of rewriting PyChecker to use ASTs from the source code to alleviate some of these problems and make more complicated analysis possible. There's also some rumbling about making PyChecker part of a future Python distribution (e.g. python -w).

Funny. I've been using perl -w and use strict; so long that it's a strange and bizarre concept that features like this aren't integrated into the toolchain. :-S