I fiddled around with SCons and pylint a bit. With this proposed patch it is possible to run pylint on the whole current codebase.
I'm not really after counting undocumented functions or unused arguments, but the further possibilities this would open:
automatic detection of cyclic imports (and boy do we have some!)
automatic creation of UML diagrams for classes via pyreverse (useful for design discussions and understanding/documenting the status quo)
I hope the rewrites of the Builder calls are okay like that, please give your comments everybody.
It's not that pylint actually wants the call notation, it just doesn't seem to like what we have now. ;)
I'm not sure what causes pylint headaches with this, for some reason it doesn't see that the resulting builder is really callable.
The proposed solution is what I could come up with, if you can think of a better, and nicer looking, approach let's hear about it.