This project has been archived by its maintainers, and is no longer receiving any updates.
multilint
Unmaintained: I’m no longer maintaining this package because it’s for Python 2 compatibility and all other projects I’ve used it on are now Python 3 only. If you want to continue maintenance please contact me.
Run multiple python linters easily.
Installation and Usage
Install with pip:
python -m pip install multilint
Run with:
multilint
Python 3.5 to 3.8 supported.
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 check if these linters are installed, and if so, run them:
Black, to autoformat code
Flake8, to check code quality
Isort, in ‘diff’ mode to show where imports aren’t sorted
Modernize, in ‘diff’ mode to show where python 2/3 compatibility with six is missing
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:
[tool:multilint]
paths = my_package
tests
setup.py
You can also pass the paths as arguments to multilint, which will override the settings, like:
multilint path/my_file.py path/folder1
Note: previously multilint supported running setup.py check if you passed a setup.py file. This was removed as the command is deprecated. You should instead use twine check as per the python packaging documentation.
Usage With tox
I normally run my tests with tox. An example tox.ini to use multilint to run your tests on Python 3.5-3.8 and do your linting on Python 3.8 would look like:
[tox]
envlist =
py{35,36,37,38},
py38-codestyle
[testenv]
deps = -rrequirements.txt
commands = pytest
[testenv:py38-codestyle]
commands = multilint
Then just put multilint, plus the linters you want it to run (e.g. flake8) in your requirements.txt.
Release files for multilint 5.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| multilint-5.0.1.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| multilint-5.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.0 kB
Release files / multilint-5.0.1.tar.gz
| Download URL | multilint-5.0.1.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc9383f2cd21fc7ef434a5fc3be636f23ce3754369daf1d0c4e8cfea3b5d83d3
|
|
BLAKE2b-256 checksum How to use checksums |
bdbf608b81a6352e51fb5f289f7d653e9e5fb39755a820e239481a9d22b6cdf7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / multilint-5.0.1-py3-none-any.whl
| Download URL | multilint-5.0.1-py3-none-any.whl |
|---|---|
| Size | 5.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d964a14b91ed219a2635e71c557d7a026abc30169dc738b1ed99c3315671779
|
|
BLAKE2b-256 checksum How to use checksums |
5535803d2030ddb9428f4ddfcc29510b59dfaca1019c3c3ee8db51e19fc6bb88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|