#131: Added packages_distributions to conveniently resolve a top-level package or module to its distribution(s).
v3.6.0
#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).
#272: Additional performance enhancements to distribution discovery.
#111: For PyPA projects, add test ensuring that MetadataPathFinder._search_paths honors the needed interface. Method is still private.
v3.3.0
#265: EntryPoint objects now expose a .dist object referencing the Distribution when constructed from a Distribution.
v3.2.0
The object returned by metadata() now has a formally-defined protocol called PackageMetadata with declared support for the .get_all() method. Fixes #126.
v3.1.1
... (truncated)
Commits
aa9f799 Merge pull request #287 from python/feature/packages-distributions
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)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps importlib-metadata from 1.4.0 to 3.7.0.
Changelog
Sourced from importlib-metadata's changelog.
... (truncated)
Commits
aa9f799
Merge pull request #287 from python/feature/packages-distributions466cd3c
Add 'packages_distributions'. Fixes #131.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.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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)