Skip to main content

CycloneDX JSON to interactive HTML report generator

Project description

cyclonedx2report

PyPI - Version License Python Version PyPI Downloads PyPI Downloads Snyk Vulnerabilities for GitHub Repo

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-1.0.1.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

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

cyclonedx2report-1.0.1-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cyclonedx2report-1.0.1.tar.gz
Algorithm Hash digest
SHA256 70eca437fdddde6c9d153dd83c0d1fe5c259597f368cb35070a7dc5aadd5aea6
MD5 b975819c9d58a35b9944bbe2677f55af
BLAKE2b-256 7a322a504d0ba38a1bab1948c5d48236cf28a0f3fed29eb4febf6fdc59da0342

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyclonedx2report-1.0.1.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-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cyclonedx2report-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3d0cd28a2c37734c740a7d4bfa82aaeea639f8780d2d0a85fcee41493c224887
MD5 0c3feef4822252da836e5dd229f91e3f
BLAKE2b-256 0a70f43790c0ff6a61439c3d78665d6421812552299dafbaba6e170cff93534c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyclonedx2report-1.0.1-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