Flake8-pyproject
Flake8 plug-in loading the configuration from pyproject.toml
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
permissive license (permissive) — MIT license (permissive) places no restrictions on use, modification, or distribution.
last release 2025-11-28 (259 days) · last repo commit 2026-07-20 · 245 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,733,852 downloads/mo, #2,914 on PyPI
Alternatives
Verify before relying
pip install flake8-pyproject
# Add [tool.flake8] section to pyproject.toml:
# [tool.flake8]
# ignore = ['E231', 'E241']
# max-line-length = 88
flake8 .- 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.
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 on it.
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
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 | permissive license permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesFlake8TOMLi |
| 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 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleFramework :: Flake8Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonTopic :: Software Development :: Quality Assurance |
Evidence: flake8_pyproject-1.2.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “unified python tool config”
- Flake8-pyprojectFlake8-pyproject enables Flake8 to read its configuration from…
- pytoolconfigPytoolconfig reads and manages configuration for Python tools from…
- pyproject-flake8Enables flake8 linting to read configuration from pyproject.toml by…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.
pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.
Install it if your test suite takes long enough that parallelization would save meaningful time.
Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.
Install it if you work with CloudFormation templates.
See also pyproject-flake8 · toml-cli · pysen · pyproject-parser · maison · flake8-requirements · sphinx-pyproject · pytest-env · pyproject-fmt · flake8-black