Skip to main content

Run multiple python linters easily

Project description

multilint

https://img.shields.io/pypi/v/multilint.svg https://img.shields.io/travis/adamchainz/multilint.svg

Run multiple python linters easily.

Installation and Usage

Install with pip:

pip install multilint

Run with:

multilint

How it works

I like to keep my projects tidy with a standard set of linters. Running them all turned out to be easier with a wrapper script, which I ended up copy-pasting between them all. This project stops me needing to copy/paste, centralizing running all these neat tools.

In order, it will is these linters are installed, and if so, run them:

  • Run flake8, for code quality

  • Run isort in ‘diff’ mode, for import sorting

  • Run modernize in ‘diff’ mode, for python 2/3 compatibility

  • Run python setup.py check, to ensure that your setup.py is well configured. This will require docutils, and maybe Pygments if your long_description uses any code highlighting.

If any of them fail, multilint stops and dies with a non-zero exit code. Otherwise it succeeds!

You need to configure the paths that will be linted (by default, only setup.py is linted). Put a section in your setup.cfg like:

[multilint]
paths = my_package
        tests
        setup.py

Usage with tox

I normally run my tests with tox. An example tox.ini to use multilint to do all your linting would be:

[tox]
envlist =
    py{27,35},
    py{27,35}-codestyle

[testenv]
deps = -rrequirements.txt
commands = py.test

[testenv:py27-codestyle]
commands = multilint

[testenv:py35-codestyle]
commands = multilint

Just put multilint, flake8, etc. in your requirements.txt and they’ll automatically run.

History

1.0.0 (2016-06-18)

  • First release on PyPI.

Project details


Download files

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

Source Distribution

multilint-1.0.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

multilint-1.0.0-py2.py3-none-any.whl (5.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file multilint-1.0.0.tar.gz.

File metadata

  • Download URL: multilint-1.0.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for multilint-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8e8a1089b2f07dd04e0ea57393839b59656e70b86d654b40874f4aef7d5b717e
MD5 6792d28c0e0fcd54eac9642237e01be9
BLAKE2b-256 294911d85bedd95a30ea739065b514c3a9803408936931e588f4b8d8c524d329

See more details on using hashes here.

File details

Details for the file multilint-1.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for multilint-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e23ef7998793744be3688c078cb7d7c4992b681e1dc80efcb0831a01a82ec851
MD5 95f86eeec1a7507c9b3e824aec8706bc
BLAKE2b-256 68cfa0363d6672c7ee0422d5f515e8f514fc30e5c2f955535745b9b4c4b558c9

See more details on using hashes here.

Supported by

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