pytest-picked
Run the tests related to the changed files
Decision gist · record as of 2026-08-14
Yes, if you work in Git-based projects and want to reduce test cycle time during development. The plugin is stable, has no security vulnerabilities, and adds minimal overhead. The dormant maintenance status is not a blocker since the plugin's scope is narrow and it relies on stable pytest and Git APIs. Install it if selective test running fits your workflow.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a Git repository; the plugin reads git status to identify changed files.
- Low friction: pure Python wheel with only pytest as a runtime dependency.
- Maintenance is dormant (646 days since last release), though the package remains functional and supports current Python versions.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
last release 2024-11-06 (646 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 818,607 downloads/mo, #4,980 on PyPI
Alternatives
Verify before relying
pip install pytest-picked
pytest --picked- Whether the plugin correctly handles edge cases like renamed files, deleted files, or merge conflicts.
- Performance impact when running against large test suites with many changed files.
- Compatibility with other pytest plugins that also modify test collection.
What it is and what it does
pytest-picked is a pytest plugin that integrates with Git to automatically discover and run only the tests affected by your uncommitted changes or commits on the current branch. Instead of manually specifying which tests to run, you invoke `pytest --picked` and the plugin reads `git status` to identify modified test files and folders, then runs only those tests—or optionally runs changed tests first followed by the full suite.
The plugin supports two modes: unstaged (default), which runs tests from files with uncommitted changes, and branch mode, which runs tests from files changed relative to a parent branch (typically main or dev). It's designed for developers working in feature branches or with uncommitted work who want fast feedback without copying and pasting test paths.
Use it for
- Run only tests affected by your current work during active development to get quick feedback.
- Run modified tests first in CI pipelines before running the full suite to fail fast on breaking changes.
- Verify that changes to a feature branch don't break tests specific to that branch without running the entire test suite.
- Integrate into pre-commit hooks to run only relevant tests before committing code.
- Speed up local test cycles when working on large projects with many test files.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work in Git-based projects and want to reduce test cycle time during development.
The plugin is stable, has no security vulnerabilities, and adds minimal overhead. The dormant maintenance status is not a blocker since the plugin's scope is narrow and it relies on stable pytest and Git APIs. Install it if selective test running fits your workflow.
Install
pytest-picked on PyPI
Before you install
Low friction: pure Python wheel with only pytest as a runtime dependency. Maintenance is dormant (646 days since last release), though the package remains functional and supports current Python versions.
Requires a Git repository; the plugin reads git status to identify changed files.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install pytest-picked
pytest --picked
Verify before relying
- Whether the plugin correctly handles edge cases like renamed files, deleted files, or merge conflicts.
- Performance impact when running against large test suites with many changed files.
- Compatibility with other pytest plugins that also modify test collection.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepytest |
| Maintenance | Dormant 646 days since the last release |
| First released | |
| Downloads | 818,607 / month, #4,980 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: PytestIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Testing |
Evidence: pytest_picked-0.5.1-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 › “pytest run changed files”
- pytest-pickedA pytest plugin that automatically runs only the tests related to…
- pytest-cagouleA pytest plugin that identifies which tests exercise code you've…
- pytest-testmonA pytest plugin that automatically identifies and runs only the tests…
Give your agent the search over MCP, or paste the wish link into any chat.
More Testing packages
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
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.
pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.
Install it if you write tests for any asyncio-based code.
A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.
Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.
See also pytest-snob · pytest-skip-slow · pytest-only · pytest-custom-exit-code · pytest-isort · pytest-incremental · pytest-error-for-skips · pytest-watch · pytest-logging · diff-cover