skillfed

backports.entry-points-selectable

Compatibility shim providing selectable entry points for older implementations

backports-entry-points-selectable v1.3.0 611.3K downloads/30d#5,761 on PyPI2
Permissive license Active released

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-selectable

uv

uv add backports-entry-points-selectable

poetry

poetry add backports-entry-points-selectable

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3

Tags

entry points compatibilityimportlib metadata backportselectable entry pointsentry points shimimportlib_metadata compatibilityentry point selection
backportentry-points

More Software Development packages