"You made a thing, but now you wish it'd go away... Deprecations, a love story."
Project description
Regret is a library for deprecating functionality in Python libraries and applications.
Its documentation lives on Read the Docs.
Deprecations
Regret can deprecate:
- [x] callables
[x] functions
- [x] classes
[ ] subclassable classes
- [ ] attributes
[ ] of modules
[ ] of classes
[ ] of instances
- [ ] descriptors
[ ] classmethod
[ ] modules
- [ ] parameters to callables
[x] previously required parameters that will be removed
[ ] optional parameters that are now required
[ ] deprecated values for parameters
[ ] type changes for parameters
[ ] mutual exclusion
- [ ] interfaces
[ ] PEP 544 protocols
[ ] zope.interfaces
[x] inheritability of a class
Design Goals
Regret is meant to cover all of the deprecations an author may encounter.
It is intended to:
be versioning system agnostic (i.e. SemVer, CalVer, HipsTer, etc.)
be documentation system agnostic, though potentially documentation system aware (i.e. Sphinx, epydoc, Plaintext, etc.)
be itself fully tested
support removal date indication, and likely “policies” which automate choosing default removal dates
make “clean code” trivially easy to deprecate, and make complex code possible to deprecate
minimize the amount of deprecation-related code required for authors
In particular, as a lofty first milestone, it is intended to cover all of the specific deprecations required for these jsonschema issues, and with luck, to subsume all the functionality present in twisted.python.deprecate.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for regret-0.27.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7251989cc41dcb8484ca89500f60a21c48cf04e280f909d806180de2a29d9d78 |
|
MD5 | 627c10ac3535e4418b894caa49f1095e |
|
BLAKE2b-256 | 597161ae575699bd38c0a59fcbfd095e5427c5954aac54199755576bf0f89be8 |