Run multiple python linters easily
Project description
multilint
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
Pending
New notes here
1.0.2 (2016-07-26)
Work with flake8 3.0+ which changed the way its main function worked.
1.0.1 (2016-07-16)
Fix modernize running on Python 2.
Run isort in the same Python process rather than with subprocess
Properly gate flake8 and isort so that they run only if they are installed.
1.0.0 (2016-06-19)
First release on PyPI.
Project details
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
Built Distribution
File details
Details for the file multilint-1.0.2.tar.gz
.
File metadata
- Download URL: multilint-1.0.2.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cf96ff4960e9b1136eac091d49f4007b08038d1422bce2c5cf9bf9d22d48734 |
|
MD5 | e0a247cbdc15d61146bdfe1e93183eb6 |
|
BLAKE2b-256 | 958cf835138df72f7989f584460fd0c2b1ee81a099695609f471551b68a3eacc |
File details
Details for the file multilint-1.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: multilint-1.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dea1a9a1315ff9026d25e77340b3c5e1946006f49e863d96d1862061018a07d5 |
|
MD5 | 4e79ec012840cbf01dab36a217857642 |
|
BLAKE2b-256 | 726b4ae0af7037cfa34364349f5d2e8ef02b9972628d3ff4857ac2bd26418544 |