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
Metadata
Release files for suite-doctor 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| suite_doctor-1.0.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| suite_doctor-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.3 kB
Release files / suite_doctor-1.0.0.tar.gz
| Download URL | suite_doctor-1.0.0.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
12cf27bd5d8029cdf074b2a29b4bf26b228511aa55421f557e381ec4515cde7a
|
|
BLAKE2b-256 checksum How to use checksums |
93293cd5a3f8bee91d7c8da5556b5c1db2f2d84a97b8f9ccee5f5f7098590bff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|
Release files / suite_doctor-1.0.0-py3-none-any.whl
| Download URL | suite_doctor-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
230ee5e9c61381104f265fe0412f5a5d5a4ed25a6ca1c8050c64d6dce53baf10
|
|
BLAKE2b-256 checksum How to use checksums |
a5927c2a08ac42642a9347ceabb4fbbce6d77b09737a4dde9d2c6c3427b15524
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|