The CycloneDX module for Python creates a valid CycloneDX bill-of-material document containing an aggregate of all project dependencies. CycloneDX is a lightweight BoM specification that is easily created, human readable, and simple to parse. The resulting bom.xml can be used with tools such as OWASP Dependency-Track for the continuous analysis of components.
Freezing
A bill-of-material such as CycloneDX expects exact version numbers. Therefore requirements.txt must be frozen. This can be accomplished via:
$ pip freeze > requirements.txtInstalling
$ pip install cyclonedx-bomOptions
By default, requirements.txt will be read from the current working directory and the resulting bom.xml will also be created in the current working directory. These options can be overwritten as follows:
$ cyclonedx-py
Usage: cyclonedx-py [OPTIONS]
Options:
-i <path> - the alternate filename to a frozen requirements.txt
-o <path> - the bom file to createPermission to modify and redistribute is granted under the terms of the Apache 2.0 license.