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.
Metadata
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 | Provenance | |
|---|---|---|---|---|
| multilint-5.0.1.tar.gz | 7.3 kB | Without provenance | 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
|
Security for multilint 5.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.