#284: Introduces new EntryPoints object, a tuple of
EntryPoint objects but with convenience properties for
selecting and inspecting the results:
.select() accepts group or name keyword
parameters and returns a new EntryPoints tuple
with only those that match the selection.
.groups property presents all of the group names.
.names property presents the names of the entry points.
Item access (e.g. eps[name]) retrieves a single
entry point by name.
entry_points now accepts "selection parameters",
same as EntryPoint.select().
entry_points() now provides a future-compatible
SelectableGroups object that supplies the above interface
but remains a dict for compatibility.
In the future, entry_points() will return an
EntryPoints object, but provide for backward
compatibility with a deprecated __getitem__
accessor by group and a get() method.
If passing selection parameters to entry_points, the
future behavior is invoked and an EntryPoints is the
result.
Construction of entry points using
dict([EntryPoint, ...]) is now deprecated and raises
an appropriate DeprecationWarning and will be removed in
a future version.
v3.5.0
#280: entry_points now only returns entry points for
unique distributions (by name).
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps importlib-metadata from 1.7.0 to 3.6.0.
Changelog
Sourced from importlib-metadata's changelog.
... (truncated)
Commits
73cf0a9
Merge pull request #278 from python/feature/entry-points-by-group-and-namebdce7ef
Merge branch 'main' into feature/entry-points-by-group-and-namedd8da47
Leverage EntryPoints interfaces in SelectableGroups2def046
Address coverage misses, ignored for LegacyGroupedEntryPoints.2db4dad
Introduce SelectableGroups, created for the 3.x line to provide forward compa...d6f7c20
Add docstrings to the compatibility shim. Give primacy to group lookup in com...9d55a33
Separate compatibility shim from canonical EntryPoints container.e3d1b93
Update changelog.f80f79d
Merge branch 'main' into feature/entry-points-by-group-and-name61a265c
Fix perf testsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)