Skip to main content

python code static checker

Project description

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 silent 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.

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

Development is hosted on bitbucket: https://bitbucket.org/logilab/pylint/ .

You can use the python-projects@logilab.org mailing list to discuss about Pylint. Subscribe at http://lists.logilab.org/mailman/listinfo/python-projects or read the archives at http://lists.logilab.org/pipermail/python-projects/

Install

Pylint requires the astng (the later the better) and logilab-common (version >= 0.53) packages.

From the source distribution, extract the tarball and run

python setup.py install

You’ll have to install dependencies in a similar way. For debian and rpm packages, use your usual tools according to your Linux distribution.

More information about installation and available distribution format may be found in the user manual in the doc subdirectory.

Documentation

Look in the doc/ subdirectory or at http://docs.pylint.org

Pylint is shipped with following additional commands:

  • pyreverse: an UML diagram generator
  • symilar: an independent similarities checker
  • epylint: Emacs and Flymake compatible Pylint
  • pylint-gui: a graphical interface

Contributors

order doesn’t matter…

  • Sylvain Thenault: main author / maintainer
  • Alexandre Fayolle: TkInter gui, documentation, debian support
  • Emile Anclin: used to maintain, py3k support
  • Mads Kiilerich: various patches
  • Torsten Marek, various patches
  • Boris Feld, various patches
  • Brian van den Broek: windows installation documentation
  • Amaury Forgeot d’Arc: patch to check names imported from a module exists in the module
  • Benjamin Niemann: patch to allow block level enabling/disabling of messages
  • Nathaniel Manista: suspicious lambda checking
  • Wolfgang Grafen, Axel Muller, Fabio Zadrozny, Pierre Rouleau, Maarten ter Huurne, Mirko Friedenhagen (among others): bug reports, feedback, feature requests…
  • Martin Pool (Google): warnings for anomalous backslashes, symbolic names for messages (like ‘unused’)
  • All the Logilab’s team: daily use, bug reports, feature requests
  • Other people have contributed by their feedback, if I’ve forgotten you, send me a note !

Project details


Release history Release notifications

History Node

2.0.0

History Node

2.0.0.dev2

History Node

2.0.0.dev1

History Node

2.0.0.dev0

History Node

1.9.2

History Node

1.9.1

History Node

1.9.0

History Node

1.8.4

History Node

1.8.3

History Node

1.8.2

History Node

1.8.1

History Node

1.8.0

History Node

1.7.6

History Node

1.7.5

History Node

1.7.4

History Node

1.7.3

History Node

1.7.2

History Node

1.7.1

History Node

1.7.0

History Node

1.6.5

History Node

1.6.4

History Node

1.6.3

History Node

1.6.2

History Node

1.6.1

History Node

1.6.0

History Node

1.5.6

History Node

1.5.5

History Node

1.5.4

History Node

1.5.3

History Node

1.5.2

History Node

1.5.1

History Node

1.5.0

History Node

1.4.5

History Node

1.4.4

History Node

1.4.3

History Node

1.4.2

History Node

1.4.1

History Node

1.4.0

History Node

1.3.1

History Node

1.3.0

History Node

1.2.1

History Node

1.2.0

History Node

1.1.0

History Node

1.0.0

This version
History Node

0.28.0

History Node

0.27.0

History Node

0.26.0

History Node

0.25.2

History Node

0.25.1

History Node

0.25.0

History Node

0.24.0

History Node

0.23.0

History Node

0.22.0

History Node

0.21.3

History Node

0.21.2

History Node

0.21.1

History Node

0.21.0

History Node

0.20.0

History Node

0.19.0

History Node

0.18.1

History Node

0.18.0

History Node

0.16.0

History Node

0.15.2

History Node

0.14.0

History Node

0.13.0

History Node

0.12.1

History Node

0.11.0

History Node

0.10.0

History Node

0.8.1

History Node

0.7.0

History Node

0.6.1

History Node

0.6.0

History Node

0.4.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pylint-0.28.0.tar.gz (198.9 kB) Copy SHA256 hash SHA256 Source None Apr 25, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page