.. image:: https://readthedocs.org/projects/pylint/badge/?version=latest :target: https://pylint.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
.. image:: https://results.pre-commit.ci/badge/github/PyCQA/pylint/master.svg :target: https://results.pre-commit.ci/latest/github/PyCQA/pylint/master :alt: pre-commit.ci status
.. |tideliftlogo| image:: https://raw.githubusercontent.com/PyCQA/pylint/master/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White.png :width: 75 :height: 60 :alt: Tidelift
.. list-table:: :widths: 10 100
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.
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 [email protected] 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.
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 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_.
The documentation lives at https://pylint.pycqa.org/.
Pylint is shipped with following additional commands:
We use tox_ and pytest-benchmark_ for running the test suite. You should be able to install it with::
pip install tox pytest pytest-benchmark
To run the test suite for a particular Python version, you can do::
tox -e py37
To run individual tests with
tox, you can do::
tox -e py37 -- -k name_of_the_test
We use pytest_ for testing
pylint, which you can use without using
tox for a faster development cycle.
If you want to run tests on a specific portion of the code with pytest_, (pytest-cov_) and your local python version::
# ( pip install pytest-cov ) # Everything: python3 -m pytest tests/ # 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]"
Do not forget to clone astroid_ and install the last version::
git clone https://github.com/PyCQA/astroid.git # From source python3 astroid/setup.py build sdist pip3 install astroid/dist/astroid*.tar.gz # Using an editable installation cd astroid python3 -m pip install -e .
For more detailed information, check the documentation.
.. _here: https://pylint.pycqa.org/en/latest/user_guide/installation.html .. _tox: https://tox.readthedocs.io/en/latest/ .. _pytest: https://docs.pytest.org/en/latest/ .. _pytest-benchmark: https://pytest-benchmark.readthedocs.io/en/latest/index.html .. _pytest-cov: https://pypi.org/project/pytest-cov/ .. _astroid: https://github.com/PyCQA/astroid
pylint is, with a few exceptions listed below,
The icon files are licensed under the
CC BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0/>_ license: