CycloneDX / CycloneDX/cyclonedx-python-lib

feat: improve deprecation warnings - PEP-387

Open
#760 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
116
Forks
67
Avg merge
8d 2h
Merged PRs (30d)
2

Description

see also: https://peps.python.org/pep-0387/

goal: improve backwards compatibility, while improving Developer experience.

## solution

- [x] move deprecated property warnings to setters
- via #838
- [x] annotate deprecated symbols
- via #839
- [ ] use `DeprecationWarning` instead of warnings. -- DEBATABLE -- see below
- requires py8.13

## important

we dont have any intention to remove deprecated properties, unless we have a backwards-compatibility layer that guarantees that all supported versions of CycloneDX spec are serializable and deserializable.

## implementation

- use for annotation of symbols: https://typing-extensions.readthedocs.io/en/latest/#typing_extensions.deprecated

Contributor guide

Open the contributing guide

Research direction

Start by reading PEP-387 and the issue checklist, then review the deprecation-warning implementation and supported Python versions. The remaining decision is whether to use DeprecationWarning, with completion requiring agreement on that choice and compatibility with the supported versions; the issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
developer-experience
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.