Log message:
py-importlib-metadata: updated to 4.11.3
v4.11.3
* Removed cast of path items in FastPath, not needed.
v4.11.2
* Fixed bug where ``EntryPoint.extras`` was returning
match objects and not the extras strings.
v4.11.1
* In ``Distribution.requires`` for egg-info, if ``requires.txt``
is empty, return an empty list.
v4.11.0
* bpo-46246: Added ``__slots__`` to ``EntryPoints``.
v4.10.2
* Avoid leaking ``method_name`` in ``DeprecatedList``.
|
Log message:
py-importlib-metadata: update to 4.10.1.
v4.10.1
=======
* #361: Avoid potential REDoS in ``EntryPoint.pattern``.
v4.10.0
=======
* #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
======
* Require Python 3.7 or later.
v4.8.3
======
* #357: Fixed requirement generation from egg-info when a
URL requirement is given.
v4.8.2
======
v2.1.2
======
* #353: Fixed discovery of distributions when path is empty.
v4.8.1
======
* #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
======
* #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
======
* #344: Fixed regression in ``packages_distributions`` when
neither top-level.txt nor a files manifest is present.
v4.7.0
======
* #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
======
* #334: Correct ``SimplePath`` protocol to match ``pathlib``
protocol for ``__truediv__``.
v4.6.3
======
* Moved workaround for #327 to ``_compat`` module.
v4.6.2
======
* bpo-44784: Avoid errors in test suite when
DeprecationWarnings are treated as errors.
v4.6.1
======
* #327: Deprecation warnings now honor call stack variance
on PyPy.
v4.6.0
======
* #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
======
* #319: Remove ``SelectableGroups`` deprecation exception
for flake8.
v4.4.0
======
* #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
======
* #320: Fix issue where normalized name for eggs was
incorrectly solicited, leading to metadata being
unavailable for eggs.
v4.3.0
======
* #317: De-duplication of distributions no longer requires
loading the full metadata for ``PathDistribution`` objects,
entry point loading performance by ~10x.
v4.2.0
======
* Prefer f-strings to ``.format`` calls.
v4.1.0
======
* #312: Add support for metadata 2.2 (``Dynamic`` field).
* #315: Add ``SimplePath`` protocol for interface clarity
in ``PathDistribution``.
v4.0.1
======
* #306: Clearer guidance about compatibility in readme.
v4.0.0
======
* #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
=======
* Minor tweaks from CPython.
v3.10.0
=======
* #295: Internal refactoring to unify section parsing logic.
v3.9.1
======
* #296: Exclude 'prepare' package.
* #297: Fix ValueError when entry points contains comments.
v3.9.0
======
* 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
======
* #293: Re-enabled lazy evaluation of path lookup through
a FreezableDefaultDict.
v3.8.1
======
* #293: Workaround for error in distribution search.
v3.8.0
======
* #290: Add mtime-based caching for ``FastPath`` and its
lookups, dramatically increasing performance for repeated
distribution lookups.
v3.7.3
======
* Docs enhancements and cleanup following review in
`GH-24782 <https://github.com/python/cpython/pull/24782>`_.
v3.7.2
======
* Cleaned up cruft in entry_points docstring.
v3.7.1
======
* Internal refactoring to facilitate ``entry_points() -> dict``
deprecation.
v3.7.0
======
* #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
(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
======
* #280: ``entry_points`` now only returns entry points for
unique distributions (by name).
v3.4.0
======
* #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
======
* #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
======
v2.1.1
======
* #261: Restored compatibility for package discovery for
metadata without version in the name and for legacy
eggs.
v3.1.0
======
* Merge with 2.1.0.
v2.1.0
======
* #253: When querying for package metadata, the lookup
now honors
`package normalization rules \
<https://packaging.python.org/specifications/recording-installed-packages/>`_.
v3.0.0
======
* Require Python 3.6 or later.
|