Skip to main content

python code static checker

Project description

https://github.com/PyCQA/pylint/actions/workflows/tests.yaml/badge.svg?branch=main https://coveralls.io/repos/github/PyCQA/pylint/badge.svg?branch=main Pypi Package version Documentation Status https://img.shields.io/badge/code%20style-black-000000.svg pre-commit.ci status

Tidelift

Professional support for pylint is available as part of the Tidelift Subscription. Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional grade assurances from the experts who know it best, while seamlessly integrating with existing tools.

Pylint

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 unless otherwise specified.

Development is hosted on GitHub: https://github.com/PyCQA/pylint/

You can use the code-quality@python.org mailing list to discuss about Pylint. Subscribe at https://mail.python.org/mailman/listinfo/code-quality/ or read the archives at https://mail.python.org/pipermail/code-quality/

Pull requests are amazing and most welcome.

Install

Pylint can be simply installed by running:

pip install pylint

If you are using Python 3.7.2+, 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 setup.py 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.

Documentation

The documentation lives at https://pylint.pycqa.org/.

Pylint is shipped with following additional commands:

  • pyreverse: an UML diagram generator

  • symilar: an independent similarities checker

  • epylint: Emacs and Flymake compatible Pylint

Testing

You should be able to install our tests dependencies with:

pip install -r requirements_test.txt

You can then use pytest directly. If you want to run tests on a specific portion of the code with pytest and your local python version:

# ( pip install pytest-cov )
python3 -m pytest
# Everything in tests/message with coverage for the relevant code:
python3 -m pytest tests/message/ --cov=pylint.message
coverage html
# Only the functional test "missing_kwoa_py3":
python3 -m pytest "tests/test_functional.py::test_functional[missing_kwoa_py3]"

You can also optionally install tox. To run the test suite for a particular Python version, with tox you can do:

tox -e py39

To run individual tests with tox, you can do:

tox -e py37 -- -k name_of_the_test

If you’re testing new changes in astroid you need to clone astroid and install with an editable installation as follows:

git clone https://github.com/PyCQA/astroid.git
cd astroid
python3 -m pip install -e .

Show your usage

You can place this badge in your README to let others know your project uses pylint.

https://img.shields.io/badge/linting-pylint-yellowgreen

Use the badge in your project’s README.md (or any other Markdown file):

[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/PyCQA/pylint)

Use the badge in your project’s README.rst (or any other rst file):

.. image:: https://img.shields.io/badge/linting-pylint-yellowgreen
    :target: https://github.com/PyCQA/pylint

If you use GitHub Actions, and one of your CI workflows begins with “name: pylint”, you can use GitHub’s workflow status badges to show an up-to-date indication of whether pushes to your default branch pass pylint. For more detailed information, check the documentation.

License

pylint is, with a few exceptions listed below, GPLv2.

The icon files are licensed under the CC BY-SA 4.0 license:

Release history Release notifications | RSS feed

Download files

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

Source Distribution

pylint-2.14.0b1.tar.gz (384.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylint-2.14.0b1-py3-none-any.whl (476.1 kB view details)

Uploaded Python 3

File details

Details for the file pylint-2.14.0b1.tar.gz.

File metadata

  • Download URL: pylint-2.14.0b1.tar.gz
  • Upload date:
  • Size: 384.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for pylint-2.14.0b1.tar.gz
Algorithm Hash digest
SHA256 aaec437c0cd44c9b2674c8b3ebe87290f2252d4bd0939b4fbf748c4866eb9823
MD5 4be4f5acefee3e1eb8cd19ebe5f41417
BLAKE2b-256 f9738aaa9c5eaa55a3619e8d075649b76d55e5d3dd107c9fba37f7a30f63f673

See more details on using hashes here.

File details

Details for the file pylint-2.14.0b1-py3-none-any.whl.

File metadata

  • Download URL: pylint-2.14.0b1-py3-none-any.whl
  • Upload date:
  • Size: 476.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for pylint-2.14.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 d21012da3129cd4cd050039245923654859860ca829fe8a67ff9d693ccb8283e
MD5 194f4e6366f2e8a97b2a0b70da1d986a
BLAKE2b-256 1d0e13235d9d3199eabf28c368c6f41e998d0406e2ba3550947ab3ab9df8fe84

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page