flake8-use-pathlib
A plugin for flake8 finding use of functions that can be replaced by pathlib module.
Decision gist · record as of 2026-08-14
Yes, if you are actively linting code and want to enforce pathlib adoption. The plugin is straightforward, has no security vulnerabilities, and carries a permissive license. However, be aware that the package is abandoned—it has not been updated since 2022-08-14. If you rely on it, verify that its rule set and flake8 compatibility remain suitable for your current Python and flake8 versions; do not expect bug fixes or new features.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires flake8 to be installed and configured; the plugin does not work standalone.
- Low install friction; depends only on flake8.
- However, the package is abandoned—last release was 2022-08-14, over 1461 days ago.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions.
last release 2022-08-14 (1461 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 336,391 downloads/mo, #7,461 on PyPI
Alternatives
Verify before relying
pip install flake8-use-pathlib
# Then run flake8 on your code; the plugin activates automatically:
flake8 your_file.py
# Output will include lines like:
# your_file.py:1:1: PL100 os.path.abspath("foo") should be replaced by foo_path.resolve()- Whether the rule set remains complete for current pathlib best practices.
- Compatibility with recent flake8 versions and Python 3.11+ (classifiers list only up to 3.10).
- Whether all rule codes (PL100–PL124) remain accurate for modern pathlib usage patterns.
What it is and what it does
flake8-use-pathlib is a linter plugin that integrates with flake8 to automatically detect and flag legacy file-system operations from the os and os.path modules that should be replaced with pathlib equivalents. Each pattern is assigned a specific rule code so developers can quickly identify and modernize their code.
The plugin works as a standard flake8 extension; once installed, it runs automatically during linting and reports violations with their corresponding rule codes and suggested pathlib replacements. It targets Python 3.7 and later, supporting current Python versions at the time of its last release.
Use it for
- Enforce pathlib usage in new code reviews by catching os.path calls during CI/CD linting.
- Bulk-identify legacy file-operation patterns in an existing codebase for systematic modernization.
- Teach developers the pathlib API by providing immediate, specific feedback on os module usage.
- Migrate projects from py.path.local to pathlib as part of a broader modernization effort.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are actively linting code and want to enforce pathlib adoption.
The plugin is straightforward, has no security vulnerabilities, and carries a permissive license. However, be aware that the package is abandoned—it has not been updated since 2022-08-14. If you rely on it, verify that its rule set and flake8 compatibility remain suitable for your current Python and flake8 versions; do not expect bug fixes or new features.
Install
flake8-use-pathlib on PyPI
Before you install
Low install friction; depends only on flake8. However, the package is abandoned—last release was 2022-08-14, over 1461 days ago. No active maintenance or bug fixes should be expected.
Requires flake8 to be installed and configured; the plugin does not work standalone.
License in practice
MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install flake8-use-pathlib
# Then run flake8 on your code; the plugin activates automatically:
flake8 your_file.py
# Output will include lines like:
# your_file.py:1:1: PL100 os.path.abspath("foo") should be replaced by foo_path.resolve()
Verify before relying
- Whether the rule set remains complete for current pathlib best practices.
- Compatibility with recent flake8 versions and Python 3.11+ (classifiers list only up to 3.10).
- Whether all rule codes (PL100–PL124) remain accurate for modern pathlib usage patterns.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageflake8 |
| Maintenance | Abandoned 1,461 days since the last release |
| First released | |
| Downloads | 336,391 / month, #7,461 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: flake8_use_pathlib-0.3.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 pathlib migration”
- flake8-use-pathlibA flake8 plugin that detects uses of os and os.path functions that…
- 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 (%…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
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.
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.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
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.
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.
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.
See also flake8-logging · path.py · flake8-pie · flake8-deprecated · flake8-executable · flake8-tidy-imports · path · flake8-black · flake8-print · Logbook