It's not just a linter that annoys you!
Switch branches/tags
pylint-version-1.1.0 pylint-version-1.0.0 pylint-version-0.28.0 pylint-version-0.27.0 pylint-version-0.26.0 pylint-version-0.25.2 pylint-version-0.25.1 pylint-version-0.25.0 pylint-version-0.24.0 pylint-version-0.23.0 pylint-version-0.22.0 pylint-version-0.21.4 pylint-version-0.21.3 pylint-version-0.21.2 pylint-version-0.21.1 pylint-version-0.21.0 pylint-version-0.20.0 pylint-version-0.19.0 pylint-version-0.18.1 pylint-version-0_17_0 pylint-version-0_15_2 pylint-version-0_15_1 pylint-version-0_15_0 pylint-version-0_13_0 pylint-debian-version-1.1.0-1 pylint-debian-version-1.0.0-1 pylint-debian-version-0.28.0-1 pylint-debian-version-0.27.0-1 pylint-debian-version-0.26.0-1 pylint-debian-version-0.25.2-1 pylint-debian-version-0.25.1-1 pylint-debian-version-0.25.0-1 pylint-debian-version-0.24.0-1 pylint-debian-version-0.23.0-1 pylint-debian-version-0.22.0-1 pylint-debian-version-0.21.4-1 pylint-debian-version-0.21.3-1 pylint-debian-version-0.21.2-1 pylint-debian-version-0.21.1-1 pylint-debian-version-0.21.0-1 pylint-debian-version-0.20.0-1 pylint-debian-version-0.19.0-1 pylint-debian-version-0.18.1-1 pylint-debian-version-0_15_2-1 pylint-debian-version-0_15_1-1 pylint-debian-version-0_15_0-1 pylint-debian-version-0_13_0-1 pylint-2.1.1 pylint-2.1.0 pylint-2.0.1 pylint-2.0 pylint-2.0.dev1 pylint-1.9.2 pylint-1.9.1 pylint-1.9 pylint-1.8.4 pylint-1.8.3 pylint-1.8.2 pylint-1.8.1 pylint-1.8.0 pylint-1.7.6 pylint-1.7.5 pylint-1.7.4 pylint-1.7.3 pylint-1.7.2 pylint-1.7.1 pylint-1.7.0 pylint-1.6.5 pylint-1.6.4 pylint-1.6.3 pylint-1.6.2 pylint-1.6.1 pylint-1.6.0 pylint-1.5.6 pylint-1.5.5 pylint-1.5.4 pylint-1.5.3 pylint-1.5.2 pylint-1.5.1 pylint-1.5 pylint-1.4.5 pylint-1.4.4 pylint-1.4.3 pylint-1.4.2 pylint-1.4.1 pylint-1.4 pylint-1.3.1 pylint-1.3 pylint-1.2 before-astroid
Nothing to show
Clone or download
bengineer19 and PCManticore No enumerate check in __iter__ (#2505)
Don't suggest enumerate when defining `__iter__` and operating on the underlying class 

Closes #2477
Latest commit b9e361c Sep 22, 2018
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 Revert "Check if an updated typing version fixes readthedocs" Sep 19, 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 No enumerate check in __iter__ (#2505) Sep 22, 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 Add tox and travis black steps Sep 17, 2018
CONTRIBUTORS.txt No enumerate check in __iter__ (#2505) Sep 22, 2018
COPYING prepared new version Aug 10, 2006
ChangeLog No enumerate check in __iter__ (#2505) Sep 22, 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 New tagline! Many thanks to whomever said it, it came my way through … Sep 19, 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 Add tox and travis black steps Sep 17, 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 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.