.. 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"
}