Flake8-pyproject
Flake8 plug-in loading the configuration from pyproject.toml
What it is and what it does
Flake8-pyproject is a Flake8 plugin that solves a long-standing gap: Flake8 has resisted native pyproject.toml support despite most Python dev tools adopting it as the standard configuration location. This plugin registers itself with Flake8 to automatically load configuration from a [tool.flake8] section in pyproject.toml, allowing you to consolidate your project's tool configuration in one place.
The plugin works by converting your existing Flake8 configuration (whether from .flake8, setup.cfg, or tox.ini) into TOML format and placing it under [tool.flake8] in pyproject.toml. When you run flake8, the plugin intercepts the startup and loads that configuration transparently. It also provides a flake8p command as a fallback for compatibility or reliability reasons.
Use it for:
- Consolidate all Python tool configuration (pytest, black, isort, flake8) into a single pyproject.toml file.
- Migrate from setup.cfg or .flake8 to a modern, unified project configuration structure.
- Simplify project setup for teams that expect all linting config in pyproject.toml.
- Avoid maintaining multiple configuration files when pyproject.toml is already the standard in your codebase.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Flake8-pyproject enables Flake8 to read its configuration from pyproject.toml instead of requiring separate .flake8, setup.cfg, or tox.ini files.
Yes. If you want Flake8 configuration in pyproject.toml, this is the only practical way to get it. Low install friction, active maintenance, no vulnerabilities, and permissive licensing make it a straightforward addition. Install it if your project has already standardized on pyproject.toml for other tools.
Install
flake8-pyproject on PyPI
pip
pip install flake8-pyprojectuv
uv add flake8-pyprojectpoetry
poetry add flake8-pyprojectInstalling Flake8-pyproject
Before you install
Low friction: pure Python wheel with only two runtime dependencies (Flake8 and TOMLi). Active maintenance with a recent release (2025-11-28) and no known vulnerabilities.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution.
Quickstart
pip install flake8-pyproject
# Add [tool.flake8] section to pyproject.toml:
# [tool.flake8]
# ignore = ['E231', 'E241']
# max-line-length = 88
flake8 .
Verify before relying
- Whether the plugin works reliably with all Flake8 versions or if there are known incompatibilities.
- Performance impact when loading configuration from pyproject.toml versus traditional config files.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — Flake8, TOMLi |
| Maintenance | actively maintained — 259 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,733,852/month — #2,914 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: flake8_pyproject-1.2.4-py3-none-any.whl
Keywords: Flake8, pyproject.toml
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
pyproject-flake8Enables flake8 linting to read configuration…
unclear · top 15,000 on PyPI
toml-cliCommand-line tool for reading, writing, and…
permissive · top 15,000 on PyPI
pysenOrchestrates multiple Python linters (black,…
permissive · top 5,000 on PyPI
pyproject-parserParses and extracts metadata from…
permissive · top 15,000 on PyPI
maisonMaison reads configuration settings from files…
permissive · top 5,000 on PyPI
flake8-requirementsA flake8 plugin that validates whether imported…
permissive · top 15,000 on PyPI
sphinx-pyprojectLoads Sphinx documentation configuration from…
permissive · top 15,000 on PyPI
pytest-envA pytest plugin that loads environment…
permissive · top 1,000 on PyPI
pyproject-fmtFormats pyproject.toml files with consistent,…
permissive · top 5,000 on PyPI
flake8-blackA flake8 plugin that runs black's code style…
permissive · top 15,000 on PyPI