⚡ Test your code, not your reporting setup.
A pytest report built for fast debugging, with parallel execution support, automatic screenshots, and shareable failure context.
pytest-html-plus turns pytest results into portable debugging artifacts for CI, collaboration, and integrations, without a reporting platform.
🚀 Quick Start
pip install pytest-html-plus
# or
poetry add pytest-html-plus
pytest
By default, that generates a portable HTML report and structured JSON output. No hooks, decorators, or reporting server are required.
Why pytest-html-plus?
- ⚡ Produce one unified report with or without
pytest-xdist. - 📸 Capture failure screenshots automatically for Selenium and Playwright tests.
- 📋 Keep errors, traces, logs, stdout, and stderr together in one report.
- 🔄 Understand flaky tests with complete retry history.
- 🔗 Share a direct link to an individual test result.
- 🔍 Find tests, failures, traces, issue references, and documentation links from the same report.
✨ Features
⚡ One Unified Report with xdist
Run tests in parallel and receive one merged HTML and JSON report without an additional merge plugin or post-processing step.
📸 See What Failed Automatically
Capture Selenium and Playwright screenshots automatically and view them alongside the relevant failure context, with no custom hooks or decorators required.
📋 Everything You Need to Investigate a Failure
Review errors, traces, logs, stdout, stderr, and screenshots together. Copy the context you need in one click and use --plus-output=failed-only to keep passing-test output compact.
🔄 Understand Flaky Tests Across Every Retry
See how a test behaves across retries, from initial failure to recovery. Spot patterns such as cache issues, race conditions, and intermittent crashes without guesswork.
🔗 Share Any Test with a Direct Link
Copy a direct link to any test result and share it with your team. The report opens at the linked test, reveals it, expands its details, and highlights it, so teammates can jump straight to the relevant context without searching through the report.
🔍 Find the Context You Need
Search tests, errors, traces, issue references, documentation links, and custom references from the same report.
Try It Without Changing Your Test Suite
pytest-html-plus works alongside existing pytest tooling, so you can evaluate it with your current test suite without adopting a reporting server, rewriting tests, or maintaining reporting infrastructure.
More Built In
Also includes merged JUnit XML export, run metadata, slow-test visibility, reusable profiles, traceability helpers, email delivery, dynamic markers, and configurable output capture.
See all features and configuration options →
Project Status
pytest-html-plus is stable and actively maintained, with its core reporting experience now well established. Future development will focus on compatibility, reliability, and carefully selected improvements that strengthen the core reporting experience.
We're also looking for co-maintainers to help review pull requests, triage issues, and keep the project healthy across future Python and pytest releases.
If you're interested in becoming a long-term contributor, we'd love to hear from you. Please open an issue or start a discussion.
Contributing
We welcome pull requests, issues, and feature suggestions from the community.
See the contribution guide for setup instructions.
📜 License
MIT
Metadata
Release files for pytest-html-plus 1.3.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 | |
|---|---|---|---|
| pytest_html_plus-1.3.0.tar.gz | 26.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytest_html_plus-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.1 kB
Release files / pytest_html_plus-1.3.0.tar.gz
| Download URL | pytest_html_plus-1.3.0.tar.gz |
|---|---|
| Size | 26.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55896d796ea7204d8b19f1dc57a842e65195933bd4e3a6d63bd4448fb1d8d6a6
|
|
BLAKE2b-256 checksum How to use checksums |
d7cae89db1ab356d1420178b37ab3bb6d181704842551deef44b7123c866e8fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / pytest_html_plus-1.3.0-py3-none-any.whl
| Download URL | pytest_html_plus-1.3.0-py3-none-any.whl |
|---|---|
| Size | 28.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
223541065cb37e82cca39eb959de0349fddc31e685a59cd4c106a420689c8485
|
|
BLAKE2b-256 checksum How to use checksums |
fddbe482c8fb75013b4f0ad6ca87088eba5ade1cff4cbcebf7a3ae98cc686be3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|