flake8-pep3101
Checks for old string formatting
Decision gist · record as of 2026-08-14
Yes, if you want automated enforcement of modern string formatting in your codebase. The plugin is low-friction to install, carries no security vulnerabilities, and integrates seamlessly into flake8 workflows. The copyleft license is not a barrier for development tools used in-house. The aging maintenance status is a minor concern but not a blocker—the plugin solves a narrow, stable problem and does not require frequent updates. Install it if string formatting consistency is a priority in your project.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires flake8 to be installed; the plugin does not work standalone.
- Requires Python 3.10 or later.
- Low install friction with a single runtime dependency on flake8.
License · maintenance · safety
copyleft license (copyleft) — Licensed under GPLv2 (copyleft). If you distribute code or modifications, you must make source available under the same license terms. For private use or as a development tool in a closed environment, this poses minimal constraint.
last release 2025-10-25 (293 days) · last repo commit 2025-10-25 · 14 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 98,031 downloads/mo, #13,114 on PyPI
Alternatives
Verify before relying
pip install flake8-pep3101
Then run flake8 on your code:
flake8 your_file.py
The plugin will automatically flag old-style string formatting like:
result = "Hello %s" % name- Whether the plugin's error codes and configuration options are documented or discoverable
- Performance impact when checking large codebases
- Whether the plugin handles edge cases in string formatting detection correctly
What it is and what it does
flake8-pep3101 is a linter plugin that integrates with flake8 to detect and report old-style percent-operator string formatting in Python code. It encourages developers to use the modern .format() method or f-strings instead, aligning with PEP 3101 recommendations. The plugin works as a flake8 extension, running automatically when you invoke flake8 on your codebase without requiring separate configuration.
The package has been in production since 2015 and supports modern Python versions (3.10 through 3.14, including PyPy). It is a lightweight, single-purpose tool with only flake8 as a runtime dependency. While maintenance is aging—no updates in 293 days—the repository remains active and unarchived, and the package carries no known security vulnerabilities.
Use it for
- Enforce consistent string formatting style across a codebase during CI/CD by running flake8 with this plugin enabled.
- Identify legacy string formatting in older Python projects to guide modernization efforts toward .format() or f-strings.
- Integrate into pre-commit hooks to catch old-style formatting before code review.
- Audit a large repository for formatting inconsistencies as part of a code quality initiative.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you want automated enforcement of modern string formatting in your codebase.
The plugin is low-friction to install, carries no security vulnerabilities, and integrates seamlessly into flake8 workflows. The copyleft license is not a barrier for development tools used in-house. The aging maintenance status is a minor concern but not a blocker—the plugin solves a narrow, stable problem and does not require frequent updates. Install it if string formatting consistency is a priority in your project.
Install
flake8-pep3101 on PyPI
Before you install
Low install friction with a single runtime dependency on flake8. Maintenance status is aging—last commit was 2025-10-25 and the package has not been updated in 293 days, though the repository remains active and unarchived.
Requires flake8 to be installed; the plugin does not work standalone. Requires Python 3.10 or later.
License in practice
Licensed under GPLv2 (copyleft). If you distribute code or modifications, you must make source available under the same license terms. For private use or as a development tool in a closed environment, this poses minimal constraint.
Quickstart
pip install flake8-pep3101
Then run flake8 on your code:
flake8 your_file.py
The plugin will automatically flag old-style string formatting like:
result = "Hello %s" % name
Verify before relying
- Whether the plugin's error codes and configuration options are documented or discoverable
- Performance impact when checking large codebases
- Whether the plugin handles edge cases in string formatting detection correctly
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 | 98,031 / month, #13,114 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_pep3101-3.0.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 string formatting checker”
- flake8-pep3101A flake8 plugin that detects and flags old-style string formatting…
- flake8-use-fstringA flake8 plugin that detects and flags old-style string formatting (%…
- flake8-blackA flake8 plugin that runs black's code style validation within the…
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-string-format · flake8-use-fstring · flake8-deprecated · flynt · stringparser · future-fstrings · pep8-naming · flake8 · flake8-annotations · flake8-pep585