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

Update dependency importlib-metadata to v6 #32

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

mend-for-github-com[bot]
Copy link
Contributor

This PR contains the following updates:

Package Type Update Change
importlib-metadata packages major ==1.7.0 -> ==6.0.0

Release Notes

python/importlib_metadata

v6.0.0

Compare Source

======

  • #​419: Declared Distribution as an abstract class, enforcing
    definition of abstract methods in instantiated subclasses. It's no
    longer possible to instantiate a Distribution or any subclasses
    unless 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

======

  • #​371: Deprecated expectation that PackageMetadata.__getitem__
    will return None for missing keys. In the future, it will raise a
    KeyError.

v5.1.0

Compare Source

======

  • #​415: Instrument SimplePath with generic support.

v5.0.0

Compare Source

======

v4.13.0

Compare Source

=======

  • #​396: Added compatibility for PathDistributions originating
    from Python 3.8 and 3.9.

v4.12.0

Compare Source

=======

  • py-93259: Now raise ValueError when None or an empty
    string are passed to Distribution.from_name (and other
    callers).

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: 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.


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

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

Successfully merging this pull request may close these issues.

0 participants