Sync from SUSE:ALP:Source:Standard:1.0 saltbundlepy-importlib-metadata revision 2d382199f5c9df2f3f6f90885a53ab4b

This commit is contained in:
Adrian Schröter 2024-07-12 12:19:42 +02:00
commit 7c3a87682d
4 changed files with 576 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
importlib_metadata-6.8.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,459 @@
-------------------------------------------------------------------
Fri Dec 15 12:00:08 UTC 2023 - Victor Zhestkov <vzhestkov@suse.com>
- Update to 6.8.0:
* Require Python 3.8 or later.
* #453: When inferring top-level names that are importable for
distributions in ``package_distributions``, now symlinks to
other directories are honored.
- Update to 6.6.0:
* Expanded type annotations.
* python/cpython#103661: Removed excess error suppression in
``_read_files_egginfo_installed`` and fixed path handling
on Windows.
* #422: Removed ABC metaclass from ``Distribution`` and instead
deprecated construction of ``Distribution`` objects without
concrete methods.
* Updated docs with tweaks from upstream CPython.
* Consolidated some behaviors in tests around ``_path``.
* Added type annotation for ``Distribution.read_text``.
- Update to 6.3.0:
* #115: Support ``installed-files.txt`` for
``Distribution.files`` when present.
* #442: Fixed issue introduced in v6.1.0 where non-importable
* names (metadata dirs) began appearing in ``packages_distributions``.
* #384: ``PackageMetadata`` now stipulates an additional
``get`` method allowing for easy querying of metadata keys that may
not be present
- Update to 6.1.0:
* ``packages_distributions`` now honors packages and
modules with Python modules that not ``.py`` sources (e.g.
``.pyc``, * ``.so``).
* #434: Expand protocol for ``PackageMetadata.get_all`` to
match the upstream implementation of ``email.message.Message.get_all``
in python/typeshed#9620.
- Update to 6.0.0:
* #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.
* #371: Deprecated expectation that ``PackageMetadata.__getitem__``
will return ``None`` for missing keys. In the future, it will raise a
``KeyError``.
- Update to 5.1.0:
* #415: Instrument SimplePath with generic support.
- Update to 5.0.0:
* #97, #284, #300: Removed compatibility shims for deprecated
entry point interfaces.
- Update to 4.13.0:
* #396: Added compatibility for PathDistributions originating
from Python 3.8 and 3.9.
- Update to 4.12.0:
* py-93259: Now raise ``ValueError`` when ``None`` or an empty
string are passed to ``Distribution.from_name`` (and other
callers).
- Update to 4.11.4:
* #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.
- Update to 4.11.3:
* #372: Removed cast of path items in FastPath, not needed.
* #369: Fixed bug where ``EntryPoint.extras`` was returning
match objects and not the extras strings.
* #367: In ``Distribution.requires`` for egg-info, if ``requires.txt``
is empty, return an empty list.
* bpo-46246: Added ``__slots__`` to ``EntryPoints``.
* #365 and bpo-46546: Avoid leaking ``method_name`` in
``DeprecatedList``.
- Update to 4.10.1:
- #361: Avoid potential REDoS in ``EntryPoint.pattern``.
- Update to 4.10.0:
- #354: Removed Distribution._local factory. This
functionality was created as a demonstration of the possible
implementation. Now, the pep517 package provides this
functionality directly through pep517.meta.load.
- Require Python 3.7 or later.
- #357: Fixed requirement generation from egg-info when a URL
requirement is given.
- Update to 4.8.2:
* #353: Fixed discovery of distributions when path is empty.
- Update to 4.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
- Update to 4.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.
- Update to 4.7.1:
* #344: Fixed regression in packages_distributions when neither
top-level.txt nor a files manifest is present.
- Update to 4.7.0:
* #330: In packages_distributions, now infer top-level names
from .files() when a top-level.txt (Setuptools-specific
metadata) is not present.
- Update to 4.6.4:
* #334: Correct SimplePath protocol to match pathlib protocol
for __truediv__.
- Update to 4.6.3:
* Moved workaround for #327 to _compat module.
- Update to 4.6.2:
* bpo-44784: Avoid errors in test suite when DeprecationWarnings
are treated as errors.
- Update to 4.6.1:
* #327: Deprecation warnings now honor call stack variance on
PyPy.
- Update to 4.6.0:
* #326: Performance tests now rely on pytest-perf. To disable
these tests, which require network access and a git checkout,
pass -p no:perf to pytest.
- Update to 4.5.0:
* #319: Remove SelectableGroups deprecation exception for flake8.
- Update to 4.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]).
- Update to 4.3.1:
* #320: Fix issue where normalized name for eggs was incorrectly
solicited, leading to metadata being unavailable for eggs.
- Update to 4.3.0:
* #317: De-duplication of distributions no longer requires
loading the full metadata for PathDistribution objects, entry
point loading performance by ~10x.
- Update to 4.2.0:
* Prefer f-strings to .format calls.
- Update to 4.1.0:
* #312: Add support for metadata 2.2 (Dynamic field).
* #315: Add SimplePath protocol for interface clarity in
PathDistribution.
- Update to 4.0.1:
* #306: Clearer guidance about compatibility in readme.
- Update to 4.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.
- Update to 3.10.1:
* Minor tweaks from CPython.
- Update to 3.10.0:
* #295: Internal refactoring to unify section parsing logic.
- Update to 3.9.1:
* #296: Exclude 'prepare' package.
* #297: Fix ValueError when entry points contains comments.
- Update to 3.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 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 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.
- Update to 3.8.2:
* #293: Re-enabled lazy evaluation of path lookup through a
FreezableDefaultDict.
- Update to 3.8.1:
* #293: Workaround for error in distribution search.
- Update to 3.8.0:
* #290: Add mtime-based caching for FastPath and its lookups,
dramatically increasing performance for repeated distribution
lookups.
- Update to 3.7.3:
* Docs enhancements and cleanup following review in GH-24782.
- Update to 3.7.2:
* Cleaned up cruft in entry_points docstring.
* Internal refactoring to facilitate ``entry_points() -> dict``
deprecation.
- Update to 3.7.0:
* #131: Added ``packages_distributions`` to conveniently
resolve a top-level package or module to its distribution(s).
* #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
but remains a dict for compatibility.
In the future, ``entry_points()`` will return an
``EntryPoints`` object, but provide for backward
compatibility with a deprecated ``__getitem__``
accessor by group and a ``get()`` method.
If passing selection parameters to ``entry_points``, the
future behavior is invoked and an ``EntryPoints`` is the
result.
Construction of entry points using
``dict([EntryPoint, ...])`` is now deprecated and raises
an appropriate DeprecationWarning and will be removed in
a future version.
* #280: ``entry_points`` now only returns entry points for
unique distributions (by name).
- Update to 3.4.0:
* Project now declares itself as being typed.
* Additional performance enhancements to distribution
discovery.
* For PyPA projects, add test ensuring that
``MetadataPathFinder._search_paths`` honors the needed
interface. Method is still private.
- Update to 3.3.0:
* * #265: ``EntryPoint`` objects now expose a ``.dist`` object
referencing the ``Distribution`` when constructed from a
Distribution.
* The object returned by ``metadata()`` now has a
formally-defined protocol called ``PackageMetadata``
with declared support for the ``.get_all()`` method.
Fixes #126.
- Update to 3.1.1:
* no changelog, probably just the merge of 2.1.1
- Update to 2.1.1:
* #261: Restored compatibility for package discovery for metadata
without version in the name and for legacy eggs.
- Update to 3.1.0:
* Merge with 2.1.0.
- Update to 2.1.0:
* #253: When querying for package metadata, the lookup now honors
package normalization rules.
- Update to 3.0.0:
* Require Python 3.6 or later.
- Update to 2.0.0:
* 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.
- Update to 1.7.0:
* PathNotFoundError now has a custom __str__ mentioning “package
metadata” being missing to help guide users to the cause when
the package is installed but no metadata is present. Closes
#124.
- Update to 1.6.1:
* Added Distribution._local() as a provisional demonstration of
how to load metadata for a local package. Implicitly requires
that pep517 is installed. Ref #42.
* Ensure inputs to FastPath are Unicode. Closes #121.
* Tests now rely on importlib.resources.files (and backport)
instead of the older path function.
* Support any iterable from find_distributions. Closes #122.
- Update to 1.6.0:
* Added module and attr attributes to EntryPoint
- Update to 1.5.2:
* Fix redundant entries from FastPath.zip_children. Closes #117.
- Update to 1.5.1:
* Improve reliability and consistency of compatibility imports
for contextlib and pathlib when running tests. Closes #116.
-------------------------------------------------------------------
Mon Apr 4 12:38:44 UTC 2022 - Victor Zhestkov <victor.zhestkov@suse.com>
- Strictly require Python 3.10 with saltbundlepy requrement
-------------------------------------------------------------------
Sun Mar 8 04:09:30 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Switch to multibuild in order to avoid buildcycles
-------------------------------------------------------------------
Fri Feb 28 22:56:32 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 1.5.0:
* Additional performance optimizations in FastPath now
saves an additional 20% on a typical call.
* Correct for issue where PyOxidizer finder has no
``__module__`` attribute. Closes #110.
-------------------------------------------------------------------
Fri Jan 17 09:33:46 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- update to 1.4.0
* Renamed package parameter to distribution_name.
* For better compatibility with the stdlib implementation and to
avoid the same distributions being discovered by the stdlib
and backport implementations, the backport now disables the
stdlib DistributionFinder during initialization (import time).
* Project adopts semver for versioning.
* EntryPoints are now pickleable.
* Dropped support for Python 3.4.
* Fixed repr(EntryPoint) on PyPy.
* Repaired project metadata to correctly declare the python_requires directive.
* Through careful optimization, distribution() is 3-4x faster.
* When searching through sys.path, if any error occurs attempting
to list a path entry, that entry is skipped, making the system
much more lenient to errors.
-------------------------------------------------------------------
Wed Sep 11 14:57:50 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 0.21:
* various minor fixes
-------------------------------------------------------------------
Wed Aug 7 14:15:47 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
- update to 0.19
* restrain over-eager egg metadata resolution.
* Add support for entry points with colons in the name.
* Parse entry points case sensitively.
* Add a version constraint on the backport configparser package
-------------------------------------------------------------------
Wed Jul 31 12:49:46 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- This package is part of python 3.8 and we don't need to build
it there
- Do not require importlib_resources on python3.7 where it is
part of core python
-------------------------------------------------------------------
Tue Jul 9 13:23:29 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Fixup the requires for the SLE-12 build
-------------------------------------------------------------------
Tue Jul 9 11:19:45 UTC 2019 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Enable python-pathlib2 build dependency for suse_version < 1500 to fix SLE-12 build
-------------------------------------------------------------------
Mon Jun 3 08:17:22 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Remove do-not-test-pip.patch as it seems no longer needed
-------------------------------------------------------------------
Mon Jun 3 08:11:44 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 0.17:
* Don't crash if there exists an EGG-INFO directory on sys.path.
* Update docstrings to match PEP 8. Closes #63.
* Merged modules into one module. Closes #62.
* Add support for eggs. !65; Closes #19.
* Support generic zip files (not just wheels). Closes #59
* Support zip files with multiple distributions in them. Closes #60
* Fully expose the public API in importlib_metadata.__all__.
* The Distribution ABC is now officially part of the public API.
* Fixed support for older single file egg-info formats. Closes #43.
* Fixed a testing bug when $CWD has spaces in the path. Closes #50.
* Fixed issue where entry points without an attribute would raise an Exception.
* Removed unused name parameter from entry_points(). Closes #44.
* DistributionFinder classes must now be instantiated before being placed on sys.meta_path.
-------------------------------------------------------------------
Tue Feb 26 12:07:08 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Add missing setuptools_scm dependency to fix generated egg.info
-------------------------------------------------------------------
Tue Feb 26 09:38:10 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Some packages request importlib_metadata to ease living provide
this symbol too
-------------------------------------------------------------------
Wed Feb 6 11:53:33 UTC 2019 - Antonio Larrosa <alarrosa@suse.com>
- Add do-not-test-pip.patch so tests depending on pip are not used
(they fail when the tests are run without tox)
-------------------------------------------------------------------
Thu Jan 31 13:09:01 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Initial commit, needed by pygments-pytest

View File

@ -0,0 +1,91 @@
#
# spec file for package saltbundlepy-importlib-metadata
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!saltbundlepy_module:%define saltbundlepy_module() saltbundlepy-%{**}}
%define pythons saltbundlepy
# Disable python bytecompile for all distros
# It's called explicitly in the spec
%global __brp_python_bytecompile %{nil}
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
Name: saltbundlepy-importlib-metadata%{psuffix}
Version: 6.8.0
Release: 0
Summary: Tool to read metadata from Python packages
License: Apache-2.0
URL: https://gitlab.com/python-devs/importlib_metadata
Source: https://files.pythonhosted.org/packages/source/i/importlib_metadata/importlib_metadata-%{version}.tar.gz
BuildRequires: %{saltbundlepy_module base >= 3.10}
BuildRequires: %{saltbundlepy_module pip}
BuildRequires: %{saltbundlepy_module setuptools-scm}
BuildRequires: %{saltbundlepy_module setuptools}
BuildRequires: %{saltbundlepy_module tomli}
BuildRequires: %{saltbundlepy_module wheel}
BuildRequires: %{saltbundlepy_module zipp >= 0.5}
BuildRequires: fdupes
BuildRequires: saltbundlepy-rpm-macros
Requires: saltbundlepy-zipp >= 0.5
BuildArch: noarch
%if %{with test}
BuildRequires: %{saltbundlepy_module packaging}
BuildRequires: %{saltbundlepy_module pip}
BuildRequires: %{saltbundlepy_module pyfakefs}
BuildRequires: %{saltbundlepy_module wheel}
BuildRequires: %{saltbundlepy_module zipp >= 0.5}
%endif
%python_subpackages
%description
This package supplies third-party access to the functionality of
importlib.metadata including improvements added to subsequent Python versions.
%prep
%setup -q -n importlib_metadata-%{version}
%build
%pyproject_wheel
%install
%if !%{with test}
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%check
%if %{with test}
# no pytest_perf available
%pytest --ignore exercises.py
%endif
%if !%{with test}
%files %{python_files}
%doc README.rst
%license LICENSE
%{python_sitelib}/importlib_metadata
%{python_sitelib}/importlib_metadata-%{version}*-info
%endif
%changelog