Supported backendsΒΆ

Each build backend gets the SBOM through one integration. Why each backend gets its integration says why each gets the one it does.

Backend

Integration

Turned on by

Install

Guide

hatchling

build hook, hatch entry point group

[tool.hatch.build.hooks.python-sbom]

python-sbom[hatch]

Use it with hatchling

pdm-backend

build hook, pdm.build.hook entry point group

[tool.python-sbom]

python-sbom[pdm]

Use it with pdm-backend

setuptools

plugin, setuptools.finalize_distribution_options entry point group

[tool.python-sbom]

python-sbom[setuptools]

Use it with setuptools

meson-python, maturin, scikit-build-core, flit-core, poetry-core, uv_build

python_sbom.backend, which wraps the backend

[build-system] build-backend = 'python_sbom.backend' and [tool.python-sbom] build-backend

python-sbom

Use it with meson-python, Add an SBOM to a maturin project, Use it with scikit-build-core, Use it with flit-core, Use it with poetry-core, Use it with uv-build; any other: Use it with any other backend

any, for a wheel built outside the build interface or renamed after it

python-sbom embed

running the command

python-sbom

Describe a wheel built outside the build interface

Every integration writes the same document, from the same [tool.python-sbom] options, and records the source revision in the sdists it builds. None writes an SBOM into an editable wheel, which carries no code.