Skip to content

Commit 0c8ef9d

Browse files
committed
docs: responsibilities & capabilities
Signed-off-by: Jan Kowalleck <[email protected]>
1 parent 66ece7a commit 0c8ef9d

File tree

3 files changed

+58
-0
lines changed

3 files changed

+58
-0
lines changed

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ If you're looking for a CycloneDX tool to run to generate (SBOM) software bill-o
4141
:maxdepth: 2
4242
:caption: Contents:
4343

44+
responsibilities_capabilities
4445
install
4546
architecture
4647
examples

docs/install.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ Install from `pypi.org`_ as you would any other Python module using your preferr
2626
.. _pypi.org: https://pypi.org/project/cyclonedx-python-lib/
2727
.. _conda-forge: https://anaconda.org/conda-forge/cyclonedx-python-lib
2828

29+
Some dependencies might be optional - they are referenced via the *extras*.
30+
31+
.. _install extras:
32+
2933
Extras
3034
------
3135

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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 according to it.
25+
* generate reproducible/deterministic results.
26+
* Provide formal JSON- and XML-validators according to `CycloneDX Specification`_.
27+
* Pre-populate `bom-ref`, so linkage is possible. (affects only some data models)
28+
29+
Capabilities
30+
============
31+
32+
* Enums for the following use cases:
33+
* Data models for the following use cases:
34+
* Factories for the following use cases:
35+
* Builders for the following use cases:
36+
* Build a :class:`Component <cyclonedx.model.component.Component>` data model that represents this library
37+
* Build a :class:`Tool <cyclonedx.model.tool.Tool>` data model that represents this library
38+
* Implementation of the `CycloneDX Specification`_ for the following versions:
39+
* ``1.6``
40+
* ``1.5``
41+
* ``1.4``
42+
* ``1.3``
43+
* ``1.2``
44+
* ``1.1``
45+
* ``1.0``
46+
* Serializer that converts :class:`BOM <cyclonedx.model.bom.Bom>` data models to XML string
47+
* Serializer that converts :class:`BOM <cyclonedx.model.bom.Bom>` data models to JSON string
48+
* Formal validators for JSON string and XML string.
49+
Requires optional dependencies as described in :ref:`install instructions <install extras>`
50+
51+
52+
.. _CycloneDX: https://cyclonedx.org/
53+
.. _CycloneDX Specification: https://github.com/CycloneDX/specification/#readme

0 commit comments

Comments
 (0)