Update dependency importlib-metadata to v6 #32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==1.7.0
->==6.0.0
Release Notes
python/importlib_metadata
v6.0.0
Compare Source
======
#419: Declared
Distribution
as an abstract class, enforcingdefinition of abstract methods in instantiated subclasses. It's no
longer possible to instantiate a
Distribution
or any subclassesunless they define the abstract methods.
Please comment in the issue if this change breaks any projects.
This change will likely be rolled back if it causes significant
disruption.
v5.2.0
Compare Source
======
PackageMetadata.__getitem__
will return
None
for missing keys. In the future, it will raise aKeyError
.v5.1.0
Compare Source
======
SimplePath
with generic support.v5.0.0
Compare Source
======
point interfaces.
v4.13.0
Compare Source
=======
PathDistributions
originatingfrom Python 3.8 and 3.9.
v4.12.0
Compare Source
=======
ValueError
whenNone
or an emptystring are passed to
Distribution.from_name
(and othercallers).
v4.11.4
Compare Source
=======
PathDistribution._name_from_stem
, avoid includingparts of the extension in the result.
PathDistribution._normalized_name
, ensure namesloaded from the stem of the filename are also normalized, ensuring
duplicate entry points by packages varying only by non-normalized
name are hidden.
v4.11.3
Compare Source
=======
v4.11.2
Compare Source
=======
EntryPoint.extras
was returningmatch objects and not the extras strings.
v4.11.1
Compare Source
=======
Distribution.requires
for egg-info, ifrequires.txt
is empty, return an empty list.
v4.11.0
Compare Source
=======
__slots__
toEntryPoints
.v4.10.1
Compare Source
=======
v4.10.0
Compare Source
=======
Distribution._local
factory. Thisfunctionality was created as a demonstration of the
possible implementation. Now, the
pep517 <https://pypi.org/project/pep517>
_ packageprovides this functionality directly through
pep517.meta.load <https://github.com/pypa/pep517/blob/a942316305395f8f757f210e2b16f738af73f8b8/pep517/meta.py#L63-L73>
_.v4.9.0
Compare Source
======
v4.8.3
Compare Source
======
URL requirement is given.
v4.8.2
Compare Source
======
v4.8.1
Compare Source
======
#348: Restored support for
EntryPoint
access by item,deprecating support in the process. Users are advised
to use direct member access instead of item-based access::
v4.8.0
Compare Source
======
EntryPoint
as a simple class, stillimmutable and still with the attributes, but without any
expectation for
namedtuple
functionality such as_asdict
.v4.7.1
Compare Source
======
packages_distributions
whenneither top-level.txt nor a files manifest is present.
v4.7.0
Compare Source
======
packages_distributions
, now infer top-levelnames from
.files()
when atop-level.txt
(Setuptools-specific metadata) is not present.
v4.6.4
Compare Source
======
SimplePath
protocol to matchpathlib
protocol for
__truediv__
.v4.6.3
Compare Source
======
_compat
module.v4.6.2
Compare Source
======
DeprecationWarnings are treated as errors.
v4.6.1
Compare Source
======
on PyPy.
v4.6.0
Compare Source
======
pytest-perf <https://pypi.org/project/pytest-perf>
_.To disable these tests, which require network access
and a git checkout, pass
-p no:perf
to pytest.v4.5.0
Compare Source
======
SelectableGroups
deprecation exceptionfor flake8.
v4.4.0
Compare Source
======
#300: Restore compatibility in the result from
Distribution.entry_points
(EntryPoints
) to honorexpectations in older implementations and issuing
deprecation warnings for these cases:
EntryPoints
objects are once again mutable, allowingfor
sort()
and other list-based mutation operations.Avoid deprecation warnings by casting to a
mutable sequence (e.g.
list(dist.entry_points).sort()
).EntryPoints
results once again allowfor access by index. To avoid deprecation warnings,
cast the result to a Sequence first
(e.g.
tuple(dist.entry_points)[0]
).v4.3.1
Compare Source
======
incorrectly solicited, leading to metadata being
unavailable for eggs.
v4.3.0
Compare Source
======
loading the full metadata for
PathDistribution
objects,entry point loading performance by ~10x.
v4.2.0
Compare Source
======
.format
calls.v4.1.0
Compare Source
======
#312: Add support for metadata 2.2 (
Dynamic
field).#315: Add
SimplePath
protocol for interface clarityin
PathDistribution
.v4.0.1
Compare Source
======
v4.0.0
Compare Source
======
#304:
PackageMetadata
as returned bymetadata()
and
Distribution.metadata()
now provides normalizedmetadata honoring PEP 566:
RFC 822 value, it can be retrieved as the
Description
field.
such.
are removed. This backward-incompatible change means
that any projects relying on the RFC 822 line continuation
characters being present must be tolerant to them having
been removed.
json
property that provides the metadataconverted to a JSON-compatible form per PEP 566.
v3.10.1
Compare Source
=======
v3.10.0
Compare Source
=======
v3.9.1
Compare Source
======
v3.9.0
Compare Source
======
Use of Mapping (dict) interfaces on
SelectableGroups
is now flagged as deprecated. Instead, users are advised
to use the select interface for future compatibility.
Suppress the warning with this filter:
ignore:SelectableGroups dict interface
.Or with this invocation in the Python environment:
warnings.filterwarnings('ignore', 'SelectableGroups dict interface')
.Preferably, switch to the
select
interface introducedin 3.7.0. See the
entry points documentation <https://importlib-metadata.readthedocs.io/en/latest/using.html#entry-points>
_ and changelog for the 3.6release below for more detail.
For some use-cases, especially those that rely on
importlib.metadata
in Python 3.8 and 3.9 orthose relying on older
importlib_metadata
(especiallyon Python 3.5 and earlier),
backports.entry_points_selectable <https://pypi.org/project/backports.entry_points_selectable>
_was created to ease the transition. Please have a look
at that project if simply relying on importlib_metadata 3.6+
is not straightforward. Background in #298.
#283: Entry point parsing no longer relies on ConfigParser
and instead uses a custom, one-pass parser to load the
config, resulting in a ~20% performance improvement when
loading entry points.
v3.8.2
Compare Source
======
a FreezableDefaultDict.
v3.8.1
Compare Source
======
v3.8.0
Compare Source
======
FastPath
and itslookups, dramatically increasing performance for repeated
distribution lookups.
v3.7.3
Compare Source
======
GH-24782 <https://github.com/python/cpython/pull/24782>
_.v3.7.2
Compare Source
======
v3.7.1
Compare Source
======
entry_points() -> dict
deprecation.
v3.7.0
Compare Source
======
packages_distributions
to convenientlyresolve a top-level package or module to its distribution(s).
v3.6.0
Compare Source
======
#284: Introduces new
EntryPoints
object, a tuple ofEntryPoint
objects but with convenience properties forselecting and inspecting the results:
.select()
acceptsgroup
orname
keywordparameters and returns a new
EntryPoints
tuplewith only those that match the selection.
.groups
property presents all of the group names..names
property presents the names of the entry points.eps[name]
) retrieves a singleentry point by name.
entry_points
now accepts "selection parameters",same as
EntryPoint.select()
.entry_points()
now provides a future-compatibleSelectableGroups
object that supplies the above interface(except item access) but remains a dict for compatibility.
In the future,
entry_points()
will return anEntryPoints
object for all entry points.If passing selection parameters to
entry_points
, thefuture behavior is invoked and an
EntryPoints
is theresult.
#284: Construction of entry points using
dict([EntryPoint, ...])
is now deprecated and raisesan appropriate DeprecationWarning and will be removed in
a future version.
#300:
Distribution.entry_points
now presents as anEntryPoints
object and access by index is no longerallowed. If access by index is required, cast to a sequence
first.
v3.5.0
Compare Source
======
entry_points
now only returns entry points forunique distributions (by name).
v3.4.0
Compare Source
======
discovery.
MetadataPathFinder._search_paths
honors the neededinterface. Method is still private.
v3.3.0
Compare Source
======
EntryPoint
objects now expose a.dist
objectreferencing the
Distribution
when constructed from aDistribution.
v3.2.0
Compare Source
======
metadata()
now has aformally-defined protocol called
PackageMetadata
with declared support for the
.get_all()
method.Fixes #126.
v3.1.1
Compare Source
======
v3.1.0
Compare Source
======
v3.0.0
Compare Source
======
v2.1.3
Compare Source
=======
EntryPoint.pattern
.v2.1.2
Compare Source
======
v2.1.1
Compare Source
======
metadata without version in the name and for legacy
eggs.
v2.1.0
Compare Source
======
now honors
package normalization rules <https://packaging.python.org/specifications/recording-installed-packages/>
_.v2.0.0
Compare Source
======
importlib_metadata
no longer presents a__version__
attribute. Consumers wishing toresolve the version of the package should query it
directly with
importlib_metadata.version('importlib-metadata')
.Closes #71.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.