CycloneDX / CycloneDX/cyclonedx-python-lib
feat: improve deprecation warnings - PEP-387
- 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
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