Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Invoking Pylint programmatically

I'd like to invoke the Pylint checker, limited to the error signalling part, as part of my unit testing. So I checked the Pylint executable script, got to the pylint.lint.Run helper class and there I got lost in a quite long __init__ function, ending with a call to sys.exit().

Anybody ever tried and managed to do so?

The dream-plan would be this:

if __name__ == '__main__':   import pylint.lint   pylint.lint.something(__file__, justerrors=True)   # now continue with unit testing 

Any hints? Other than "copy the __init__ method and skip the sys.exit()", I mean?

I don't need the tests to be run by Pylint, it might as well be pyflakes or other software: feel free to suggest alternatives.

like image 254
mariotomo Avatar asked Jan 08 '10 14:01

mariotomo


People also ask

What is Pylint and how do you use it?

What is Pylint? It is a static code analysis tool to identify errors in Python code and helps programmers enforce good coding style. This tool enables them debugging complex code with less manual work. It is one of the tools which gets used for test-driven development (TDD).


1 Answers

Take a look at the pylint/epylint.py file which contains two different ways to start Pylint programmatically.

You can also simply call

from pylint.lint import Run Run(['--errors-only', 'myfile.py']) 

for instance.

like image 161
syt Avatar answered Sep 21 '22 17:09

syt