suite-doctor
A pytest-integrated health checkup tool. Runs your existing test suite via pytest and reports on its health — not another test framework, a wrapper around the one you already use.
Status
Shipped on PyPI. Core pipeline, flaky detection, coverage, config support, and JSON output all working.
Why
pytest tells you pass/fail. suite-doctor tells you:
- Slowest tests, sorted
- Failures with short message + full traceback (
--verbose) - Flaky tests — re-runs failures N times, flags inconsistent ones
- Coverage summary — % covered, worst-covered files (
--coverage) - Skipped/xfail counts
- Clean, colorized CLI output (via
rich) instead of pytest's default verbose dump - Machine-readable output for scripts/CI (
--json)
How it works
Shells out to pytest --json-report (via pytest-json-report), parses the JSON, formats a summary. No pytest internals, no plugin hooks — just wraps the CLI you already run.
Requirements
- Python 3.11+
pytestpytest-json-reportpytest-covrich
Install
pip install suite-doctor
Usage
suite-doctor <path-to-project>
Example:
suite-doctor ./my-project
Flags
--top,-t— number of slowest tests to show (default: 5)--rerun— number of reruns for flaky detection (default: 3)--verbose,-v— show full tracebacks for failures--coverage,-c— show coverage summary--json— output results as JSON
Config file
Set defaults in your project's pyproject.toml:
[tool.suite-doctor]
top = 10
rerun = 5
coverage = true
CLI flags always override config file values.
Roadmap
- Subprocess runner
- Report parsing (summary/slowest/failures)
- Flaky test detection
- Coverage integration
- Config file support
-
--jsonoutput mode - Published to PyPI
- Exit code reflects pass/fail (CI use)
- Tests for suite-doctor itself
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file suite_doctor-1.0.0.tar.gz.
File metadata
- Download URL: suite_doctor-1.0.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12cf27bd5d8029cdf074b2a29b4bf26b228511aa55421f557e381ec4515cde7a
|
|
| MD5 |
f2cb065eb952007763be5334190a6465
|
|
| BLAKE2b-256 |
93293cd5a3f8bee91d7c8da5556b5c1db2f2d84a97b8f9ccee5f5f7098590bff
|
File details
Details for the file suite_doctor-1.0.0-py3-none-any.whl.
File metadata
- Download URL: suite_doctor-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
230ee5e9c61381104f265fe0412f5a5d5a4ed25a6ca1c8050c64d6dce53baf10
|
|
| MD5 |
36984e7c1980d32a55faae70fde7b933
|
|
| BLAKE2b-256 |
a5927c2a08ac42642a9347ceabb4fbbce6d77b09737a4dde9d2c6c3427b15524
|