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.ymlfor CI checks on PR/push.github/workflows/publish.ymlfor trusted publishing to PyPI on GitHub Release
One-time setup
- Create a PyPI project named
cyclonedx2report(or renameproject.nameif needed). - In PyPI, configure Trusted Publisher for this GitHub repository and workflow
.github/workflows/publish.yml. - In GitHub, create an environment named
pypi(optional but recommended) and allow deployment.
Release flow
- Bump version in
pyproject.toml. - Push changes to GitHub.
- Create a GitHub Release (tag like
v0.1.1). publish.ymlbuilds and uploads package to PyPI.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f35973c98ff718438119e1ff45766841585a88d1a1d5e5fd223c266d4843b07
|
|
| MD5 |
97a1a1967ccf9fca420f39e656e1aedf
|
|
| BLAKE2b-256 |
0c9139d8f1e31575c8f331a6f14dc54e864c52a7ec849c97909f5fc3045b96d6
|
Provenance
The following attestation bundles were made for cyclonedx2report-0.1.0.tar.gz:
Publisher:
publish.yml on cyclonedx2report/cyclonedx2report
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cyclonedx2report-0.1.0.tar.gz -
Subject digest:
0f35973c98ff718438119e1ff45766841585a88d1a1d5e5fd223c266d4843b07 - Sigstore transparency entry: 1114865960
- Sigstore integration time:
-
Permalink:
cyclonedx2report/cyclonedx2report@8cf6c0037bfbfae780c9c4e64421ac454e5fdb6d -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/cyclonedx2report
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8cf6c0037bfbfae780c9c4e64421ac454e5fdb6d -
Trigger Event:
release
-
Statement type:
File details
Details for the file cyclonedx2report-0.1.0-py3-none-any.whl.
File metadata
- Download URL: cyclonedx2report-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93baec39bc880e913154293c013cdaf2616cbab739e65eae883cd932ff155f98
|
|
| MD5 |
09ce438a866618a7dfcff3ae3b256cc0
|
|
| BLAKE2b-256 |
f904d45226c24d48224b0af6c64c82b6d743408aaec682b2bc2fba2b70251b8c
|
Provenance
The following attestation bundles were made for cyclonedx2report-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on cyclonedx2report/cyclonedx2report
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cyclonedx2report-0.1.0-py3-none-any.whl -
Subject digest:
93baec39bc880e913154293c013cdaf2616cbab739e65eae883cd932ff155f98 - Sigstore transparency entry: 1114865963
- Sigstore integration time:
-
Permalink:
cyclonedx2report/cyclonedx2report@8cf6c0037bfbfae780c9c4e64421ac454e5fdb6d -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/cyclonedx2report
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8cf6c0037bfbfae780c9c4e64421ac454e5fdb6d -
Trigger Event:
release
-
Statement type: