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)

Full list of codes (wiki)

Refactoring help

Pylint detects duplicated code

About Refactoring (on wikipedia)

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.

More about message control (FAQ)

Editor integration

Run it in emacs , vim (pylint.vim, syntastic), eclipse, etc.

List of supported editors

IDE integration

Pylint is integrated into various IDEs:

List of supported IDEs

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.


The underlying Astroid library doesn't understand your code? Contribute a patch to pylint-brain


sudo apt-get install pylint


sudo apt-get install pylint


sudo dnf install pylint


emerge pylint


sudo zypper install pylint  # python2.7
sudo zypper install python3-pylint 


portmaster devel/pylint

Arch Linux

pacman -S python2-pylint # if you live in the past
pacman -S python-pylint  # if you live in the future


pip install pylint


pip install pylint # see note

From source using Git

git clone
git clone

Commercial Services

Contact Logilab for commercial services about Pylint

You have a company providing services with Pylint? Contact us to get listed here.