Flake8 plugin to enforce the same lint configuration (flake8, isort, mypy, pylint) across multiple Python projects
Project description
Nitpick
Flake8 plugin to enforce the same tool configuration (flake8, isort, mypy, Pylint...) across multiple Python projects.
Useful if you maintain multiple projects and want to use the same configs in all of them.
Style file
A "nitpick code style" is a TOML file with the settings that should be present in config files from other tools.
Example of a style:
["pyproject.toml".tool.black]
line-length = 120
["pyproject.toml".tool.poetry.dev-dependencies]
pylint = "*"
["setup.cfg".flake8]
ignore = "D107,D202,D203,D401"
max-line-length = 120
inline-quotes = "double"
["setup.cfg".isort]
line_length = 120
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
combine_as_imports = true
This style will assert that:
- ... black, isort and flake8 have a line length of 120;
- ... flake8 and isort are configured as above in
setup.cfg
; - ... Pylint is present as a Poetry dev dependency in
pyproject.toml
).
Quick setup
To try the package, simply install it (in a virtualenv or globally, wherever) and run flake8
:
$ pip install -U nitpick
$ flake8
Nitpick will download and use the opinionated default style file.
You can use it as a template to configure your own style.
Run as a pre-commit hook (recommended)
If you use pre-commit on your project (you should), add this to the .pre-commit-config.yaml
in your repository:
repos:
- repo: https://github.com/andreoliwa/nitpick
rev: v0.21.1
hooks:
- id: nitpick
For more details on styles and which configuration files are currently supported, see the full documentation.
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.