It's not just a linter that annoys you!
Switch branches/tags
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update Aug 22, 2018
appveyor Added support for AppVeroy for CI on Windows Sep 22, 2014
bin Remove pylint-gui Jul 3, 2016
debian.sid Remove pylint-gui Jul 3, 2016
debian Spelling fixes Jan 30, 2018
doc Fix docs to work with astroide>2.x (#2646) Dec 14, 2018
elisp Spelling fixes (#1397) Apr 2, 2017
examples Grammar fixes to docs (#2492) Sep 15, 2018
man Removed double space from man page Aug 8, 2018
pylint Make ``compare-to-zero`` less zealous by checking against equality an… Dec 14, 2018
.copyrite_aliases Add my copyrite alias (#2348) Jul 26, 2018
.coveragerc [ADD] coverage: Enable coveralls and coverage report (#873) Apr 26, 2016
.gitignore add mypy_cache in gitignore Jul 17, 2018
.pre-commit-config.yaml Exclude the relevant directories from black Sep 18, 2018
.travis.yml Separate pyenchant into a separate step Sep 29, 2018
CONTRIBUTORS.txt Fix docs to work with astroide>2.x (#2646) Dec 14, 2018
COPYING prepared new version Aug 10, 2006
ChangeLog Make ``compare-to-zero`` less zealous by checking against equality an… Dec 14, 2018
DEPENDS Prepare 1.4.3 release. Mar 14, 2015 Add pytest.ini to MANIFEST Sep 20, 2018
Makefile Remove obsolete clobber command Aug 21, 2018
README.rst Update README.rst (#2580) Nov 6, 2018
appveyor.yml Remove 2.7 from appveyor Jan 25, 2018
pylintrc Reformat the code with black Sep 17, 2018
pytest.ini acceptance tests, not run by default (#1360) Jul 31, 2017
setup.cfg Drop the universal flag, we're only running on Python 3. Close #592 Jul 13, 2018 Update copyright notices Jul 15, 2018
tox.ini Separate pyenchant into a separate step Sep 29, 2018


README for Pylint - AppVeyor Build Status Pypi Package version Documentation Status


It's not just a linter that annoys you!

Pylint is a Python static code analysis tool which looks for programming errors, helps enforcing a coding standard, sniffs for code smells and offers simple refactoring suggestions.

It's highly configurable, having special pragmas to control its errors and warnings from within your code, as well as from an extensive configuration file. It is also possible to write your own plugins for adding your own checks or for extending pylint in one way or another.

It's a free software distributed under the GNU General Public Licence.

Development is hosted on GitHub:

You can use the mailing list to discuss about Pylint. Subscribe at or read the archives at

Pull requests are amazing and most welcome.


Pylint can be simply installed by running:

pip install pylint

If you are using Python 3.6+, upgrade to get full support for your version:

pip install pylint --upgrade

If you want to install from a source distribution, extract the tarball and run the following command

python install

Do make sure to do the same for astroid, which is used internally by pylint.

For debian and rpm packages, use your usual tools according to your Linux distribution.

More information about installation and available distribution format can be found here.


The documentation lives at

Pylint is shipped with following additional commands:

  • pyreverse: an UML diagram generator
  • symilar: an independent similarities checker
  • epylint: Emacs and Flymake compatible Pylint


We use tox for running the test suite. You should be able to install it with:

pip install tox pytest

To run the test suite for a particular Python version, you can do:

tox -e py27

For more detailed information, check the documentation.