flake8-builtins
Check for python builtins being used as variables or parameters
Decision gist · record as of 2026-08-14
Yes, if you use flake8 and want to prevent a class of subtle bugs. The plugin is lightweight, has no external dependencies beyond flake8, and catches real mistakes that can break code at runtime. Maintenance is aging but the package is stable and widely used (nearly 1 million monthly downloads). No known security vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installs with minimal friction—a pure Python wheel with only flake8 as a runtime dependency.
- Maintenance status is aging (last release 293 days ago), but the repository remains active and the package is marked Production/Stable.
License · maintenance · safety
copyleft license (copyleft) — Licensed under GPLv2 (copyleft). If you distribute code that uses this plugin, you must make your modifications available under the same license; this applies primarily to derivative works of the plugin itself, not to code you lint with it.
last release 2025-10-25 (293 days) · last repo commit 2025-10-25 · 118 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 989,868 downloads/mo, #4,565 on PyPI
Alternatives
Verify before relying
pip install flake8-builtins
flake8 --builtins-ignorelist id,copyright myfile.py- Whether the plugin is actively maintained or in maintenance-only mode given the 293-day gap since last release.
- Whether the --builtins-ignorelist option works as documented in current versions.
What it is and what it does
flake8-builtins is a flake8 plugin that catches a common Python mistake: shadowing built-in names (like `list`, `dict`, `max`, `zip`) with your own variables, function parameters, class attributes, or imports. When you shadow a builtin, you lose access to it in that scope, which can cause cryptic TypeErrors or other runtime failures. The plugin runs as part of your flake8 linting workflow and reports six categories of violations (A001–A006) for different kinds of shadowing.
It works by integrating into flake8's AST visitor and checking each name binding against Python's builtins. You can customize which builtins to ignore via the --builtins-ignorelist option if you have a legitimate reason to shadow a specific builtin. The plugin supports Python 3.10, 3.11, 3.12, 3.13, 3.14, and PyPy3.
Use it for
- Catch accidental shadowing of builtins like `list` or `dict` in function parameters before they cause runtime errors.
- Enforce a team code-style rule that forbids shadowing builtins to keep code predictable and maintainable.
- Integrate into CI/CD pipelines to reject pull requests that introduce builtin shadowing violations.
- Audit legacy codebases for places where builtins have been shadowed and need refactoring.
- Whitelist specific builtins you intentionally shadow (e.g., `id` or `copyright`) via configuration.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you use flake8 and want to prevent a class of subtle bugs.
The plugin is lightweight, has no external dependencies beyond flake8, and catches real mistakes that can break code at runtime. Maintenance is aging but the package is stable and widely used (nearly 1 million monthly downloads). No known security vulnerabilities.
Install
flake8-builtins on PyPI
Before you install
Installs with minimal friction—a pure Python wheel with only flake8 as a runtime dependency. Maintenance status is aging (last release 293 days ago), but the repository remains active and the package is marked Production/Stable.
License in practice
Licensed under GPLv2 (copyleft). If you distribute code that uses this plugin, you must make your modifications available under the same license; this applies primarily to derivative works of the plugin itself, not to code you lint with it.
Quickstart
pip install flake8-builtins
flake8 --builtins-ignorelist id,copyright myfile.py
Verify before relying
- Whether the plugin is actively maintained or in maintenance-only mode given the 293-day gap since last release.
- Whether the --builtins-ignorelist option works as documented in current versions.
Package facts
| License | copyleft license copyleft |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageflake8 |
| Maintenance | Aging 293 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 989,868 / month, #4,565 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 :: GNU General Public License v2 (GPLv2)Operating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software DevelopmentTopic :: Software Development :: Quality Assurance |
Evidence: flake8_builtins-3.1.0-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 › “flake8 builtin shadowing detection”
- flake8-builtinsA flake8 plugin that detects when Python builtins are shadowed by…
- flake8-variables-namesA flake8 extension that detects poorly named variables by flagging…
- flake8-debuggerA flake8 plugin that detects debugger statements (pdb, ipdb, pudb,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also flake8-variables-names · flake8-deprecated · flake8-unused-arguments · dlint · flake8-annotations · flake8-functions · flake8-print · flake8-annotations-complexity · flake8 · wemake-python-styleguide