Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information