UNCLASSIFIED - NO CUI

Skip to content

Update dependency importlib-metadata to v4

renovate requested to merge renovate/importlib-metadata-4.x into development

This MR contains the following updates:

Package Update Change
importlib-metadata major ==1.7.0 -> ==4.11.4

Release Notes

python/importlib_metadata

v4.11.4

Compare Source

=======

  • #​379: In PathDistribution._name_from_stem, avoid including parts of the extension in the result.
  • #​381: In PathDistribution._normalized_name, ensure names loaded 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

=======

  • #​372: Removed cast of path items in FastPath, not needed.

v4.11.2

Compare Source

=======

  • #​369: Fixed bug where EntryPoint.extras was returning match objects and not the extras strings.

v4.11.1

Compare Source

=======

  • #​367: In Distribution.requires for egg-info, if requires.txt is empty, return an empty list.

v4.11.0

Compare Source

=======

  • bpo-46246: Added __slots__ to EntryPoints.

v4.10.1

Compare Source

=======

v4.10.0

Compare Source

=======

  • #​354: Removed Distribution._local factory. This functionality was created as a demonstration of the possible implementation. Now, the pep517 <https://pypi.org/project/pep517>_ package provides this functionality directly through pep517.meta.load <https://github.com/pypa/pep517/blob/a942316305395f8f757f210e2b16f738af73f8b8/pep517/meta.py#L63-L73>_.

v4.9.0

Compare Source

======

  • Require Python 3.7 or later.

v4.8.3

Compare Source

======

  • #​357: Fixed requirement generation from egg-info when a 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::

    • ep[0] -> ep.name
    • ep[1] -> ep.value
    • ep[2] -> ep.group
    • ep[:] -> ep.name, ep.value, ep.group

v4.8.0

Compare Source

======

  • #​337: Rewrote EntryPoint as a simple class, still immutable and still with the attributes, but without any expectation for namedtuple functionality such as _asdict.

v4.7.1

Compare Source

======

  • #​344: Fixed regression in packages_distributions when neither top-level.txt nor a files manifest is present.

v4.7.0

Compare Source

======

  • #​330: In packages_distributions, now infer top-level names from .files() when a top-level.txt (Setuptools-specific metadata) is not present.

v4.6.4

Compare Source

======

  • #​334: Correct SimplePath protocol to match pathlib protocol for __truediv__.

v4.6.3

Compare Source

======

  • Moved workaround for #​327 to _compat module.

v4.6.2

Compare Source

======

  • bpo-44784: Avoid errors in test suite when DeprecationWarnings are treated as errors.

v4.6.1

Compare Source

======

  • #​327: Deprecation warnings now honor call stack variance on PyPy.

v4.6.0

Compare Source

======

  • #​326: Performance tests now rely on 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

======

  • #​319: Remove SelectableGroups deprecation exception for flake8.

v4.4.0

Compare Source

======

  • #​300: Restore compatibility in the result from Distribution.entry_points (EntryPoints) to honor expectations in older implementations and issuing deprecation warnings for these cases:

    • EntryPoints objects are once again mutable, allowing for 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 allow for 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

======

  • #​320: Fix issue where normalized name for eggs was incorrectly solicited, leading to metadata being unavailable for eggs.

v4.3.0

Compare Source

======

  • #​317: De-duplication of distributions no longer requires loading the full metadata for PathDistribution objects, entry point loading performance by ~10x.

v4.2.0

Compare Source

======

  • Prefer f-strings to .format calls.

v4.1.0

Compare Source

======

  • #​312: Add support for metadata 2.2 (Dynamic field).

  • #​315: Add SimplePath protocol for interface clarity in PathDistribution.

v4.0.1

Compare Source

======

  • #​306: Clearer guidance about compatibility in readme.

v4.0.0

Compare Source

======

  • #​304: PackageMetadata as returned by metadata() and Distribution.metadata() now provides normalized metadata honoring PEP 566:

    • If a long description is provided in the payload of the RFC 822 value, it can be retrieved as the Description field.
    • Any multi-line values in the metadata will be returned as such.
    • For any multi-line values, line continuation characters 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.
    • Add a json property that provides the metadata converted to a JSON-compatible form per PEP 566.

v3.10.1

Compare Source

=======

  • Minor tweaks from CPython.

v3.10.0

Compare Source

=======

  • #​295: Internal refactoring to unify section parsing logic.

v3.9.1

Compare Source

======

  • #​296: Exclude 'prepare' package.
  • #​297: Fix ValueError when entry points contains comments.

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 introduced in 3.7.0. See the entry points documentation <https://importlib-metadata.readthedocs.io/en/latest/using.html#entry-points>_ and changelog for the 3.6 release below for more detail.

    For some use-cases, especially those that rely on importlib.metadata in Python 3.8 and 3.9 or those relying on older importlib_metadata (especially on 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

======

  • #​293: Re-enabled lazy evaluation of path lookup through a FreezableDefaultDict.

v3.8.1

Compare Source

======

  • #​293: Workaround for error in distribution search.

v3.8.0

Compare Source

======

  • #​290: Add mtime-based caching for FastPath and its lookups, dramatically increasing performance for repeated distribution lookups.

v3.7.3

Compare Source

======

  • Docs enhancements and cleanup following review in GH-24782 <https://github.com/python/cpython/pull/24782>_.

v3.7.2

Compare Source

======

  • Cleaned up cruft in entry_points docstring.

v3.7.1

Compare Source

======

  • Internal refactoring to facilitate entry_points() -> dict deprecation.

v3.7.0

Compare Source

======

  • #​131: Added packages_distributions to conveniently resolve a top-level package or module to its distribution(s).

v3.6.0

Compare Source

======

  • #​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 (except item access) but remains a dict for compatibility.

    In the future, entry_points() will return an EntryPoints object for all entry points.

    If passing selection parameters to entry_points, the future behavior is invoked and an EntryPoints is the result.

  • #​284: Construction of entry points using dict([EntryPoint, ...]) is now deprecated and raises an appropriate DeprecationWarning and will be removed in a future version.

  • #​300: Distribution.entry_points now presents as an EntryPoints object and access by index is no longer allowed. If access by index is required, cast to a sequence first.

v3.5.0

Compare Source

======

  • #​280: entry_points now only returns entry points for unique distributions (by name).

v3.4.0

Compare Source

======

  • #​10: Project now declares itself as being typed.
  • #​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

Compare Source

======

  • #​265: EntryPoint objects now expose a .dist object referencing the Distribution when constructed from a Distribution.

v3.2.0

Compare Source

======

  • 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

Compare Source

======

v3.1.0

Compare Source

======

  • Merge with 2.1.0.

v3.0.0

Compare Source

======

  • Require Python 3.6 or later.

v2.1.3

Compare Source

=======

  • #​361: Avoid potential REDoS in EntryPoint.pattern.

v2.1.2

Compare Source

======

  • #​353: Fixed discovery of distributions when path is empty.

v2.1.1

Compare Source

======

  • #​261: Restored compatibility for package discovery for metadata without version in the name and for legacy eggs.

v2.1.0

Compare Source

======

  • #​253: When querying for package metadata, the lookup 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 to resolve the version of the package should query it directly with importlib_metadata.version('importlib-metadata'). Closes #​71.

Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled due to failing status checks.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Edited by renovate

Merge request reports

Loading