flake8
the modular source code checker: pep8 pyflakes and co
Install
flake8 on PyPI
pip
pip install flake8uv
uv add flake8poetry
poetry add flake8Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — mccabe, pycodestyle, pyflakes |
| Maintenance | actively maintained — 419 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: flake8-7.3.0-py2.py3-none-any.whl
About flake8
from the package's own PyPI description — quoted content, verbatim
.. image:: https://github.com/PyCQA/flake8/workflows/main/badge.svg :target: https://github.com/PyCQA/flake8/actions?query=workflow%3Amain :alt: build status
.. image:: https://results.pre-commit.ci/badge/github/PyCQA/flake8/main.svg :target: https://results.pre-commit.ci/latest/github/PyCQA/flake8/main :alt: pre-commit.ci status
.. image:: https://img.shields.io/discord/825463413634891776.svg :target: https://discord.gg/qYxpadCgkx :alt: Discord
======== Flake8 ========
Flake8 is a wrapper around these tools:
- PyFlakes
- pycodestyle
- Ned Batchelder's McCabe script
Flake8 runs all the tools by launching the single flake8 command.
It displays the warnings in a per-file, merged output.
It also adds a few features:
-
files that contain this line are skipped::
flake8: noqa
-
lines that contain a
# noqacomment at the end will not issue warnings. - you can ignore specific errors on a line with
# noqa: <error>, e.g.,# noqa: E234. Multiple codes can be given, separated by comma. Thenoqatoken is case insensitive, the colon before the list of codes is required otherwise the part afternoqais ignored - Git and Mercurial...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Flake8 is a Python code linter that combines PyFlakes, pycodestyle, and McCabe complexity checking into a single command-line tool, displaying style violations and potential errors in a unified output.
Low install friction with a pure-Python wheel distribution and only three lightweight runtime dependencies (mccabe, pycodestyle, pyflakes). Actively maintained with recent releases and strong community engagement.
MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations.
Usage
pip install flake8
flake8 myfile.py
Requires Python 3.9 or later.
Verdict: Flake8 is a stable, widely-adopted linting tool with active maintenance, no known vulnerabilities, permissive licensing, and minimal dependencies. It integrates seamlessly into development workflows and CI/CD pipelines with low friction.
Needs verification
- Whether pre-commit integration is actively maintained and documented.
- Performance characteristics on large codebases compared to alternative linters.
Similar packages
permissive · top 1,000 on PyPI
mccabepermissive · top 1,000 on PyPI
pycodestylepermissive · top 1,000 on PyPI
pyflakespermissive · top 1,000 on PyPI
banditpermissive · top 1,000 on PyPI
matplotlibpermissive · top 1,000 on PyPI
yamllintcopyleft · top 1,000 on PyPI
ruffpermissive · top 1,000 on PyPI
numpypermissive · top 100 on PyPI
pre-commitpermissive · top 1,000 on PyPI