Skip to content

Latest commit

 

History

History
47 lines (37 loc) · 1.8 KB

architecture.rst

File metadata and controls

47 lines (37 loc) · 1.8 KB

Architecture

This library broadly is separated into three key functional areas:

  1. Parser: Downstream tools may provide concrete implementation of the :py:mod:`cyclonedx.parser.BaseParser` which can easily help you build a Model from your project or ecosystem. For Python specific parser implementations see cyclonedx-python

  2. Model: Internal models used to unify data from different parsers

    Note: As of version 4.0.0 of this library we support deserialization from JSON and XML as well as serialization to JSON and XML.

  3. Output: Choose and configure an output which allows you to define output format as well as the CycloneDX schema version

When wishing to generate a BOM, the process is as follows:

  1. Generate a Model by either:
    1. Programmatically using this library
    2. By deserializing from an existing CycloneDX BOM document
    3. From a :py:mod:`cyclonedx.parser`
  2. Output the Model using an :py:mod:`cyclonedx.output` instance that reflects the schema version and format you require
.. toctree::
   :maxdepth: 2
   :caption: Contents:

   modelling
   schema-support
   outputting