pytest-flakefinder
Runs tests multiple times to expose flakiness.
What it is and what it does
pytest-flakefinder is a pytest plugin that multiplies test execution—running each test multiple times (default 50 times) in a single pytest session to expose intermittent failures and timing-related flakiness. Rather than restarting pytest between runs, it repeats tests within the same session, making it practical to detect unreliable tests that pass inconsistently. The plugin integrates with pytest's test selection (e.g., -k flags) so you can target specific tests, and pairs well with pytest-xdist to distribute repeated runs across multiple processes.
The package depends only on pytest and offers two main controls: --flake-runs to set repetition count and --flake-max-minutes to cap total runtime in CI environments. It was developed at Dropbox and generated from a pytest plugin template, but has been abandoned since October 2022 with no active maintenance.
Use it for:
- Detect race conditions and timing bugs in test suites by running tests repeatedly in parallel with pytest-xdist.
- Validate test reliability before merging to main branch by running the full suite multiple times in CI.
- Isolate flaky tests in a large suite by using pytest's -k selection with --flake-finder on suspected tests.
- Enforce test stability in projects with strict reliability requirements by running critical tests many times.
- Debug intermittent failures in integration tests that depend on external services or timing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A pytest plugin that runs tests multiple times to detect flakiness and intermittent failures without restarting pytest.
No. While the plugin is simple and has low install friction, it is abandoned (last release 2022-10-26, 1388 days ago) with no active maintenance. Compatibility with recent pytest versions is unverified, and no security or bug fixes are forthcoming. For detecting test flakiness, consider actively maintained alternatives or running tests multiple times via CI orchestration instead.
Install
pytest-flakefinder on PyPI
pip
pip install pytest-flakefinderuv
uv add pytest-flakefinderpoetry
poetry add pytest-flakefinderInstalling pytest-flakefinder
Before you install
Low install friction with a single runtime dependency on pytest. However, the package is abandoned—last release was 2022-10-26, over 1388 days ago. No active maintenance or security updates are being provided.
License in practice
Licensed under Apache (permissive), which allows commercial and private use with minimal restrictions. No licensing barrier to adoption.
Quickstart
pip install pytest-flakefinder
pytest --flake-finder
# Or with custom run count:
pytest --flake-finder --flake-runs=50
Requires pytest to be installed; plugin is activated via command-line flags only.
Verify before relying
- Whether the plugin remains compatible with recent pytest versions given the 1388-day gap since last release.
- Whether timeout functionality (--flake-max-minutes) works reliably in modern pytest environments.
- Performance characteristics when running tests many times on large test suites.
Package facts
| License | Apache (permissive) |
| Python support | supports the current Python release (>=3.5) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — pytest |
| Maintenance | abandoned — 1,388 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,065,167/month — #3,328 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pytest_flakefinder-1.1.0-py2.py3-none-any.whl
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
pytest-replayA pytest plugin that records test execution…
permissive · top 15,000 on PyPI
pytest-find-dependenciesA pytest plugin that identifies dependencies…
permissive · top 5,000 on PyPI
pytest-repeatA pytest plugin that repeats test execution a…
copyleft · top 5,000 on PyPI
pytest-loggingA pytest plugin that configures Python logging…
permissive · top 15,000 on PyPI
pytest-error-for-skipsA pytest plugin that converts skipped tests…
permissive · top 15,000 on PyPI
pytest-threadleakA pytest plugin that detects when tests leak…
permissive · top 15,000 on PyPI
pytest-forkedA pytest plugin that runs each test in a forked…
permissive · top 5,000 on PyPI
pytest-plusA pytest plugin that adds optional test-count…
permissive · top 15,000 on PyPI
pytest-loopA pytest plugin that repeats tests a fixed…
copyleft · top 15,000 on PyPI
pytest-rerunfailuresA pytest plugin that automatically reruns…
copyleft · top 1,000 on PyPI