aboutcode-org / aboutcode-org/workshop

Tool name: CycloneDX Python Library

Aperta
#60 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
foss-tool
Lingua principale
Nessun dato sulla lingua
Stelle
4
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### homepage_url

https://github.com/CycloneDX/cyclonedx-python-lib#readme-ov-file

### contact_email

jan.kowalleck [at] owasp.org

### code_view_url

https://github.com/CycloneDX/cyclonedx-python-lib

### spdx_license_expression

Apache-2.0

### description

This Python package(library) provides data models, validators and more, to help you create/render/read CycloneDX documents.

#### Responsibilities

* Provide a general purpose Python-implementation of [CycloneDX](https://cyclonedx.org/).
* Provide type hints for said implementation, so developers and dev-tools can rely on it.
* Provide data models to work with [CycloneDX](https://cyclonedx.org/).
* Provide data model-validators according to [CycloneDX Specification](https://github.com/CycloneDX/specification/#readme).
* Provide JSON- and XML-serializers, that…
* support all shipped data models.
* respect any supported [CycloneDX Specification](https://github.com/CycloneDX/specification/#readme) and generates valid output accordingly.
* generate reproducible/deterministic results.
* Provide formal JSON- and XML-validators according to [CycloneDX Specification](https://github.com/CycloneDX/specification/#readme).
* Provide mechanisms for JSON- and XML-deserialization of all shipped data models.
* Pre-populate bom-ref, so linkage is possible. (affects only some data models)

#### Capabilities

* Enums and Data models for the following use cases:
* Bom and Metadata
* BomRef
* Component, Evidence, Patch, Pedigree, and more
* Organizational Contact and Entity
* Cryptographic properties and more
* Definition and Standard
* Dependency
* Impact and related Analysis
* Issue
* License Named, SPDX, Expression, and more
* Lifecycle
* Release Notes
* Service
* Tool
* Vulnerability and related Analysis
* Attachment Copyright, DataFlow, ExternalReference, Hash, Property, and more
* Factories for the following use cases:
* Create data models from any license descriptor string
* Builders for the following use cases:
* Build a Component data model that represents this library
* Build a Tool data model that represents this library
* Implementation of the CycloneDX Specification for the following versions:
* `1.6`
* `1.5`
* `1.4`
* `1.3`
* `1.2`
* `1.1`
* `1.0`
* Serializer that converts Bom data models to XML string
* Serializer that converts Bom data models to JSON string
* Formal validators for JSON string and XML string.
* Shipped data model are serializable to and deserializable from both, JSON and XML.

### primary_languages

Python

### short_term_roadmap

all things are community efforts - come and help/contribute

- Work In Progress: work towards implementation-completeness regarding CycloneDX data models.
Driven by the community - contributionsare welcome.
- https://github.com/CycloneDX/cyclonedx-python-lib/pull/713
- https://github.com/CycloneDX/cyclonedx-python-lib/pull/735
- https://github.com/CycloneDX/cyclonedx-python-lib/pull/711
- Finish https://github.com/CycloneDX/cyclonedx-python-lib/pull/755
- Finish https://github.com/CycloneDX/cyclonedx-python-lib/pull/754
- Have known bugs fixed
- Continue supporting the community in contributing new features

### long_term_roadmap

all things are community efforts - come and help/contribute

- support upcoming CycloneDX 1.7 - at least the basics, more on demand.
CDX 1.7 is expected around May/June 2025.
- on demand: continue work towards implementation-completeness regarding CycloneDX
- goal: eventually support all specified data models
- https://github.com/CycloneDX/cyclonedx-python-lib/issues/696
- https://github.com/CycloneDX/cyclonedx-python-lib/issues/578
- https://github.com/CycloneDX/cyclonedx-python-lib/issues/581
- driven by the community - contributions welcome!
- remove models' "sanity" checks - data models must become dumb, not opinionated
this should resolve many deserialization issues.
- https://github.com/CycloneDX/cyclonedx-python-lib/issues/743
- improve docs, improve readability, general maintenance
- support EOL Python versions for as long as possible, unless a technical reason forces to drop

### proprietary_data

- [ ] Yes, the tool depends on proprietary data sources

### commercial_features

- [ ] Yes, the tool has a commercial version with different/additional features

### capabilities

- [x] Identifiers - Use Package-URL (PURL) identifiers
- [x] Identifiers - Use SPDX license expressions
- [ ] Scanning - Analyze package manifests and lockfiles
- [ ] Scanning - Analyze package files
- [ ] Scanning - Scan for copyright
- [ ] Scanning - Scan for license
- [ ] Scanning - Analyze source code
- [ ] Scanning - Analyze containers
- [ ] Scanning - Analyze installed system packages (linux distros)
- [ ] Scanning - Analyze installed application packages
- [ ] Scanning - Other analysis
- [ ] Packages - Inventory packages
- [ ] Packages - Inventory packages dependencies
- [ ] Packages - Resolve dependencies
- [ ] Packages - Navigate or display dependency graph
- [x] Compliance - Generate CycloneDX SBOMs
- [ ] Compliance - Generate SPDX SBOMs
- [x] Compliance - Validate CycloneDX SBOM
- [ ] Compliance - Validate SPDX SBOMs
- [x] Compliance - Generate CycloneDX VEX
- [ ] Compliance - Generate CSAF VEX
- [ ] Compliance - Generate OpenVex
- [ ] Compliance - Generate other compliance documents
- [ ] Policies - Define and check license policies
- [ ] Policies - Define and check security policies
- [ ] Policies - Define and check other policies
- [ ] Data - Database of Package metadata
- [ ] Data - Database of Package dependency relationships
- [ ] Data - Database of License obligations
- [ ] Data - Database of Licenses
- [ ] Data - Database of Vulnerabilities
- [x] License - Help triage license issues
- [ ] License - Generate license credit and attribution notices
- [ ] License - Generate source code redistribution lists
- [ ] Vulnerabilities - Detect vulnerable code in packages
- [ ] Vulnerabilities - Find known vulnerabilities for package
- [ ] Vulnerabilities - Determine reachable vulnerabilities
- [ ] Vulnerabilities - Help triage vulnerabilities
- [ ] Binaries - Analyze binaries
- [ ] Binaries - Analyze ELF binaries
- [ ] Binaries - Analyze Windows binaries
- [ ] Binaries - Analyze firmware binaries
- [ ] Binaries - Analyze Other binaries
- [ ] Matching - Match source code
- [ ] Matching - Match binary code
- [ ] Tracing - Trace code execution
- [ ] Tracing - Trace build
- [ ] Code Security - Analyze code statically (SAST/linting)
- [ ] Code Security - Analyze code dynamically (DAST)
- [ ] Download - Source package
- [ ] Download - Source repositories
- [ ] Download - Binary package
- [ ] Deployment - Deployable as containers (Docker/OCI/k8s/etc)
- [ ] Deployment - Deployable in CI/CD pipelines
- [x] Deployment - Deployable as a library
- [ ] Run - Run as a command line tool
- [ ] Run - Run as a web application
- [ ] Run - Run as an API service

### other_capabilities

License triage - When incorrect SPDX license identifiers are detected and can be mapped to correct SPDX License identifiers where possible this is identified

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.