Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Linters
  3. Flake8

Flake8

What it is

Flake8 is a free command-line tool for checking Python code style and quality on Linux. It combines pycodestyle, pyflakes and McCabe checks, with support for third-party plugins. Run it from the command line to see warnings in merged output organized by file. Project settings can be kept in INI format in setup.cfg, tox.ini or .flake8, and users can select or ignore error codes, including per-file ignores. The built-in checkers install by default; community plugins, most of which are uploaded to PyPI, can extend the checks. Local check and reporting plugins can be configured in a separate flake8:local-plugins section. Flake8 can be used as a pre-commit hook, and its README lists Git and Mercurial hooks. Installation uses pip for the Python version you intend to use. The project provides guidance for users and plugin developers. Third-party plugin accuracy and reliability may vary, and compatibility with Flake8 3.0 is not guaranteed.

For and against

For

  • Free Python command-line checker
  • Configurable error codes and per-file ignores
  • Supports community and local plugins
  • Can run as a pre-commit hook
  • Provides CI support

Against

  • No autofix feature
  • No IDE support
  • No security rules
  • Third-party plugin reliability may vary

The verdict

Flake8 offers configurable Python checks and plugin support in a free command-line tool. Its lack of autofix and IDE support, along with variable third-party plugin reliability, are factors to weigh.

Who it suits

Flake8 suits Python developers who want command-line style and quality checks, configurable error selection, or plugin extensions. It also provides guidance for people building or maintaining plugins.

Plans and prices

Flake8

Free

MIT-licensed Python package · requires Python >=3.10

Every plan, in full

On the record

Built-in checks
Flake8 installs pycodestyle, pyflakes, and mccabe by default.flake8.pycqa.org · read 7 Oct 2026
Complexity analysis
McCabe checks are enabled through the C90 family and require the max-complexity option to report complexity violations.flake8.pycqa.org · read 15 Oct 2026
Configurable checks
Users can select or ignore error codes and configure per-file ignores.flake8.pycqa.org · read 7 Oct 2026
Configuration
Project configuration can be stored in setup.cfg, tox.ini, or .flake8 using INI format.flake8.pycqa.org · read 7 Oct 2026
Configuration files
The documented project configuration locations are setup.cfg, tox.ini and .flake8, using an INI [flake8] section.flake8.pycqa.org · read 15 Oct 2026
Configuration precedence
Command-line options override project configuration, which overrides defaults.flake8.pycqa.org · read 15 Oct 2026
Core checks
The default violation groups cover McCabe complexity (C90), pycodestyle errors (E), pyflakes errors (F) and pycodestyle warnings (W).flake8.pycqa.org · read 15 Oct 2026
Extensibility
Flake8 supports community plugins, most of which are uploaded to PyPI, and provides guidance for plugin developers.flake8.pycqa.org · read 7 Oct 2026
File suppression
Entire files can be skipped with an exclude configuration or a # flake8: noqa header.flake8.pycqa.org · read 15 Oct 2026
GitHub activity
The public repository showed about 3.8k stars, 362 forks and 2,544 commits when opened.github.com · read 15 Oct 2026
Homebrew distribution
Homebrew offers flake8 through brew install flake8, lists MIT licensing and version 7.4.1, and depends on [email protected].formulae.brew.sh · read 15 Oct 2026
How it runs
Flake8 runs from the command line and displays warnings in merged per-file output.github.com · read 7 Oct 2026
Inline suppression
A line can suppress selected diagnostics with a case-insensitive # noqa comment and one or more error codes.flake8.pycqa.org · read 15 Oct 2026
Installation
The official quickstart installs Flake8 with python -m pip install flake8 and recommends invoking the interpreter-specific module when multiple Python versions are installed.flake8.pycqa.org · read 15 Oct 2026
Interpreter coupling
The documentation says Flake8 must run under the Python version whose syntax it needs to parse, so installing it for one interpreter does not install it for another.flake8.pycqa.org · read 15 Oct 2026
Latest release
PyPI lists version 7.4.1 uploaded on September 23, 2026.pypi.org · read 15 Oct 2026
Licence
PyPI identifies Flake8 as MIT licensed.pypi.org · read 15 Oct 2026
Limit: analysis scope
A Reddit comparison noted that Flake8's ecosystem cannot perform some cross-file and type-inference checks, such as detecting a function called with the wrong number of arguments.reddit.com · read 15 Oct 2026

Alternatives to Flake8

Every alternative, ranked