Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support retrieval of all EntryPoints in natural order #282

Closed
jaraco opened this issue Feb 21, 2021 · 1 comment
Closed

Support retrieval of all EntryPoints in natural order #282

jaraco opened this issue Feb 21, 2021 · 1 comment

Comments

@jaraco
Copy link
Member

jaraco commented Feb 21, 2021

The current entry_points API performs some processing on the entry points after gathering them from all of the distributions. As a result, there are two use-cases that are encumbered:

  • It's inconvenient to retrieve the full set of entry points for the working environment. One must enumerate all groups and flatten the set of entry points to retrieve the full set in the environment.
  • By the time the grouped entry points are returned, it's no longer possible to report or inspect the entry points in their natural order (discovery order), information that would prove useful in troubleshooting or for honoring environment-specific concerns, such as precedence.

The first use-case was reported to me by a custom packaging solution (like PyInstaller), though I haven't been able to find a reference.

It would be preferable to expose a low-level interface that presents the EntryPoints in their natural order before down-selecting them by group. Interestingly, I observe that both entrypoints and pkg_resources both allow resolution of entry points by group only (never the full set), suggesting that these use-cases are of low importance.

@jaraco
Copy link
Member Author

jaraco commented Feb 24, 2021

Fixed in #278 (when 'select' is used, and later when SelectableGroups is dropped).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant