| 
 | 1 | +.. # Licensed under the Apache License, Version 2.0 (the "License");  | 
 | 2 | +   # you may not use this file except in compliance with the License.  | 
 | 3 | +   # You may obtain a copy of the License at  | 
 | 4 | +   #  | 
 | 5 | +   #     http://www.apache.org/licenses/LICENSE-2.0  | 
 | 6 | +   #  | 
 | 7 | +   # Unless required by applicable law or agreed to in writing, software  | 
 | 8 | +   # distributed under the License is distributed on an "AS IS" BASIS,  | 
 | 9 | +   # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  | 
 | 10 | +   # See the License for the specific language governing permissions and  | 
 | 11 | +   # limitations under the License.  | 
 | 12 | +   #  | 
 | 13 | +   # SPDX-License-Identifier: Apache-2.0  | 
 | 14 | +
  | 
 | 15 | +Responsibilities  | 
 | 16 | +================  | 
 | 17 | + | 
 | 18 | +* Provide a general purpose Python-implementation of `CycloneDX`_.  | 
 | 19 | +* Provide type hints for said implementation, so developers and dev-tools can rely on it.  | 
 | 20 | +* Provide data models to work with `CycloneDX`_.  | 
 | 21 | +* Provide data model-validators according to `CycloneDX Specification`_.  | 
 | 22 | +* Provide JSON- and XML-serializers, that...  | 
 | 23 | +   * support all shipped data models.  | 
 | 24 | +   * respect any supported `CycloneDX Specification`_ and generates valid output accordingly.  | 
 | 25 | +   * generate reproducible/deterministic results.  | 
 | 26 | +* Provide formal JSON- and XML-validators according to `CycloneDX Specification`_.  | 
 | 27 | +* Provide mechanisms for JSON- and XML-deserialization of all shipped data models.  | 
 | 28 | +* Pre-populate `bom-ref`, so linkage is possible. (affects only some data models)  | 
 | 29 | + | 
 | 30 | +Capabilities  | 
 | 31 | +============  | 
 | 32 | + | 
 | 33 | +* Enums and Data models for the following use cases:  | 
 | 34 | +   * :mod:`Bom and Metadata <cyclonedx.model.bom>`  | 
 | 35 | +   * :mod:`BomRef <cyclonedx.model.bom_ref>`  | 
 | 36 | +   * :mod:`Component, Evidence, Patch, Pedigree, and more <cyclonedx.model.component>`  | 
 | 37 | +   * :mod:`Organizational Contact and Entity <cyclonedx.model.contact>`  | 
 | 38 | +   * :mod:`Cryptographic properties and more <cyclonedx.model.crypto>`  | 
 | 39 | +   * :mod:`Definition and Standard <cyclonedx.model.definition>`  | 
 | 40 | +   * :mod:`Dependency <cyclonedx.model.dependency>`  | 
 | 41 | +   * :mod:`Impact and related Analysis <cyclonedx.model.impact_analysis>`  | 
 | 42 | +   * :mod:`Issue <cyclonedx.model.issue>`  | 
 | 43 | +   * :mod:`License Named, SPDX, Expression, and more <cyclonedx.model.license>`  | 
 | 44 | +   * :mod:`Lifecycle <cyclonedx.model.lifecycle>`  | 
 | 45 | +   * :mod:`Release Notes <cyclonedx.model.release_note>`  | 
 | 46 | +   * :mod:`Service <cyclonedx.model.service>`  | 
 | 47 | +   * :mod:`Tool <cyclonedx.model.tool>`  | 
 | 48 | +   * :mod:`Vulnerability and related Analysis <cyclonedx.model.vulnerability>`  | 
 | 49 | +   * :mod:`Attachment Copyright, DataFlow, ExternalReference, Hash, Property, and more  <cyclonedx.model>`  | 
 | 50 | +* Factories for the following use cases:  | 
 | 51 | +   * Create data models from any license descriptor string  | 
 | 52 | +* Builders for the following use cases:  | 
 | 53 | +   * Build a :class:`Component <cyclonedx.model.component.Component>` data model that represents this library  | 
 | 54 | +   * Build a :class:`Tool <cyclonedx.model.tool.Tool>` data model that represents this library  | 
 | 55 | +* Implementation of the `CycloneDX Specification`_ for the following versions:  | 
 | 56 | +   * ``1.6``  | 
 | 57 | +   * ``1.5``  | 
 | 58 | +   * ``1.4``  | 
 | 59 | +   * ``1.3``  | 
 | 60 | +   * ``1.2``  | 
 | 61 | +   * ``1.1``  | 
 | 62 | +   * ``1.0``  | 
 | 63 | +* Serializer that converts :class:`Bom <cyclonedx.model.bom.Bom>` data models to XML string  | 
 | 64 | +* Serializer that converts :class:`Bom <cyclonedx.model.bom.Bom>` data models to JSON string  | 
 | 65 | +* Formal validators for JSON string and XML string.  | 
 | 66 | +  Requires optional dependencies as described in :ref:`install instructions <install extras>`.  | 
 | 67 | +* Shipped data model are serializable to and deserializable from both, JSON and XML.  | 
 | 68 | + | 
 | 69 | +.. _CycloneDX: https://cyclonedx.org/  | 
 | 70 | +.. _CycloneDX Specification: https://github.com/CycloneDX/specification/#readme  | 
0 commit comments