Skip to main content

venom-report

A static HTML report for any venom run, like coverage html: every suite, testcase and step, the HTTP call made (method, URL, headers, body), the response, the assertions (the failing one in red), and why a testcase was skipped.

pipx install venom-report          # or: uv tool install venom-report
venom-report path/to/output        # -> path/to/output/report/index.html
venom-report output --open         # and open it

No dependency (Python ≥ 3.10); pip install 'venom-report[yaml]' adds PyYAML for --expected-reds. The page is one self-contained file that opens over file://.

What it reads

venom writes when gives
test_results_*.xml format: xml (default) suites, testcases, pass/fail/skip, failure messages
test_results_*.json format: json same, plus every step with its request/response, no dump needed
*.dump.json -vvv / verbosity: 3 each step: the request sent and the full response

Without dumps (xml, no -vvv), the report falls back on the JUnit system-out and says so.

venom never cleans output/: dumps from older runs sit next to fresh ones. A dump is used only if it was written during the run that produced the report (from its mtime). If the same suite was reported twice (e.g. venom run tests/ then venom run tests/x.yml), the newest report wins.

Options

option default
-o FILE OUTPUT_DIR/report/index.html where to write
--title T venom · <parent dir> page title
--expected-reds FILE none YAML list of reds that are known and accepted, shown apart from regressions (needs PyYAML)
--redact REGEX authorization|token|secret|passw(or)?d|cookie|api[-_]?key|credential keys and headers whose values are masked
--max-body N 100000 bodies longer than N chars are truncated
--open open the report in a browser

--expected-reds accepts a list, or a mapping with an expected_reds: list, of entries {testcase, suite?, divergence?, why?} or bare testcase names. Names match loosely (TC8 foo bar = TC8-foo-bar).

Secrets

Values under a sensitive key (in dumps, headers, venom vars, venom secrets) are masked, then every other occurrence of those values is masked too (URLs, bodies, logs), as is any Bearer … / Basic …. The venom variables block is never embedded. Still, check a report before sharing it outside your team.

Tests

uv run pytest

The fixtures are real venom v1.3.0 outputs of tests/fixtures/suite_a.yml.

Release

Publish a GitHub release with a vX.Y.Z tag: the version comes from the tag, and the Release workflow uploads to PyPI (trusted publishing, no token).

License

Apache-2.0

Metadata

Release files for venom-report 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for venom-report 0.1.0
File Size Uploaded
venom_report-0.1.0.tar.gz 27.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for venom-report 0.1.0
File Interpreter ABI Platform
venom_report-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.2 kB

Release files / venom_report-0.1.0.tar.gz

Download URL venom_report-0.1.0.tar.gz
Size 27.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a4edbe66990beaa82f7dab19c43d4c514b2821890fb811ee185be0006ef0fa3b
BLAKE2b-256 checksum
How to use checksums
8bc57c9575cf2a67768621a91bdcb7705d8807a4f76f9d587a325ea0af372701
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / venom_report-0.1.0-py3-none-any.whl

Download URL venom_report-0.1.0-py3-none-any.whl
Size 22.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b110ad196a7a9795bcd5cec0c8a5d22c8a7247de0160a6204dc02822ac29feef
BLAKE2b-256 checksum
How to use checksums
b5187e34fa77a2891956a77d8fa287d92a2fb4740f0ca70ccd5ef7bcb4cd4874
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page