# Install flake8 with Homebrew, apt, pacman

Lint your Python code for style and logical errors. Version 7.3.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:flake8
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install flake8
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install flake8
```

  Evidence: Debian stable package indexes: flake8 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- pacman (92%):

```sh
sudo pacman -S python-flake8
```

  Evidence: Arch Linux sync databases: python-flake8 from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:flake8
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/flake8>
- **Version:** 7.3.0
- **Source summary:** Lint your Python code for style and logical errors
- **Homepage:** <https://flake8.pycqa.org/>
- **Repository:** <https://github.com/PyCQA/flake8>
- **Upstream docs:** <https://flake8.pycqa.org/en/latest>
- **License:** MIT
- **Source archive:** <https://files.pythonhosted.org/packages/9b/af/fbfe3c4b5a657d79e5c47a2827a362f9e1b763336a52f926126aa6dc7123/flake8-7.3.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- flake8 (cli)
- flake8 (alias)

## Dependencies

- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 7.3.0
- Local data: ok
- Upstream repository: https://flake8.pycqa.org/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

flake8 is a Python style and quality checker that glues together pycodestyle, PyFlakes, McCabe complexity checks, and third-party plugins. Its official documentation presents it as a command-line tool for checking files or directories and as a configurable platform for Python linting policy.

### Project history

The recorded release history begins with the 0.x series; the 0.6 release in February 2010 fixed McCabe metric handling, and 1.0 followed in November 2011 with complexity-checking changes. The project later moved under PyCQA, whose official repository describes flake8 as a tool that combines pycodestyle, pyflakes, mccabe, and plugins.

The 3.0.0 release in July 2016 was a major internal and documentation rewrite. Its notes say the project removed dependence on pep8/pycodestyle for file processing and plugin dispatch while keeping compatibility, added formatter entry points, improved plugin option registration, changed hook installation behavior, and rewrote documentation at flake8.pycqa.org.

### Adoption history

flake8 became popular because it packaged several Python code-quality checks behind one command and one set of configuration files. The official plugin guide explicitly attributes much of its popularity to extensibility and notes that community plugins are typically distributed on PyPI.

In day-to-day Python packaging, flake8 is commonly installed into the same Python environment that should parse the target code. The docs warn that Flake8 is tied to the Python version on which it runs, because it must understand that version's syntax.

### How it is used

The basic workflow is `flake8 path/to/code.py` or `flake8 path/to/code/`, optionally with selection and ignore flags for specific error codes. The user guide documents project configuration in `setup.cfg`, `tox.ini`, or `.flake8`, all using a `[flake8]` INI section.

Plugins extend checks and formatters. After installation, most plugins immediately start reporting their own codes, and some register additional command-line or configuration options.

### Why package nerds care

flake8 matters to package nerds because it became the small, composable linting facade for a large slice of Python packaging: pycodestyle contributes E/W codes, PyFlakes contributes F codes, McCabe contributes C codes, and plugins add their own namespaces.

Its configuration-file search and plugin entry-point model made it easy for projects, tox environments, pre-commit hooks, and distribution packages to agree on one executable while still carrying local policy.

### Timeline

- 2010: 0.6 release recorded in official release notes.
- 2011: 1.0 release changes default complexity-checking behavior.
- 2016: 3.0.0 rewrites documentation, file processing, plugin dispatch, and formatter extension points.
- 2020s: 7.x release series appears in the official release history.

### Related projects

- pycodestyle supplies PEP 8 style checks and E/W error-code classes.
- PyFlakes supplies lint checks such as unused imports and F error codes.
- McCabe supplies complexity checks and C error codes.
- Third-party flake8 plugins distributed through PyPI add checks and formatters.

### Sources

- <https://flake8.pycqa.org/en/latest>
- <https://flake8.pycqa.org/en/latest/release-notes/index.html>
- <https://flake8.pycqa.org/en/latest/user/configuration.html>
- <https://flake8.pycqa.org/en/latest/user/using-plugins.html>
- <https://github.com/PyCQA/flake8>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: setup.cfg, tox.ini, .flake8
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** flake8
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - flake8 - 7.1.1-3: normalized package name match | Debian stable package indexes: flake8 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | code checker using pycodestyle and pyflakes | https://github.com/pycqa/flake8
- Ubuntu apt - flake8 - 7.0.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: flake8 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | code checker using pycodestyle and pyflakes | https://github.com/pycqa/flake8
- pacman - python-flake8 - 1:7.3.0-2: normalized package name match | Arch Linux sync databases: python-flake8 from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | The modular source code checker: pep8, pyflakes and co | https://flake8.pycqa.org


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [flake](https://www.automicvault.com/pkg/brew/flake/) - Package name indicates the same formula family.
- [vermin](https://www.automicvault.com/pkg/brew/vermin/) - Shares av.db curated category or tags: cli, developer-tools, linting, python, static-analysis.
- [actionlint](https://www.automicvault.com/pkg/brew/actionlint/) - Shares av.db curated category or tags: cli, developer-tools, linting, static-analysis.
- [checkmake](https://www.automicvault.com/pkg/brew/checkmake/) - Shares av.db curated category or tags: cli, developer-tools, linting, static-analysis.
- [codespell](https://www.automicvault.com/pkg/brew/codespell/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linting.
- [cpplint](https://www.automicvault.com/pkg/brew/cpplint/) - Shares av.db curated category or tags: cli, developer-tools, linting, python.
- [golangci-lint](https://www.automicvault.com/pkg/brew/golangci-lint/) - Shares av.db curated category or tags: cli, developer-tools, linting, static-analysis.
- [hadolint](https://www.automicvault.com/pkg/brew/hadolint/) - Shares av.db curated category or tags: cli, developer-tools, linting, static-analysis.
- [htmlhint](https://www.automicvault.com/pkg/brew/htmlhint/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linting, static-analysis.
- [vulture](https://www.automicvault.com/pkg/brew/vulture/) - Both packages touch the same language runtime or ecosystem. Shared terms: analysis, cli, code, code-quality, developer.
- [cmake-lint](https://www.automicvault.com/pkg/brew/cmake-lint/) - Both packages touch the same language runtime or ecosystem. Shared terms: analysis, cli, code, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/flake8.yml](https://github.com/automic-vault/db/blob/main/combined/flake8.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
