Skip to main content

A tool to extract json from pytest-html report

Project description

CI Status PyPI package version PyPI python versions

pgpro-pytest-html-json-extractor

A tool to extract json data from pytest-html report. Developed and maintained by Postgres Professional.

Key features

  • Extractor supports pytest-html v4.0.2+
  • Extractor produces JSON with unescaped HTML entities in log messages (for pytest-html v4.1.0+)

Installation

You can install the package directly from the repository (until it's published to PyPI):

pip install pgpro-pytest-html-json-extractor

Usage

After installation, the tool is available via the pgpro-pytest-html-json-extractor command.

Basic Examples

Extract JSON from a report:

pgpro-pytest-html-json-extractor report.html -o report.json

Command Line Arguments

Argument Shorthand Required Description Default
--version No Show program's version number and exit None
--out -o Yes Name of the output JSON file None
--verbose -v No Level of logging verbosity 3
--no-check-json No Do not validate json data after extraction None
--unescape-logs No HTML entity decoding mode for logs (auto, yes, no) auto
--replace -r No Replace output if it exists None
input Yes Positional argument for HTML file None

Log Unescaping Modes (--unescape-logs)

The tool provides granular control over how HTML entities (like ", & or ") are handled within test logs:

  • auto (Default): Smart detection mode. Automatically decides whether to decode entities based on the detected pytest-html report version. It ensures that logs are restored to their original "human-readable" state while maintaining the safety of other report metadata.

  • yes: Forceful decoding. Every HTML entity in the log field will be converted back to its literal character. Use this if you are dealing with heavily encoded custom output.

  • no: Raw mode. Disables all decoding, leaving the log data exactly as it was stored in the HTML source (including "Russian Doll" double-encoding). Ideal for debugging report structure or forensic data analysis.

Contributing

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/amazing-feature).
  3. Commit your changes (git commit -m 'feat: add some amazing feature').
  4. Push to the branch (git push origin feature/amazing-feature).
  5. Open a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

© 2026 Postgres Professional

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pgpro_pytest_html_json_extractor-1.1.1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file pgpro_pytest_html_json_extractor-1.1.1.tar.gz.

File metadata

File hashes

Hashes for pgpro_pytest_html_json_extractor-1.1.1.tar.gz
Algorithm Hash digest
SHA256 b5b3fe356f1b9718033054296542fb30c9207557a50c114a247b2e34e5691658
MD5 1fc69276c39d7d8517473b6b04164c35
BLAKE2b-256 3110f583f501a2f4cd6f6398353e8476e766fc8814b0d0927149f07324a124c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pgpro_pytest_html_json_extractor-1.1.1.tar.gz:

Publisher: python-publish.yml on postgrespro/pgpro-pytest-html-json-extractor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pgpro_pytest_html_json_extractor-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pgpro_pytest_html_json_extractor-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3437ea9e995e007a3186773c986f18875acde5474d26d808dd36e7e55dc9cf84
MD5 f09deb43135855154256d9962b01d5fb
BLAKE2b-256 cd5c30761463e239966ad4a88596681e8b4637e49bea8bd918681ae2d6e65174

See more details on using hashes here.

Provenance

The following attestation bundles were made for pgpro_pytest_html_json_extractor-1.1.1-py3-none-any.whl:

Publisher: python-publish.yml on postgrespro/pgpro-pytest-html-json-extractor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page