Skip to main content

PyPI version Supported Python versions Build status Codecov Code coverage ReadTheDocs status

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 (& methods)

    • [ ] of instances

  • [ ] descriptors
    • [ ] classmethod

  • [ ] modules
    • [ ] current module

    • [ ] other module

  • [ ] parameters to callables
    • [x] previously required parameters that will be removed

    • [x] 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.), because deprecations originate from a version, a point in time, or both.

  • be documentation system aware (i.e. Sphinx, epydoc, Plaintext, etc.), because deprecations need communication.

  • be itself fully tested, because deprecations must not break the code they deprecate

  • support removal date indication, and likely “policies” which automate choosing default removal dates, because deprecations ultimately intend some ultimate change

  • make “clean code” trivially easy to deprecate, and make complex code possible to deprecate, because the deprecation process is fraught with edge cases and unforeseen necessity.

  • minimize the amount of deprecation-related code required for authors, since deprecations are boring, and we all want to focus on developing our libraries instead.

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.

Metadata

Release files for regret 2024.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for regret 2024.2.2
File Size Uploaded Provenance Actions
regret-2024.2.2.tar.gz 32.9 kB Without provenance Details for regret-2024.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for regret 2024.2.2
File Interpreter ABI Platform Actions
regret-2024.2.2-py3-none-any.whl Python 3 none any Details for regret-2024.2.2-py3-none-any.whl

Total release size: 53.3 kB

Release files / regret-2024.2.2.tar.gz

Download URL regret-2024.2.2.tar.gz
Size 32.9 kB
Tags Source
SHA-256 checksum
How to use checksums
eadd72ff837faeab10f831b8f435d4a8f46731a533fa6b4306ed067f6a49282a
BLAKE2b-256 checksum
How to use checksums
db96b036b5b83061144e2f25dbaa51795824e5c54147c2bcc829b1ebe7fd74fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.8

Release files / regret-2024.2.2-py3-none-any.whl

Download URL regret-2024.2.2-py3-none-any.whl
Size 20.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9f74822c21f6089c96265ae069507580e9203e1f3df63cb64c47a9797d8f27d
BLAKE2b-256 checksum
How to use checksums
c3b07e9f7dc1cd94884c52e29b22e76abff140cf5c764abee806f3511b0f2b0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.8

Security for regret 2024.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2024.2.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page