Skip to main content

CycloneDX JSON to interactive HTML report generator

Project description

cyclonedx2report

cyclonedx2report is a Python CLI that converts a CycloneDX JSON SBOM into an interactive HTML report. It is the core used on cyclonedx2report.github.io.

Features

  • Converts CycloneDX JSON into self-contained report HTML
  • Embeds SBOM payload into URL hash (#pako) for offline usage
  • Copies required runtime asset (report-core.js) next to generated report
  • Supports report title and template selection

Installation

Install from PyPI:

pip install cyclonedx2report

Install from source (editable):

pip install -e .

CLI Usage

cyclonedx2report INPUT_JSON [-o OUTPUT_HTML] [--title TITLE] [--template {main,light}]

Examples:

cyclonedx2report cyclonedx-example.json
cyclonedx2report cyclonedx-example.json -o report.generated.html --title "My SBOM" --template light

Development

Create distributions locally:

python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*

Upload manually (optional):

python -m twine upload dist/*

Publishing From GitHub Actions

This repository includes:

  • .github/workflows/ci.yml for CI checks on PR/push
  • .github/workflows/publish.yml for trusted publishing to PyPI on GitHub Release

One-time setup

  1. Create a PyPI project named cyclonedx2report (or rename project.name if needed).
  2. In PyPI, configure Trusted Publisher for this GitHub repository and workflow .github/workflows/publish.yml.
  3. In GitHub, create an environment named pypi (optional but recommended) and allow deployment.

Release flow

  1. Bump version in pyproject.toml.
  2. Push changes to GitHub.
  3. Create a GitHub Release (tag like v0.1.1).
  4. publish.yml builds and uploads package to PyPI.

License

MIT

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

cyclonedx2report-0.1.0.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

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

cyclonedx2report-0.1.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file cyclonedx2report-0.1.0.tar.gz.

File metadata

  • Download URL: cyclonedx2report-0.1.0.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cyclonedx2report-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0f35973c98ff718438119e1ff45766841585a88d1a1d5e5fd223c266d4843b07
MD5 97a1a1967ccf9fca420f39e656e1aedf
BLAKE2b-256 0c9139d8f1e31575c8f331a6f14dc54e864c52a7ec849c97909f5fc3045b96d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyclonedx2report-0.1.0.tar.gz:

Publisher: publish.yml on cyclonedx2report/cyclonedx2report

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

File details

Details for the file cyclonedx2report-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cyclonedx2report-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 93baec39bc880e913154293c013cdaf2616cbab739e65eae883cd932ff155f98
MD5 09ce438a866618a7dfcff3ae3b256cc0
BLAKE2b-256 f904d45226c24d48224b0af6c64c82b6d743408aaec682b2bc2fba2b70251b8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyclonedx2report-0.1.0-py3-none-any.whl:

Publisher: publish.yml on cyclonedx2report/cyclonedx2report

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