Metadata-Version: 2.4
Name: ossbom
Version: 1.0.14
Summary: Main public API
Author: dreadnought
Requires-Python: >=3.12,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: cyclonedx-python-lib[json-validation] (>=11.0.0,<12.0.0)
Requires-Dist: packageurl-python (>=0.16.0,<0.17.0)
Description-Content-Type: text/markdown

# OSSBOM

This library manages the creations of SBOMs in our custom format, as well as conversion methods to create json dicts, CycloneDX SBOMs and MiniBOMs (a compressed version of the OSSBOM).

## Requirements

- Python 3.12+
- Dependencies (installed via Poetry): `cyclonedx-python-lib`, `packageurl-python`


## Schema OSSBOM

```mermaid
classDiagram
    class OSSBOM {
        +string name
        +datetime created
        +List~string~ creators // optional
        +string version
        +string format // == OSSBOM
        +Environment env
        +List~Component~ components
        +List~Vulnerability~ vulnerabilities
    }

    class Environment {
        +string github_repo // optional
        +string github_org // optional
        +string project // optional
        +string branch // optional
        +string machine_name // optional
        +string product_env // optional
        +string path // optional
    }

    class Component {
        +string name
        +string version
        +string namespace // optional
        +Set~string~ source // optional
        +Set~DependencyEnv~ env // optional
        +string type // default library
        +List~string~ location // optional
        +dict metadata // optional
        +dict qualifiers // optional
        +string subpath // optional
    }

    class Vulnerability {
        +string id
        +PackageURL purl
        +string description
        +string reference // optional
        +string type // default Malware
    }

    OSSBOM --> Environment : has
    OSSBOM --> "many" Component : contains
    OSSBOM --> "many" Vulnerability : contains
```

# Learn More

More details about Ossprey can be found at [www.ossprey.com](www.ossprey.com)

