Changelog¶
Unreleased¶
Added¶
Expose
MissingExtraErrorfrompython_sbomso callers can catch a missing optional dependency without importing the private errors module.
0.3.1 (2026-11-10)¶
Fixed¶
A wheel built from an sdist no longer warns that git cannot read the source revision when the sdist names the commit, as when uv builds it under the empty
.gitfile it keeps in its cache (#10) by @gaborbernat.
0.3.0 (2026-11-09)¶
Added¶
A wheel’s SBOM now links to every other file in its
.dist-info/sbomsdirectory, such as maturin’s or auditwheel’s, by file name and SHA-256, andpython-sbom validatealso checks the.cyclonedx.jsonfiles maturin writes (#8) by @gaborbernat.
Documentation¶
Give each build backend its own how-to page, under a new backends section, built around an example project whose build and check the test suite runs, and add one for maturin projects: what maturin’s SBOM and python-sbom’s each hold, and how to add python-sbom’s when a build frontend,
maturin buildor maturin-action builds the wheel (#8) by @gaborbernat.
0.2.0 (2026-11-09)¶
Added¶
Write the SBOM with any build backend: a pdm-backend hook and a setuptools plugin act for every project with a
[tool.python-sbom]table, andpython_sbom.backendwraps any other backend, such as meson-python or maturin, named by the newbuild-backendoption. Each records the source revision in the sdist, as the hatchling hook does (#7) by @gaborbernat.
0.1.2 (2026-11-08)¶
Fixed¶
Load a project’s own content provider when the process already imported a module of the same name from another project, as a test suite building copies of one project does, instead of refusing it. The module cached from elsewhere is dropped with its submodules, and a provider loaded earlier keeps working (#5) by @gaborbernat.
0.1.1 (2026-11-08)¶
Packaging¶
First release on PyPI. The 0.1.0 tag was never published: its release build lacked hashes for the packages python-sbom’s own build hook needs, so 0.1.1 is the first release and carries everything listed under 0.1.0 (#4) by @gaborbernat.
0.1.0 (2026-11-08)¶
Added¶
Add the
python-sbomhatchling build hook, which writes a CycloneDX 1.6 SBOM into each wheel, the Python API behind it, and thepython-sbomcommand:embedwrites the same SBOM into wheels other build backends build,archivedescribes another zip archive a project publishes, such as a zipapp, and with--embedadds that SBOM to it, deflated,spdxrenders an SBOM as SPDX, andvalidatechecks the SBOMs in wheels and archives against the official CycloneDX schema files python-sbom ships, with jsonschema-rs, and rejects one listing more than 100,000 components unless--max-componentsallows more (#2) by @gaborbernat.