backports.entry-points-selectable


Namebackports.entry-points-selectable JSON
Version 1.3.0 PyPI version JSON
download
home_pagehttps://github.com/jaraco/backports.entry_points_selectable
SummaryCompatibility shim providing selectable entry points for older implementations
upload_time2023-11-27 19:03:06
maintainer
docs_urlNone
authorJason R. Coombs
requires_python>=3.8
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            .. image:: https://img.shields.io/pypi/v/backports.entry_points_selectable.svg
   :target: https://pypi.org/project/backports.entry_points_selectable

.. image:: https://img.shields.io/pypi/pyversions/backports.entry_points_selectable.svg

.. image:: https://github.com/jaraco/backports.entry_points_selectable/workflows/tests/badge.svg
   :target: https://github.com/jaraco/backports.entry_points_selectable/actions?query=workflow%3A%22tests%22
   :alt: tests

.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Ruff

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/psf/black
   :alt: Code style: Black

.. .. image:: https://readthedocs.org/projects/PROJECT_RTD/badge/?version=latest
..    :target: https://PROJECT_RTD.readthedocs.io/en/latest/?badge=latest

.. image:: https://img.shields.io/badge/skeleton-2023-informational
   :target: https://blog.jaraco.com/skeleton

Compatibility shim to ease adoption of `importlib_metadata 3.6 <https://importlib-metadata.readthedocs.io/en/latest/history.html#v3-6-0>`_. Supplies forward-compatibility of "selectable" entry points even on older versions of ``importlib_metadata`` and ``importlib.metadata``, and avoids usage that triggers `deprecation warnings <https://github.com/python/importlib_metadata/issues/298>`_.

Use this shim for libraries or applications invoking ``entry_points()`` that run on Python older than 3.10 or where importlib_metadata is older than 3.6. In most cases, this shim is unnecessary and the easiest thing to do is simply require ``importlib_metadata >= 3.6`` on all Pythons (or only those prior to 3.10a7). In some environments, a library may be constrained on which versions of ``importlib_metadata`` can be required, so this library bridges that gap.

To use this shim, add ``backports.entry_points_selectable`` to the affected project's requirements. It will require ``importlib_metadata`` automatically where needed (prior to Python 3.8) but be satisfied by older versions. Projects should still require ``importlib_metadata`` as appropriate for API uses other than for ``entry_points``.

Then in code, instead of ``from importlib.metadata import entry_points``, use::

    from backports.entry_points_selectable import entry_points

And then use the "selectable" features (pass keyword arguments to ``entry_points`` or invoke ``.select()`` on the result).

This backport has a very lenient dependency on `importlib_metadata` for older Pythons and is a single module implementation. If adding a dependency is a concern, this module may be vendored into the affected project.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jaraco/backports.entry_points_selectable",
    "name": "backports.entry-points-selectable",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Jason R. Coombs",
    "author_email": "jaraco@jaraco.com",
    "download_url": "https://files.pythonhosted.org/packages/fc/25/dae014b114397a6f60578d7358bf5fcb103f71556e5363a50d7b42e9bc51/backports.entry_points_selectable-1.3.0.tar.gz",
    "platform": null,
    "description": ".. image:: https://img.shields.io/pypi/v/backports.entry_points_selectable.svg\n   :target: https://pypi.org/project/backports.entry_points_selectable\n\n.. image:: https://img.shields.io/pypi/pyversions/backports.entry_points_selectable.svg\n\n.. image:: https://github.com/jaraco/backports.entry_points_selectable/workflows/tests/badge.svg\n   :target: https://github.com/jaraco/backports.entry_points_selectable/actions?query=workflow%3A%22tests%22\n   :alt: tests\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\n    :target: https://github.com/astral-sh/ruff\n    :alt: Ruff\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n   :target: https://github.com/psf/black\n   :alt: Code style: Black\n\n.. .. image:: https://readthedocs.org/projects/PROJECT_RTD/badge/?version=latest\n..    :target: https://PROJECT_RTD.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/skeleton-2023-informational\n   :target: https://blog.jaraco.com/skeleton\n\nCompatibility shim to ease adoption of `importlib_metadata 3.6 <https://importlib-metadata.readthedocs.io/en/latest/history.html#v3-6-0>`_. Supplies forward-compatibility of \"selectable\" entry points even on older versions of ``importlib_metadata`` and ``importlib.metadata``, and avoids usage that triggers `deprecation warnings <https://github.com/python/importlib_metadata/issues/298>`_.\n\nUse this shim for libraries or applications invoking ``entry_points()`` that run on Python older than 3.10 or where importlib_metadata is older than 3.6. In most cases, this shim is unnecessary and the easiest thing to do is simply require ``importlib_metadata >= 3.6`` on all Pythons (or only those prior to 3.10a7). In some environments, a library may be constrained on which versions of ``importlib_metadata`` can be required, so this library bridges that gap.\n\nTo use this shim, add ``backports.entry_points_selectable`` to the affected project's requirements. It will require ``importlib_metadata`` automatically where needed (prior to Python 3.8) but be satisfied by older versions. Projects should still require ``importlib_metadata`` as appropriate for API uses other than for ``entry_points``.\n\nThen in code, instead of ``from importlib.metadata import entry_points``, use::\n\n    from backports.entry_points_selectable import entry_points\n\nAnd then use the \"selectable\" features (pass keyword arguments to ``entry_points`` or invoke ``.select()`` on the result).\n\nThis backport has a very lenient dependency on `importlib_metadata` for older Pythons and is a single module implementation. If adding a dependency is a concern, this module may be vendored into the affected project.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Compatibility shim providing selectable entry points for older implementations",
    "version": "1.3.0",
    "project_urls": {
        "Homepage": "https://github.com/jaraco/backports.entry_points_selectable"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5a78b3ba5d804ae21e26e6179bbe4e1338deaaba9d20161918f59e20e9d92ea0",
                "md5": "c6e404d31a80f324c5b7c7b1a7f75b9c",
                "sha256": "66f5da003eb4b283c7b60581bc8bb0baf0d810eb3e3068da786d3821b4d5746a"
            },
            "downloads": -1,
            "filename": "backports.entry_points_selectable-1.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c6e404d31a80f324c5b7c7b1a7f75b9c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6217,
            "upload_time": "2023-11-27T19:03:04",
            "upload_time_iso_8601": "2023-11-27T19:03:04.844633Z",
            "url": "https://files.pythonhosted.org/packages/5a/78/b3ba5d804ae21e26e6179bbe4e1338deaaba9d20161918f59e20e9d92ea0/backports.entry_points_selectable-1.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc25dae014b114397a6f60578d7358bf5fcb103f71556e5363a50d7b42e9bc51",
                "md5": "1b9e52414e61cc24e25e21edac88ca1a",
                "sha256": "17a8b44ae700fba548686dd274ddc91c060371565cd63806c20a1d33911746e6"
            },
            "downloads": -1,
            "filename": "backports.entry_points_selectable-1.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1b9e52414e61cc24e25e21edac88ca1a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 9882,
            "upload_time": "2023-11-27T19:03:06",
            "upload_time_iso_8601": "2023-11-27T19:03:06.585812Z",
            "url": "https://files.pythonhosted.org/packages/fc/25/dae014b114397a6f60578d7358bf5fcb103f71556e5363a50d7b42e9bc51/backports.entry_points_selectable-1.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-27 19:03:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jaraco",
    "github_project": "backports.entry_points_selectable",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "backports.entry-points-selectable"
}
        
Elapsed time: 0.16472s