CycloneDX / CycloneDX/cyclonedx-python-lib

feat!: (re)move non-standard implementations

Open
#919 0 comments 0 reactions 0 assignees View on GitHub
breaking change contrib refactor
Dominant language
Python
Stars
116
Forks
67
Avg merge
8d 2h
Merged PRs (30d)
2

Description

This library claims to implement the CycloneDX standard. And it doe.

but it also has some implementation parts that are not standard - they should be moved to the "contrib" area, or removed entirely.

## Goal
- [ ] move helpers/factories/builders to the "contrib" area
- #916
- remove the (old) deprecated exports
- remove the usage of external models
- [ ] `Compoennt.purl` is no longer an instance of `PackageUrl` but a simple `str` or instance of string-castable
- cast to string on normalization
- downstream users can still use a PackageURL object, if needed ....
- remove `packageurl` dependency
- #939
- [ ] validation of external standards -like SPDX expressios and such...
- [ ] don't use UUID for `bom.serailNumber` - this is a string ...
- tbc...

## Motivation:
- have a clean standard implementation, no opinionated fluff, only models and (de)serailization.

Contributor guide

Open the contributing guide

Research direction

The issue covers helpers, factories, builders, deprecated exports, Component.purl, the packageurl dependency, SPDX-like validation, and bom.serialNumber. Start by inventorying those areas and reviewing linked issues #916 and #939. Done means the non-standard implementations are moved or removed and the remaining models and serialization stay aligned with the stated standard.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.