skillfed

pyproject-flake8

pyproject-flake8 (`pflake8`), a monkey patching wrapper to connect flake8 with pyproject.toml configuration

pyproject-flake8 v7.0.0 338.1K downloads/30d#7,438 on PyPI176
License unclear DORMANT released

What it is and what it does

pyproject-flake8 is a wrapper script that monkey patches flake8 to read its configuration from the [tool.flake8] section of pyproject.toml instead of requiring a separate .flake8 or setup.cfg file. You invoke it via the pflake8 command rather than flake8, and it handles the redirection transparently. The package depends on flake8 itself and tomli for TOML parsing.

The project explicitly versions itself to track flake8 releases—release versions pin identical flake8 versions, while alpha versions pin to a minimum compatible flake8 version. This dual approach lets you choose between stability (fixed version) and flexibility (minimum version with risk of breakage). The maintainer acknowledges that monkey patching carries inherent fragility and may break if Python or flake8 restructure their internals.

Use it for:

  • Consolidate linter config into pyproject.toml alongside other tool settings, reducing .flake8 and setup.cfg clutter.
  • Use flake8 in projects that have standardized on pyproject.toml for all tool configuration.
  • Maintain a single source of truth for linting rules across a monorepo or multi-project setup.
  • Migrate from separate flake8 config files to a unified pyproject.toml without rewriting linting rules.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Enables flake8 linting to read configuration from pyproject.toml by wrapping flake8 with monkey patches that redirect its config parsing.

Yes, if you need flake8 to read pyproject.toml and accept the trade-offs. The install is low-friction and the package has no known vulnerabilities. However, dormant maintenance (857 days since last release) means no active support for future flake8 or Python changes, and the monkey-patching approach is inherently fragile. Verify the license terms before use. Best suited for stable, mature projects where flake8 compatibility is unlikely to shift rapidly.

Install

pyproject-flake8 on PyPI

pip

pip install pyproject-flake8

uv

uv add pyproject-flake8

poetry

poetry add pyproject-flake8

Installing pyproject-flake8

Before you install

Low friction install with only two runtime dependencies (tomli and flake8). Maintenance is dormant—last release was 857 days ago—so expect no active bug fixes or flake8 compatibility updates going forward.

License in practice

License status is unclear; the package declares no SPDX identifier or raw license text in its metadata, though the repository mentions Unlicense. Verify the actual license terms before use in proprietary or restricted-license projects.

Quickstart

pip install pyproject-flake8

# In pyproject.toml:
# [tool.flake8]
# max-line-length = 88

# Then run:
pflake8 .

Requires Python >=3.8.1. Monkey patches flake8 and configparser; may break if flake8 or Python internals change significantly.

Verify before relying

  • Actual license terms (Unlicense vs. other) and any restrictions on commercial use.
  • Compatibility with flake8 versions beyond those explicitly tested in recent releases.
  • Whether dormant status means the project is stable or abandoned.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.8.1)
Install friction low — pure-Python wheel
Runtime dependencies 2 — tomli, flake8
Maintenance dormant — 857 days since the last release
Last repo commit
First released
Downloads 338,095/month — #7,438 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyproject_flake8-7.0.0-py3-none-any.whl

Tags

flake8 pyproject.toml configpflake8 linterflake8 configuration wrapperpyproject.toml lintingflake8 unified configlinter pyproject support
lintingconfigurationflake8

More Quality Assurance packages