Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-importlib-metadata for
openSUSE:Factory checked in at 2022-05-10 15:11:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-importlib-metadata (Old)
and /work/SRC/openSUSE:Factory/.python-importlib-metadata.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-importlib-metadata"
Tue May 10 15:11:33 2022 rev:9 rq:975783 version:4.11.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-importlib-metadata/python-importlib-metadata.changes
2021-12-09 19:45:22.593126533 +0100
+++
/work/SRC/openSUSE:Factory/.python-importlib-metadata.new.1538/python-importlib-metadata.changes
2022-05-10 15:11:44.319555537 +0200
@@ -1,0 +2,31 @@
+Mon May 9 10:53:20 UTC 2022 - Dirk M??ller <[email protected]>
+
+- 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``.
+
+-------------------------------------------------------------------
+Mon Jan 31 20:04:23 UTC 2022 - Dirk M??ller <[email protected]>
+
+- update to 4.10.1:
+ - #361: Avoid potential REDoS in ``EntryPoint.pattern``.
+
+-------------------------------------------------------------------
+Fri Dec 31 12:51:32 UTC 2021 - Matej Cepl <[email protected]>
+
+- 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.
+
+-------------------------------------------------------------------
Old:
----
importlib_metadata-4.8.2.tar.gz
New:
----
importlib_metadata-4.11.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-importlib-metadata.spec ++++++
--- /var/tmp/diff_new_pack.hJfLAK/_old 2022-05-10 15:11:44.831556183 +0200
+++ /var/tmp/diff_new_pack.hJfLAK/_new 2022-05-10 15:11:44.835556187 +0200
@@ -1,7 +1,7 @@
#
# spec file
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -26,8 +26,9 @@
%endif
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
+%define skip_python36 1
Name: python-importlib-metadata%{psuffix}
-Version: 4.8.2
+Version: 4.11.3
Release: 0
Summary: Read metadata from Python packages
License: Apache-2.0
@@ -64,9 +65,8 @@
importlib.metadata including improvements added to subsequent Python versions.
%prep
-%setup -q -n importlib_metadata-%{version}
-# don't import from sourcedir during testing
-sed -i -e 's/norecursedirs.*/& importlib_metadata/' pytest.ini
+%autosetup -p1 -n importlib_metadata-%{version}
+echo "import setuptools; setuptools.setup()" > setup.py
%build
%python_build
++++++ importlib_metadata-4.8.2.tar.gz -> importlib_metadata-4.11.3.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/.github/workflows/main.yml
new/importlib_metadata-4.11.3/.github/workflows/main.yml
--- old/importlib_metadata-4.8.2/.github/workflows/main.yml 2021-11-09
02:14:49.000000000 +0100
+++ new/importlib_metadata-4.11.3/.github/workflows/main.yml 2022-03-13
19:08:11.000000000 +0100
@@ -7,7 +7,7 @@
strategy:
matrix:
python:
- - 3.6
+ - 3.7
- 3.9
- "3.10"
platform:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/.pre-commit-config.yaml
new/importlib_metadata-4.11.3/.pre-commit-config.yaml
--- old/importlib_metadata-4.8.2/.pre-commit-config.yaml 2021-11-09
02:14:49.000000000 +0100
+++ new/importlib_metadata-4.11.3/.pre-commit-config.yaml 2022-03-13
19:08:11.000000000 +0100
@@ -1,5 +1,5 @@
repos:
- repo: https://github.com/psf/black
- rev: 20.8b1
+ rev: 22.1.0
hooks:
- id: black
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/CHANGES.rst
new/importlib_metadata-4.11.3/CHANGES.rst
--- old/importlib_metadata-4.8.2/CHANGES.rst 2021-11-09 02:14:49.000000000
+0100
+++ new/importlib_metadata-4.11.3/CHANGES.rst 2022-03-13 19:08:11.000000000
+0100
@@ -1,3 +1,60 @@
+v4.11.3
+=======
+
+* #372: Removed cast of path items in FastPath, not needed.
+
+v4.11.2
+=======
+
+* #369: Fixed bug where ``EntryPoint.extras`` was returning
+ match objects and not the extras strings.
+
+v4.11.1
+=======
+
+* #367: 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
+=======
+
+* #365 and bpo-46546: Avoid leaking ``method_name`` in
+ ``DeprecatedList``.
+
+v4.10.1
+=======
+
+v2.1.3
+=======
+
+* #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
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/PKG-INFO
new/importlib_metadata-4.11.3/PKG-INFO
--- old/importlib_metadata-4.8.2/PKG-INFO 2021-11-09 02:15:16.083703800
+0100
+++ new/importlib_metadata-4.11.3/PKG-INFO 2022-03-13 19:08:40.478635000
+0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: importlib_metadata
-Version: 4.8.2
+Version: 4.11.3
Summary: Read metadata from Python packages
Home-page: https://github.com/python/importlib_metadata
Author: Jason R. Coombs
@@ -12,7 +12,7 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Provides-Extra: testing
Provides-Extra: docs
Provides-Extra: perf
@@ -37,7 +37,7 @@
.. image::
https://readthedocs.org/projects/importlib-metadata/badge/?version=latest
:target: https://importlib-metadata.readthedocs.io/en/latest/?badge=latest
-.. image:: https://img.shields.io/badge/skeleton-2021-informational
+.. image:: https://img.shields.io/badge/skeleton-2022-informational
:target: https://blog.jaraco.com/skeleton
@@ -60,6 +60,8 @@
* - importlib_metadata
- stdlib
+ * - 4.8
+ - 3.11
* - 4.4
- 3.10
* - 1.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/README.rst
new/importlib_metadata-4.11.3/README.rst
--- old/importlib_metadata-4.8.2/README.rst 2021-11-09 02:14:49.000000000
+0100
+++ new/importlib_metadata-4.11.3/README.rst 2022-03-13 19:08:11.000000000
+0100
@@ -17,7 +17,7 @@
.. image::
https://readthedocs.org/projects/importlib-metadata/badge/?version=latest
:target: https://importlib-metadata.readthedocs.io/en/latest/?badge=latest
-.. image:: https://img.shields.io/badge/skeleton-2021-informational
+.. image:: https://img.shields.io/badge/skeleton-2022-informational
:target: https://blog.jaraco.com/skeleton
@@ -40,6 +40,8 @@
* - importlib_metadata
- stdlib
+ * - 4.8
+ - 3.11
* - 4.4
- 3.10
* - 1.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/docs/index.rst
new/importlib_metadata-4.11.3/docs/index.rst
--- old/importlib_metadata-4.8.2/docs/index.rst 2021-11-09 02:14:49.000000000
+0100
+++ new/importlib_metadata-4.11.3/docs/index.rst 2022-03-13
19:08:11.000000000 +0100
@@ -25,6 +25,7 @@
using
api
+ migration
history
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/docs/migration.rst
new/importlib_metadata-4.11.3/docs/migration.rst
--- old/importlib_metadata-4.8.2/docs/migration.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/importlib_metadata-4.11.3/docs/migration.rst 2022-03-13
19:08:11.000000000 +0100
@@ -0,0 +1,84 @@
+.. _migration:
+
+=================
+ Migration guide
+=================
+
+The following guide will help you migrate common ``pkg_resources``
+APIs to ``importlib_metadata``. ``importlib_metadata`` aims to
+replace the following ``pkg_resources`` APIs:
+
+* ``pkg_resources.iter_entry_points()``
+* ``pkg_resources.require()``
+* convenience functions
+* ``pkg_resources.find_distributions()``
+* ``pkg_resources.get_distribution()``
+
+Other functionality from ``pkg_resources`` is replaced by other
+packages such as
+`importlib_resources <https://pypi.org/project/importlib_resources>`_
+and `packaging <https://pypi.org/project/packaging>`_.
+
+
+pkg_resources.iter_entry_points()
+=================================
+
+``importlib_metadata`` provides :ref:`entry-points`.
+
+Compatibility note: entry points provided by importlib_metadata
+do not have the following implicit behaviors found in those
+from ``pkg_resources``:
+
+- Each EntryPoint is not automatically validated to match. To
+ ensure each one is validated, invoke any property on the
+ object (e.g. ``ep.name``).
+
+- When invoking ``EntryPoint.load()``, no checks are performed
+ to ensure the declared extras are installed. If this behavior
+ is desired/required, it is left to the user to perform the
+ check and install any dependencies. See
+ `importlib_metadata#368
<https://github.com/python/importlib_metadata/issues/368>`_
+ for more details.
+
+pkg_resources.require()
+=======================
+
+``importlib_metadata`` does not provide support for dynamically
+discovering or requiring distributions nor does it provide any
+support for managing the "working set". Furthermore,
+``importlib_metadata`` assumes that only one version of a given
+distribution is discoverable at any time (no support for multi-version
+installs). Any projects that require the above behavior needs to
+provide that behavior independently.
+
+``importlib_metadata`` does aim to resolve metadata concerns late
+such that any dynamic changes to package availability should be
+reflected immediately.
+
+Convenience functions
+=====================
+
+In addition to the support for direct access to ``Distribution``
+objects (below), ``importlib_metadata`` presents some top-level
+functions for easy access to the most common metadata:
+
+- :ref:`metadata` queries the metadata fields from the distribution.
+- :ref:`version` provides quick access to the distribution version.
+- :ref:`requirements` presents the requirements of the distribution.
+- :ref:`files` provides file-like access to the data blobs backing
+ the metadata.
+
+pkg_resources.find_distributions()
+==================================
+
+``importlib_metadata`` provides functionality
+similar to ``find_distributions()``. Both ``distributions(...)`` and
+``Distribution.discover(...)`` return an iterable of :ref:`distributions`
+matching the indicated parameters.
+
+pkg_resources.get_distribution()
+=================================
+
+Similar to ``distributions``, the ``distribution()`` function provides
+access to a single distribution by name.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/docs/using.rst
new/importlib_metadata-4.11.3/docs/using.rst
--- old/importlib_metadata-4.8.2/docs/using.rst 2021-11-09 02:14:49.000000000
+0100
+++ new/importlib_metadata-4.11.3/docs/using.rst 2022-03-13
19:08:11.000000000 +0100
@@ -236,13 +236,14 @@
Package distributions
---------------------
-A convience method to resolve the distribution or
+A convenience method to resolve the distribution or
distributions (in the case of a namespace package) for top-level
Python packages or modules::
>>> packages_distributions()
{'importlib_metadata': ['importlib-metadata'], 'yaml': ['PyYAML'],
'jaraco': ['jaraco.classes', 'jaraco.functools'], ...}
+.. _distributions:
Distributions
=============
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/exercises.py
new/importlib_metadata-4.11.3/exercises.py
--- old/importlib_metadata-4.8.2/exercises.py 2021-11-09 02:14:49.000000000
+0100
+++ new/importlib_metadata-4.11.3/exercises.py 2022-03-13 19:08:11.000000000
+0100
@@ -34,3 +34,12 @@
# end warmup
importlib.invalidate_caches()
importlib_metadata.distribution('ipython')
+
+
+def entrypoint_regexp_perf():
+ import importlib_metadata
+ import re
+
+ input = '0' + ' ' * 2**10 + '0' # end warmup
+
+ re.match(importlib_metadata.EntryPoint.pattern, input)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/importlib_metadata-4.8.2/importlib_metadata/__init__.py
new/importlib_metadata-4.11.3/importlib_metadata/__init__.py
--- old/importlib_metadata-4.8.2/importlib_metadata/__init__.py 2021-11-09
02:14:49.000000000 +0100
+++ new/importlib_metadata-4.11.3/importlib_metadata/__init__.py
2022-03-13 19:08:11.000000000 +0100
@@ -157,12 +157,21 @@
See `the packaging docs on entry points
<https://packaging.python.org/specifications/entry-points/>`_
for more information.
+
+ >>> ep = EntryPoint(
+ ... name=None, group=None, value='package.module:attr [extra1,
extra2]')
+ >>> ep.module
+ 'package.module'
+ >>> ep.attr
+ 'attr'
+ >>> ep.extras
+ ['extra1', 'extra2']
"""
pattern = re.compile(
r'(?P<module>[\w.]+)\s*'
- r'(:\s*(?P<attr>[\w.]+))?\s*'
- r'(?P<extras>\[.*\])?\s*$'
+ r'(:\s*(?P<attr>[\w.]+)\s*)?'
+ r'((?P<extras>\[.*\])\s*)?$'
)
"""
A regular expression describing the syntax for an entry point,
@@ -208,7 +217,7 @@
@property
def extras(self):
match = self.pattern.match(self.value)
- return list(re.finditer(r'\w+', match.group('extras') or ''))
+ return re.findall(r'\w+', match.group('extras') or '')
def _for(self, dist):
vars(self).update(dist=dist)
@@ -226,6 +235,25 @@
return iter((self.name, self))
def matches(self, **params):
+ """
+ EntryPoint matches the given parameters.
+
+ >>> ep = EntryPoint(group='foo', name='bar', value='bing:bong [extra1,
extra2]')
+ >>> ep.matches(group='foo')
+ True
+ >>> ep.matches(name='bar', value='bing:bong [extra1, extra2]')
+ True
+ >>> ep.matches(group='foo', name='other')
+ False
+ >>> ep.matches()
+ True
+ >>> ep.matches(extras=['extra1', 'extra2'])
+ True
+ >>> ep.matches(module='bing')
+ True
+ >>> ep.matches(attr='bong')
+ True
+ """
attrs = (getattr(self, param) for param in params)
return all(map(operator.eq, params.values(), attrs))
@@ -283,6 +311,8 @@
1
"""
+ __slots__ = ()
+
_warn = functools.partial(
warnings.warn,
"EntryPoints list interface is deprecated. Cast to list if needed.",
@@ -295,21 +325,15 @@
self._warn()
return getattr(super(), method_name)(*args, **kwargs)
- return wrapped
+ return method_name, wrapped
- for method_name in [
- '__setitem__',
- '__delitem__',
- 'append',
- 'reverse',
- 'extend',
- 'pop',
- 'remove',
- '__iadd__',
- 'insert',
- 'sort',
- ]:
- locals()[method_name] = _wrap_deprecated_method(method_name)
+ locals().update(
+ map(
+ _wrap_deprecated_method,
+ '__setitem__ __delitem__ append reverse extend pop remove '
+ '__iadd__ insert sort'.split(),
+ )
+ )
def __add__(self, other):
if not isinstance(other, tuple):
@@ -576,18 +600,6 @@
)
return filter(None, declared)
- @classmethod
- def _local(cls, root='.'):
- from pep517 import build, meta
-
- system = build.compat_system(root)
- builder = functools.partial(
- meta.build,
- source_dir=root,
- system=system,
- )
- return PathDistribution(zipp.Path(meta.build_as_zip(builder)))
-
@property
def metadata(self) -> _meta.PackageMetadata:
"""Return the parsed metadata for this Distribution.
@@ -675,7 +687,7 @@
def _read_egg_info_reqs(self):
source = self.read_text('requires.txt')
- return source and self._deps_from_requires_text(source)
+ return pass_none(self._deps_from_requires_text)(source)
@classmethod
def _deps_from_requires_text(cls, source):
@@ -696,7 +708,7 @@
def make_condition(name):
return name and f'extra == "{name}"'
- def parse_condition(section):
+ def quoted_marker(section):
section = section or ''
extra, sep, markers = section.partition(':')
if extra and markers:
@@ -704,8 +716,17 @@
conditions = list(filter(None, [markers, make_condition(extra)]))
return '; ' + ' and '.join(conditions) if conditions else ''
+ def url_req_space(req):
+ """
+ PEP 508 requires a space between the url_spec and the
quoted_marker.
+ Ref python/importlib_metadata#357.
+ """
+ # '@' is uniquely indicative of a url_req.
+ return ' ' * ('@' in req)
+
for section in sections:
- yield section.value + parse_condition(section.name)
+ space = url_req_space(section.value)
+ yield section.value + space + quoted_marker(section.name)
class DistributionFinder(MetaPathFinder):
@@ -770,7 +791,7 @@
return super().__new__(cls)
def __init__(self, root):
- self.root = str(root)
+ self.root = root
def joinpath(self, child):
return pathlib.Path(self.root, child)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/importlib_metadata-4.8.2/importlib_metadata.egg-info/PKG-INFO
new/importlib_metadata-4.11.3/importlib_metadata.egg-info/PKG-INFO
--- old/importlib_metadata-4.8.2/importlib_metadata.egg-info/PKG-INFO
2021-11-09 02:15:16.000000000 +0100
+++ new/importlib_metadata-4.11.3/importlib_metadata.egg-info/PKG-INFO
2022-03-13 19:08:40.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: importlib-metadata
-Version: 4.8.2
+Version: 4.11.3
Summary: Read metadata from Python packages
Home-page: https://github.com/python/importlib_metadata
Author: Jason R. Coombs
@@ -12,7 +12,7 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Provides-Extra: testing
Provides-Extra: docs
Provides-Extra: perf
@@ -37,7 +37,7 @@
.. image::
https://readthedocs.org/projects/importlib-metadata/badge/?version=latest
:target: https://importlib-metadata.readthedocs.io/en/latest/?badge=latest
-.. image:: https://img.shields.io/badge/skeleton-2021-informational
+.. image:: https://img.shields.io/badge/skeleton-2022-informational
:target: https://blog.jaraco.com/skeleton
@@ -60,6 +60,8 @@
* - importlib_metadata
- stdlib
+ * - 4.8
+ - 3.11
* - 4.4
- 3.10
* - 1.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/importlib_metadata-4.8.2/importlib_metadata.egg-info/SOURCES.txt
new/importlib_metadata-4.11.3/importlib_metadata.egg-info/SOURCES.txt
--- old/importlib_metadata-4.8.2/importlib_metadata.egg-info/SOURCES.txt
2021-11-09 02:15:16.000000000 +0100
+++ new/importlib_metadata-4.11.3/importlib_metadata.egg-info/SOURCES.txt
2022-03-13 19:08:40.000000000 +0100
@@ -13,7 +13,6 @@
pyproject.toml
pytest.ini
setup.cfg
-setup.py
tox.ini
.github/dependabot.yml
.github/workflows/main.yml
@@ -22,6 +21,7 @@
docs/conf.py
docs/history.rst
docs/index.rst
+docs/migration.rst
docs/using.rst
importlib_metadata/__init__.py
importlib_metadata/_adapters.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/importlib_metadata-4.8.2/importlib_metadata.egg-info/requires.txt
new/importlib_metadata-4.11.3/importlib_metadata.egg-info/requires.txt
--- old/importlib_metadata-4.8.2/importlib_metadata.egg-info/requires.txt
2021-11-09 02:15:16.000000000 +0100
+++ new/importlib_metadata-4.11.3/importlib_metadata.egg-info/requires.txt
2022-03-13 19:08:40.000000000 +0100
@@ -5,7 +5,7 @@
[docs]
sphinx
-jaraco.packaging>=8.2
+jaraco.packaging>=9
rst.linker>=1.9
[perf]
@@ -18,14 +18,13 @@
pytest-cov
pytest-enabler>=1.0.1
packaging
-pep517
pyfakefs
flufl.flake8
pytest-perf>=0.9.2
[testing:platform_python_implementation != "PyPy"]
pytest-black>=0.3.7
-pytest-mypy
+pytest-mypy>=0.9.1
[testing:python_version < "3.9"]
importlib_resources>=1.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/pytest.ini
new/importlib_metadata-4.11.3/pytest.ini
--- old/importlib_metadata-4.8.2/pytest.ini 2021-11-09 02:14:49.000000000
+0100
+++ new/importlib_metadata-4.11.3/pytest.ini 2022-03-13 19:08:11.000000000
+0100
@@ -5,5 +5,13 @@
filterwarnings=
# Suppress deprecation warning in flake8
ignore:SelectableGroups dict interface is deprecated::flake8
- # Suppress deprecation warning in pypa/packaging#433
- ignore:The distutils package is deprecated::packaging.tags
+
+ # shopkeep/pytest-black#55
+ ignore:<class 'pytest_black.BlackItem'> is not using a cooperative
constructor:pytest.PytestDeprecationWarning
+ ignore:The \(fspath. py.path.local\) argument to BlackItem is
deprecated.:pytest.PytestDeprecationWarning
+ ignore:BlackItem is an Item subclass and should not be a
collector:pytest.PytestWarning
+
+ # tholo/pytest-flake8#83
+ ignore:<class 'pytest_flake8.Flake8Item'> is not using a cooperative
constructor:pytest.PytestDeprecationWarning
+ ignore:The \(fspath. py.path.local\) argument to Flake8Item is
deprecated.:pytest.PytestDeprecationWarning
+ ignore:Flake8Item is an Item subclass and should not be a
collector:pytest.PytestWarning
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/setup.cfg
new/importlib_metadata-4.11.3/setup.cfg
--- old/importlib_metadata-4.8.2/setup.cfg 2021-11-09 02:15:16.083703800
+0100
+++ new/importlib_metadata-4.11.3/setup.cfg 2022-03-13 19:08:40.478635000
+0100
@@ -15,7 +15,7 @@
[options]
packages = find_namespace:
include_package_data = true
-python_requires = >=3.6
+python_requires = >=3.7
install_requires =
zipp>=0.5
typing-extensions>=3.6.4; python_version < "3.8"
@@ -36,19 +36,18 @@
pytest-black >= 0.3.7; \
python_implementation != "PyPy"
pytest-cov
- pytest-mypy; \
+ pytest-mypy >= 0.9.1; \
python_implementation != "PyPy"
pytest-enabler >= 1.0.1
importlib_resources>=1.3; python_version < "3.9"
packaging
- pep517
pyfakefs
flufl.flake8
pytest-perf >= 0.9.2
docs =
sphinx
- jaraco.packaging >= 8.2
+ jaraco.packaging >= 9
rst.linker >= 1.9
perf =
ipython
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/setup.py
new/importlib_metadata-4.11.3/setup.py
--- old/importlib_metadata-4.8.2/setup.py 2021-11-09 02:14:49.000000000
+0100
+++ new/importlib_metadata-4.11.3/setup.py 1970-01-01 01:00:00.000000000
+0100
@@ -1,6 +0,0 @@
-#!/usr/bin/env python
-
-import setuptools
-
-if __name__ == "__main__":
- setuptools.setup()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/tests/fixtures.py
new/importlib_metadata-4.11.3/tests/fixtures.py
--- old/importlib_metadata-4.8.2/tests/fixtures.py 2021-11-09
02:14:49.000000000 +0100
+++ new/importlib_metadata-4.11.3/tests/fixtures.py 2022-03-13
19:08:11.000000000 +0100
@@ -11,7 +11,7 @@
from typing import Dict, Union
try:
- from importlib import resources
+ from importlib import resources # type: ignore
getattr(resources, 'files')
getattr(resources, 'as_file')
@@ -231,21 +231,6 @@
build_files(EggInfoFile.files, prefix=self.site_dir)
-class LocalPackage:
- files: FilesDef = {
- "setup.py": """
- import setuptools
- setuptools.setup(name="local-pkg", version="2.0.1")
- """,
- }
-
- def setUp(self):
- self.fixtures = contextlib.ExitStack()
- self.addCleanup(self.fixtures.close)
- self.fixtures.enter_context(tempdir_as_cwd())
- build_files(self.files)
-
-
def build_files(file_defs, prefix=pathlib.Path()):
"""Build a set of files/directories, as described by the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/tests/test_api.py
new/importlib_metadata-4.11.3/tests/test_api.py
--- old/importlib_metadata-4.8.2/tests/test_api.py 2021-11-09
02:14:49.000000000 +0100
+++ new/importlib_metadata-4.11.3/tests/test_api.py 2022-03-13
19:08:11.000000000 +0100
@@ -180,6 +180,11 @@
entry_points().get('entries', 'default') ==
entry_points()['entries']
entry_points().get('missing', ()) == ()
+ def test_entry_points_allows_no_attributes(self):
+ ep = entry_points().select(group='entries', name='main')
+ with self.assertRaises(AttributeError):
+ ep.foo = 4
+
def test_metadata_for_this_package(self):
md = metadata('egginfo-pkg')
assert md['author'] == 'Steven Ma'
@@ -227,6 +232,16 @@
assert len(deps) == 2
assert any(dep == 'wheel >= 1.0; python_version >= "2.7"' for dep in
deps)
+ def test_requires_egg_info_empty(self):
+ fixtures.build_files(
+ {
+ 'requires.txt': '',
+ },
+ self.site_dir.joinpath('egginfo_pkg.egg-info'),
+ )
+ deps = requires('egginfo-pkg')
+ assert deps == []
+
def test_requires_dist_info(self):
deps = requires('distinfo-pkg')
assert len(deps) == 2
@@ -245,6 +260,7 @@
[extra1]
dep4
+ dep6@ git+https://example.com/python/[email protected]
[extra2:python_version < "3"]
dep5
@@ -257,6 +273,7 @@
'dep3; python_version < "3"',
'dep4; extra == "extra1"',
'dep5; (python_version < "3") and extra == "extra2"',
+ 'dep6@ git+https://example.com/python/[email protected] ; extra ==
"extra1"',
]
# It's important that the environment marker expression be
# wrapped in parentheses to avoid the following 'and' binding more
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-4.8.2/tests/test_integration.py
new/importlib_metadata-4.11.3/tests/test_integration.py
--- old/importlib_metadata-4.8.2/tests/test_integration.py 2021-11-09
02:14:49.000000000 +0100
+++ new/importlib_metadata-4.11.3/tests/test_integration.py 2022-03-13
19:08:11.000000000 +0100
@@ -4,7 +4,6 @@
from . import fixtures
from importlib_metadata import (
- Distribution,
MetadataPathFinder,
_compat,
distributions,
@@ -44,13 +43,6 @@
_compat.disable_stdlib_finder()
-class LocalProjectTests(fixtures.LocalPackage, unittest.TestCase):
- def test_find_local(self):
- dist = Distribution._local()
- assert dist.metadata['Name'] == 'local-pkg'
- assert dist.version == '2.0.1'
-
-
class DistSearch(unittest.TestCase):
def test_search_dist_dirs(self):
"""