[IronPython] Code Quality Tools

Martin Maly Martin.Maly at microsoft.com
Thu Jun 22 18:04:48 CEST 2006

Great feedback. We will need to investigate this some more to see what exactly the python's compiler package requires in terms of built-in modules. For now I opened CodePlex bug 563 so that we can include this important feature in our planning.


-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord
Sent: Thursday, June 22, 2006 7:10 AM
To: Discussion of IronPython
Subject: [IronPython] Code Quality Tools

Hello all,

At Resolver we are looking into tools that we can use to provide simple
code hygiene checks. Check we're not shadowing built-in names, check for
unneeded import statements and unused variables; that sort of thing.

I know of three Python modules that do this. They all fail unredeemably
on  IronPython :

* PyLint

    Uses the compiler.ast module extensively

* PyChecker

    Does bytecode analysis

* PyFlakes

    Uses compiler.parse

(See also the previous email about coverage tools not working on
IronPython because "sys.settrace" is not implemented.)

We can use PyFlakes from CPython (and possbily PyLint- but not PyChecker
because it executes code), but that means our test code is dependent on

So there are no native code quality tools that will work with
IronPython. This could be a barrier to entry for some projects who
consider using IronPython.

I realise it is not going to be high up the priority list, but if a
solution to this was possible it would be good.

One possibility is a pure Python ports of the parser module (which
should get the compiler and compiler.ast modules working). There is a
tool called EasyExtend which can generate CSTs in Pure Python, so it
could be possible to convert one of the existing tools to use this.

All the best,

Michael Foord

users mailing list
users at lists.ironpython.com

More information about the Ironpython-users mailing list