regret


Nameregret JSON
Version 2024.2.2 PyPI version JSON
download
home_page
SummaryYou made a thing, but now you wish it'd go away... Deprecations, a love story.
upload_time2024-02-26 17:34:35
maintainer
docs_urlNone
author
requires_python>=3.8
license
keywords deprecation deprecations maintenance regret tooling
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ======
regret
======

|PyPI| |Pythons| |CI| |Codecov| |ReadTheDocs|

.. |PyPI| image:: https://img.shields.io/pypi/v/regret.svg
  :alt: PyPI version
  :target: https://pypi.org/project/regret/

.. |Pythons| image:: https://img.shields.io/pypi/pyversions/regret.svg
  :alt: Supported Python versions
  :target: https://pypi.org/project/regret/

.. |CI| image:: https://github.com/Julian/regret/workflows/CI/badge.svg
  :alt: Build status
  :target: https://github.com/Julian/regret/actions?query=workflow%3ACI

.. |Codecov| image:: https://codecov.io/gh/Julian/regret/branch/master/graph/badge.svg
  :alt: Codecov Code coverage
  :target: https://codecov.io/gh/Julian/regret

.. |ReadTheDocs| image:: https://readthedocs.org/projects/regret/badge/?version=stable&style=flat
  :alt: ReadTheDocs status
  :target: https://regret.readthedocs.io/en/stable/

``regret`` is a library for deprecating functionality in Python
libraries and applications.

Its documentation lives on `Read the Docs
<https://regret.readthedocs.io/en/stable/>`_.


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.interface``\s
    - [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
      <https://semver.org/>`_, `CalVer <https://calver.org/>`_, `HipsTer
      <https://en.wikipedia.org/wiki/Hipster_(contemporary_subculture)>`_,
      etc.), because deprecations originate from a version, a point in
      time, or both.

    * be documentation system aware (i.e. `Sphinx
      <https://www.sphinx-doc.org>`_, `epydoc
      <https://en.wikipedia.org/wiki/Epydoc>`_, `Plaintext
      <https://www.google.com/search?q=use+sphinx>`_, 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
<https://github.com/Julian/jsonschema/issues?utf8=%E2%9C%93&q=label%3A%22Pending+Deprecation%22>`_,
and with luck, to subsume all the functionality present in
`twisted.python.deprecate <https://docs.twistedmatrix.com/en/stable/api/twisted.python.deprecate.html>`_.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "regret",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "deprecation,deprecations,maintenance,regret,tooling",
    "author": "",
    "author_email": "Julian Berman <Julian+regret@GrayVines.com>",
    "download_url": "https://files.pythonhosted.org/packages/db/96/b036b5b83061144e2f25dbaa51795824e5c54147c2bcc829b1ebe7fd74fd/regret-2024.2.2.tar.gz",
    "platform": null,
    "description": "======\nregret\n======\n\n|PyPI| |Pythons| |CI| |Codecov| |ReadTheDocs|\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/regret.svg\n  :alt: PyPI version\n  :target: https://pypi.org/project/regret/\n\n.. |Pythons| image:: https://img.shields.io/pypi/pyversions/regret.svg\n  :alt: Supported Python versions\n  :target: https://pypi.org/project/regret/\n\n.. |CI| image:: https://github.com/Julian/regret/workflows/CI/badge.svg\n  :alt: Build status\n  :target: https://github.com/Julian/regret/actions?query=workflow%3ACI\n\n.. |Codecov| image:: https://codecov.io/gh/Julian/regret/branch/master/graph/badge.svg\n  :alt: Codecov Code coverage\n  :target: https://codecov.io/gh/Julian/regret\n\n.. |ReadTheDocs| image:: https://readthedocs.org/projects/regret/badge/?version=stable&style=flat\n  :alt: ReadTheDocs status\n  :target: https://regret.readthedocs.io/en/stable/\n\n``regret`` is a library for deprecating functionality in Python\nlibraries and applications.\n\nIts documentation lives on `Read the Docs\n<https://regret.readthedocs.io/en/stable/>`_.\n\n\nDeprecations\n------------\n\n``regret`` can deprecate:\n\n    - [x] callables\n        - [x] functions\n        - [x] classes\n            - [ ] subclassable classes\n    - [ ] attributes\n        - [ ] of modules\n        - [ ] of classes (& methods)\n        - [ ] of instances\n    - [ ] descriptors\n        - [ ] classmethod\n    - [ ] modules\n        - [ ] current module\n        - [ ] other module\n    - [ ] parameters to callables\n        - [x] previously required parameters that will be removed\n        - [x] optional parameters that are now required\n        - [ ] deprecated values for parameters\n        - [ ] type changes for parameters\n        - [ ] mutual exclusion\n    - [ ] interfaces\n        - [ ] PEP 544 protocols\n        - [ ] ``zope.interface``\\s\n    - [x] inheritability of a class\n\n\nDesign Goals\n------------\n\n``regret`` is meant to cover all of the deprecations an author may encounter.\n\nIt is intended to:\n\n    * be versioning system agnostic (i.e. `SemVer\n      <https://semver.org/>`_, `CalVer <https://calver.org/>`_, `HipsTer\n      <https://en.wikipedia.org/wiki/Hipster_(contemporary_subculture)>`_,\n      etc.), because deprecations originate from a version, a point in\n      time, or both.\n\n    * be documentation system aware (i.e. `Sphinx\n      <https://www.sphinx-doc.org>`_, `epydoc\n      <https://en.wikipedia.org/wiki/Epydoc>`_, `Plaintext\n      <https://www.google.com/search?q=use+sphinx>`_, etc.), because\n      deprecations need communication.\n\n    * be itself fully tested, because deprecations must not break the\n      code they deprecate\n\n    * support removal date indication, and likely \"policies\" which\n      automate choosing default removal dates, because deprecations\n      ultimately intend some ultimate change\n\n    * make \"clean code\" trivially easy to deprecate, and make complex\n      code *possible* to deprecate, because the deprecation process is\n      fraught with edge cases and unforeseen necessity.\n\n    * minimize the amount of deprecation-related code required for\n      authors, since deprecations are boring, and we all want to focus on\n      developing our libraries instead.\n\nIn particular, as a lofty first milestone, it is intended to cover all\nof the specific deprecations required for these `jsonschema issues\n<https://github.com/Julian/jsonschema/issues?utf8=%E2%9C%93&q=label%3A%22Pending+Deprecation%22>`_,\nand with luck, to subsume all the functionality present in\n`twisted.python.deprecate <https://docs.twistedmatrix.com/en/stable/api/twisted.python.deprecate.html>`_.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "You made a thing, but now you wish it'd go away... Deprecations, a love story.",
    "version": "2024.2.2",
    "project_urls": {
        "Documentation": "https://regret.readthedocs.io/",
        "Funding": "https://github.com/sponsors/Julian",
        "Homepage": "https://github.com/Julian/regret",
        "Issues": "https://github.com/Julian/regret/issues/",
        "Source": "https://github.com/Julian/regret"
    },
    "split_keywords": [
        "deprecation",
        "deprecations",
        "maintenance",
        "regret",
        "tooling"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c3b07e9f7dc1cd94884c52e29b22e76abff140cf5c764abee806f3511b0f2b0a",
                "md5": "3300eddef8e10cb370758c717aaaf469",
                "sha256": "c9f74822c21f6089c96265ae069507580e9203e1f3df63cb64c47a9797d8f27d"
            },
            "downloads": -1,
            "filename": "regret-2024.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3300eddef8e10cb370758c717aaaf469",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 20417,
            "upload_time": "2024-02-26T17:34:33",
            "upload_time_iso_8601": "2024-02-26T17:34:33.609598Z",
            "url": "https://files.pythonhosted.org/packages/c3/b0/7e9f7dc1cd94884c52e29b22e76abff140cf5c764abee806f3511b0f2b0a/regret-2024.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "db96b036b5b83061144e2f25dbaa51795824e5c54147c2bcc829b1ebe7fd74fd",
                "md5": "eb80cc51e90c03237a92572dd0f8bb1a",
                "sha256": "eadd72ff837faeab10f831b8f435d4a8f46731a533fa6b4306ed067f6a49282a"
            },
            "downloads": -1,
            "filename": "regret-2024.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "eb80cc51e90c03237a92572dd0f8bb1a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 32925,
            "upload_time": "2024-02-26T17:34:35",
            "upload_time_iso_8601": "2024-02-26T17:34:35.151057Z",
            "url": "https://files.pythonhosted.org/packages/db/96/b036b5b83061144e2f25dbaa51795824e5c54147c2bcc829b1ebe7fd74fd/regret-2024.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-26 17:34:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sponsors",
    "github_project": "Julian",
    "github_not_found": true,
    "lcname": "regret"
}
        
Elapsed time: 0.23284s