A small wrapper around flake8 to support PEP518 pyproject.toml as configuration file.
Project description
Flake518
A small wrapper around the famous flake8 tool empowering it to read
the configuration not from setup.cfg
, tox.ini
or .flake8
, but from the PEP518
compliant pyproject.toml
.
In contrast to flake9 it is not a fork of flake8. It uses flake8 under the hood and transforms the relevant configuration to a flake8 configuration file. This way, the ongoing implementation of flake8 can be used.
Rationale
The usage of pyproject.toml
is though highly anticipated by some community members, but currently rejected by the maintainers for an undisclosed reason. Flake9 already uses the pyproject.toml
file, but does not incorporate later changes.
Since flake8 allows to pass additional configuration files, a temporary configuration file is created. This way, the latest flake8 revision is used, but it can be configured using pyproject.toml
.
Configuration
According to PEP518, each tool may add a tool-specific table to the project configuration.
[tool.flake8]
statistics=True
show-source=True
max-line-length=79
doctests=True
exclude=[".git", "__pypackages__", ".vscode", ".mypy_cache"]
For compliance reason, the [tool.flake518]
can be used as well.
Usage with the pre-commit
git hooks framework
flake518
can be included as a hook for pre-commit
.
The easiest way to get started is to add this configuration to your .pre-commit-config.yaml
:
- repo: https://github.com/carstencodes/flake518
rev: '' # pick a git hash / tag to point to
hooks:
- id: flake518
See the pre-commit
for how to customize this configuration.
License
Like flake8, this project is licensed under the MIT license.
Contributions
Contributions welcome, feel free to submit issues and pull requests on github. Contact me, if you are using gitlab or codeberg.
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.