Skip to main content

Compatibility shim providing selectable entry points for older implementations

Project description

https://img.shields.io/pypi/v/backports.entry_points_selectable.svg https://img.shields.io/pypi/pyversions/backports.entry_points_selectable.svg tests Code style: Black https://img.shields.io/badge/skeleton-2021-informational

Compatibility shim to ease adoption of importlib_metadata 3.6. Supplies forward-compatibility of “selectable” entry points even on older versions of importlib_metadata and importlib.metadata, and avoids usage that triggers deprecation warnings.

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 your project 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 downstream project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for backports.entry-points-selectable, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size backports.entry_points_selectable-1.1.0-py2.py3-none-any.whl (6.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size backports.entry_points_selectable-1.1.0.tar.gz (8.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page