.. index:: single: sbom .. _sbom/0: .. rst-class:: right **object** ``sbom`` ======== This tool generates a Software Bill of Materials (SBOM) for an application. | **Availability:** | ``logtalk_load(sbom(loader))`` | **Author:** Paulo Moura | **Version:** 1:0:0 | **Date:** 2026-04-02 | **Compilation flags:** | ``static, context_switching_calls`` | **Imports:** | ``public`` :ref:`options ` | **Uses:** | :ref:`json ` | :ref:`json_schema ` | :ref:`list ` | :ref:`os ` | :ref:`packs ` | :ref:`term_io ` | :ref:`url(Representation) ` | :ref:`user ` | :ref:`uuid ` | **Remarks:** | (none) | **Inherited public predicates:** |  :ref:`options_protocol/0::check_option/1`  :ref:`options_protocol/0::check_options/1`  :ref:`options_protocol/0::default_option/1`  :ref:`options_protocol/0::default_options/1`  :ref:`options_protocol/0::option/2`  :ref:`options_protocol/0::option/3`  :ref:`options_protocol/0::valid_option/1`  :ref:`options_protocol/0::valid_options/1`   .. contents:: :local: :backlinks: top Public predicates ----------------- .. index:: document/2 .. _sbom/0::document/2: ``document/2`` ^^^^^^^^^^^^^^ Returns an SPDX 2.3 or a CycloneDX 1.6 JSON term describing the currently loaded application using the given options. The JSON term represents objects using curly terms, pairs using a dash, and strings using atoms. | **Compilation flags:** | ``static`` | **Template:** | ``document(Document,Options)`` | **Mode and number of proofs:** | ``document(-compound,+list(compound))`` - ``one`` ------------ .. index:: document/1 .. _sbom/0::document/1: ``document/1`` ^^^^^^^^^^^^^^ Returns an SPDX 2.3 JSON term describing the currently loaded application using default options. The JSON term represents objects using curly terms, pairs using a dash, and strings using atoms. | **Compilation flags:** | ``static`` | **Template:** | ``document(Document)`` | **Mode and number of proofs:** | ``document(-compound)`` - ``one`` ------------ .. index:: export/2 .. _sbom/0::export/2: ``export/2`` ^^^^^^^^^^^^ Exports an SPDX 2.3 or a CycloneDX 1.6 JSON document describing the currently loaded application to the specified sink using the given options. Valid sinks are ``codes(List)``, ``stream(Stream)``, ``file(Path)``, ``chars(List)``, and ``atom(Atom)``. | **Compilation flags:** | ``static`` | **Template:** | ``export(Sink,Options)`` | **Mode and number of proofs:** | ``export(++compound,+list(compound))`` - ``one`` ------------ .. index:: export/1 .. _sbom/0::export/1: ``export/1`` ^^^^^^^^^^^^ Exports an SPDX 2.3 JSON document describing the currently loaded application to the specified sink using default options. Valid sinks are ``codes(List)``, ``stream(Stream)``, ``file(Path)``, ``chars(List)``, and ``atom(Atom)``. | **Compilation flags:** | ``static`` | **Template:** | ``export(Sink)`` | **Mode and number of proofs:** | ``export(++compound)`` - ``one`` ------------ Protected predicates -------------------- (no local declarations; see entity ancestors if any) Private predicates ------------------ .. index:: spdx_license_schema_/1 .. _sbom/0::spdx_license_schema_/1: ``spdx_license_schema_/1`` ^^^^^^^^^^^^^^^^^^^^^^^^^^ Caches the parsed schema used to validate SPDX license identifiers for CycloneDX exports. | **Compilation flags:** | ``dynamic`` | **Template:** | ``spdx_license_schema_(Schema)`` | **Mode and number of proofs:** | ``spdx_license_schema_(-term)`` - ``zero_or_one`` ------------ Operators --------- (none)