What is it all about?
Pylint is a Python source code analyzer which looks for programming errors, helps enforcing a coding standard and sniffs for some code smells (as defined in Martin Fowler's Refactoring book). Pylint has many rules enabled by default, way too much to silence them all on a minimally sized program. It's highly configurable and handle pragmas to control it from within your code. Additionally, it is possible to write plugins to add your own checks.
* Coding Standard - checking line-code's length, checking if variable names are well-formed according to your coding standard checking if imported modules are used Python's PEP8 style guide * Error detection - checking if declared interfaces are truly implemented checking if modules are imported and much more (see the complete check list) * Refactoring help - Pylint detects duplicated code * Fully customizable - Modify your pylintrc to customize which errors or conventions are important to you. The big advantage with Pylint is that it is highly configurable, customizable, and you can easily write a small plugin to add a personal feature. * Editor integration - Run it in emacs , vim (pylint.vim, syntastic), eclipse, etc. * IDE integration - Pylint is integrated into various IDEs: Spyder, Editra, TextMate, Eclipse with PyDev * UML diagrams - Pylint is shipped with Pyreverse which creates UML diagrams for python code. Pyreverse: UML Diagrams for Python * Continuous integration - Running Pylint on your project's code can be automated using Apycot, Hudson or Jenkins. * Extensibility - The underlying Astroid library doesn't understand your code? Contribute a patch to pylint-brain