backports.entry-points-selectable
Compatibility shim providing selectable entry points for older implementations
What it is and what it does
This package is a compatibility shim that bridges the gap between older versions of Python and importlib_metadata that lack support for selectable entry points. It lets you use the modern entry_points() API with keyword arguments or .select() methods on Python versions and importlib_metadata versions that would otherwise not support them, while avoiding deprecation warnings.
The package is designed for library and application maintainers who need to support older Python environments but want to use the newer entry point selection interface. It requires only importlib_metadata as a runtime dependency and can be vendored directly into a project if adding a dependency is a concern. Most projects should instead simply require importlib_metadata >= 3.6, but this shim exists for cases where that constraint is not possible.
Use it for:
- Library that needs to support older Python while using modern entry point selection syntax.
- Application constrained to older importlib_metadata versions but needing selectable entry points.
- Avoiding deprecation warnings when calling entry_points() on older Python versions.
- Vendoring into a project to avoid adding a new external dependency.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides forward-compatible access to selectable entry points on older Python versions and importlib_metadata versions, avoiding deprecation warnings.
Yes, if you maintain a library or application that must support older Python or importlib_metadata versions and need to use selectable entry points. Otherwise, simply requiring importlib_metadata >= 3.6 is simpler. No security issues, low friction, and stable maintenance make it safe to use when needed.
Install
backports-entry-points-selectable on PyPI
pip
pip install backports-entry-points-selectableuv
uv add backports-entry-points-selectablepoetry
poetry add backports-entry-points-selectableInstalling backports.entry-points-selectable
Before you install
Low install friction with a single runtime dependency on importlib_metadata. Actively maintained with stable production status.
License in practice
MIT license permits commercial and private use with minimal restrictions; suitable for inclusion in most projects.
Quickstart
pip install backports.entry-points-selectable
from backports.entry_points_selectable import entry_points
eps = entry_points(group='console_scripts')
for ep in eps:
print(ep.name)
Requires Python 3.8 or later; intended for use on Python versions older than 3.10 or where importlib_metadata is older than 3.6.
Verify before relying
- Whether vendoring this module into a project is feasible as an alternative to adding the dependency.
- Performance characteristics when used with large numbers of entry points.
- Specific deprecation warnings avoided and their conditions.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — importlib-metadata |
| Maintenance | actively maintained — 991 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 611,289/month — #5,761 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: backports.entry_points_selectable-1.3.0-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
importlib-metadataProvides third-party access to Python package…
permissive · top 100 on PyPI
entrypointsDiscovers and loads entry points from installed…
permissive · top 1,000 on PyPI
importlibProvides importlib.import_module() for Python…
unclear · top 15,000 on PyPI
importlib-resourcesProvides a backport of Python's standard…
permissive · top 1,000 on PyPI
entrypointProvides a decorator to mark functions as entry…
permissive · top 15,000 on PyPI
eval-type-backportEnables newer Python typing syntax (like `X |…
permissive · top 1,000 on PyPI
backports.tarfileProvides a backport of Python's tarfile module…
permissive · top 1,000 on PyPI
traceback2Provides a backport of Python's traceback…
permissive · top 5,000 on PyPI
pathlib2Backport of Python's standard pathlib module…
permissive · top 5,000 on PyPI