$npx skillfedfor your agent

flake8-pep585

flake8 plugin to enforce new-style type hints (PEP 585)

With conditionsPyPI Quality AssuranceReleased Feb 202398.7K downloads / moMPL-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — flake8_pep585-0.1.7-py3-none-any.whl
v0.1.7 · released 2023-02-26 · Python >=3.7,<4.0

Yes, if you are actively maintaining code on Python 3.9+ and want to enforce PEP 585 compliance. The plugin is straightforward to set up and has no runtime overhead. However, note that the project is abandoned (last release February 2023) and may not be updated for future flake8 or Python releases, so verify compatibility with your current toolchain before relying on it long-term.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires flake8 to be installed separately.
  • Only enforces PEP 585 rules on Python 3.7–3.9; behavior on 3.7–3.8 depends on presence of `from __future__ import annotations`.
  • Low install friction; no runtime dependencies.

License · maintenance · safety

MPL-2.0 (copyleft) — Licensed under MPL-2.0 (copyleft). You may use and modify the plugin freely, but any modifications must be distributed under the same license if shared.

last release 2023-02-26 (1265 days) · last repo commit 2023-02-28 · 23 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 98,711 downloads/mo, #13,063 on PyPI

Verify before relying

pip install flake8-pep585

# Then run flake8 on your code:
flake8 your_project/

# Or configure via setup.cfg:
# [flake8]
# pep585-activation = always
  • Whether the plugin correctly handles all PEP 585 replacements or if there are edge cases not covered.
  • Whether the abandoned status means the plugin may break with future Python or flake8 releases.
Same gist for agents: .md · .json

What it is and what it does

flake8-pep585 is a linter plugin that integrates with flake8 to catch deprecated type imports from the `typing` module. PEP 585 introduced the ability to use standard library classes directly for type annotations—for example, `list[int]` instead of `typing.List[int]`, or `collections.abc.Callable` instead of `typing.Callable`. The plugin scans your code for these deprecated imports and reports them with specific error codes and suggestions for the modern equivalent.

The plugin works on Python 3.7 through 3.9 and can be configured to always enforce the rules, automatically detect them (based on the presence of `from __future__ import annotations`), or never enforce them. You can also whitelist specific symbols if you have a reason to keep using the older imports. Since it has no runtime dependencies beyond flake8 itself, installation is straightforward.

Use it for

  • Modernize a codebase to use PEP 585 type hints when upgrading to Python 3.9+.
  • Enforce team standards in CI/CD pipelines to prevent deprecated typing imports in new code.
  • Discover and fix deprecated type imports that IDEs' auto-import features may have suggested.
  • Gradually migrate a project to modern type annotations without manual code review.
  • Validate that a project is ready for future Python versions where old typing imports may be removed.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are actively maintaining code on Python 3.9+ and want to enforce PEP 585 compliance.

The plugin is straightforward to set up and has no runtime overhead. However, note that the project is abandoned (last release February 2023) and may not be updated for future flake8 or Python releases, so verify compatibility with your current toolchain before relying on it long-term.

Install

flake8-pep585 on PyPI

Before you install

Low install friction; no runtime dependencies. Maintenance is abandoned—last release was 2023-02-26, over a year ago. The repository is not archived, but no active development is expected.

Requires flake8 to be installed separately. Only enforces PEP 585 rules on Python 3.7–3.9; behavior on 3.7–3.8 depends on presence of `from __future__ import annotations`.

License in practice

Licensed under MPL-2.0 (copyleft). You may use and modify the plugin freely, but any modifications must be distributed under the same license if shared.

Quickstart

pip install flake8-pep585

# Then run flake8 on your code:
flake8 your_project/

# Or configure via setup.cfg:
# [flake8]
# pep585-activation = always

Verify before relying

  • Whether the plugin correctly handles all PEP 585 replacements or if there are edge cases not covered.
  • Whether the abandoned status means the plugin may break with future Python or flake8 releases.

Package facts

LicenseMPL-2.0 copyleft
Python supportSupports the current Python release >=3.7,<4.0
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAbandoned 1,265 days since the last release
Last repo commit
First released
Downloads98,711 / month, #13,063 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI ApprovedProgramming Language :: Python :: 3Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Evidence: flake8_pep585-0.1.7-py3-none-any.whl

Tags

Capabilities
flake8 pep 585 plugindeprecated typing importstype hint modernizationpep 585 enforcementtyping module deprecation checkerstandard library type hintsmodern python type annotations
Topics
type-hintscode-qualitylinting

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 pep 585 plugin”

  • flake8-pep585A flake8 plugin that detects and flags deprecated type imports from…
  • pep8-namingA flake8 plugin that checks Python code for compliance with PEP 8…
  • flake8-pep3101A flake8 plugin that detects and flags old-style string formatting…

Give your agent the search over MCP, or paste the wish link into any chat.

More Quality Assurance packages

coverage Worth it
PyPI · Testing · released Aug 2026

Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.

Install it if you want to measure test completeness or enforce coverage thresholds in your project.

permissive licensepure Python · 3.10+
335.8Mdownloads / mo
ruff Worth it
PyPI · Python Modules · released Aug 2026

Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.

MITcompiled wheel · 3.7+
316.1Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo
black Worth it
PyPI · Python Modules · released May 2026

Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.

MITpure Python · 3.10+
179.9Mdownloads / mo
pytest-xdist Worth it
PyPI · Utilities · released Jul 2025

pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.

Install it if your test suite takes long enough that parallelization would save meaningful time.

MITpure Python · 3.9+
177.1Mdownloads / mo
cfn-lint Worth it
PyPI · Quality Assurance · released Aug 2026

Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.

Install it if you work with CloudFormation templates.

MIT-0pure Python
114.9Mdownloads / mo

See also flake8-deprecated · flake8-requirements · flake8-annotations · flake8-typing-imports · flake8-tidy-imports · flake8-import-order · eval-type-backport · typeapi · flake8-type-checking · flake8-pep3101