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 2023-01-04 17:50:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-importlib-metadata (Old)
and /work/SRC/openSUSE:Factory/.python-importlib-metadata.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-importlib-metadata"
Wed Jan 4 17:50:48 2023 rev:15 rq:1046282 version:6.0.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-importlib-metadata/python-importlib-metadata.changes
2022-12-07 17:35:52.192836409 +0100
+++
/work/SRC/openSUSE:Factory/.python-importlib-metadata.new.1563/python-importlib-metadata.changes
2023-01-04 17:50:59.629612631 +0100
@@ -1,0 +2,12 @@
+Mon Jan 2 19:12:18 UTC 2023 - Dirk Müller <[email protected]>
+
+- 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``.
+
+-------------------------------------------------------------------
Old:
----
importlib_metadata-5.1.0.tar.gz
New:
----
importlib_metadata-6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-importlib-metadata.spec ++++++
--- /var/tmp/diff_new_pack.7gApjz/_old 2023-01-04 17:51:01.021620835 +0100
+++ /var/tmp/diff_new_pack.7gApjz/_new 2023-01-04 17:51:01.029620881 +0100
@@ -1,7 +1,7 @@
#
# spec file
#
-# Copyright (c) 2022 SUSE LLC
+# 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
@@ -27,7 +27,7 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-importlib-metadata%{psuffix}
-Version: 5.1.0
+Version: 6.0.0
Release: 0
Summary: Read metadata from Python packages
License: Apache-2.0
++++++ importlib_metadata-5.1.0.tar.gz -> importlib_metadata-6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-5.1.0/.github/workflows/main.yml
new/importlib_metadata-6.0.0/.github/workflows/main.yml
--- old/importlib_metadata-5.1.0/.github/workflows/main.yml 2022-11-24
15:38:23.000000000 +0100
+++ new/importlib_metadata-6.0.0/.github/workflows/main.yml 2023-01-01
19:02:39.000000000 +0100
@@ -7,8 +7,10 @@
# Request colored output from CLI tools supporting it. Different tools
# interpret the value differently. For some, just being set is sufficient.
# For others, it must be a non-zero integer. For yet others, being set
- # to a non-empty value is sufficient.
- FORCE_COLOR: -106
+ # to a non-empty value is sufficient. For tox, it must be one of
+ # <blank>, 0, 1, false, no, off, on, true, yes. The only enabling value
+ # in common is "1".
+ FORCE_COLOR: 1
# MyPy's color enforcement (must be a non-zero number)
MYPY_FORCE_COLOR: -42
# Recognized by the `py` package, dependency of `pytest` (must be "1")
@@ -61,6 +63,7 @@
- platform: ubuntu-latest
python: "3.9"
runs-on: ${{ matrix.platform }}
+ continue-on-error: ${{ matrix.python == '3.12' }}
steps:
- uses: actions/checkout@v3
with:
@@ -77,11 +80,28 @@
- name: Run tests
run: tox
+ docs:
+ runs-on: ubuntu-latest
+ env:
+ TOXENV: docs
+ steps:
+ - uses: actions/checkout@v3
+ - name: Setup Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ matrix.python }}${{ matrix.dev }}
+ - name: Install tox
+ run: |
+ python -m pip install tox
+ - name: Run tests
+ run: tox
+
check: # This job does nothing and is only used for the branch protection
if: always()
needs:
- test
+ - docs
runs-on: ubuntu-latest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-5.1.0/CHANGES.rst
new/importlib_metadata-6.0.0/CHANGES.rst
--- old/importlib_metadata-5.1.0/CHANGES.rst 2022-11-24 15:38:23.000000000
+0100
+++ new/importlib_metadata-6.0.0/CHANGES.rst 2023-01-01 19:02:39.000000000
+0100
@@ -1,3 +1,22 @@
+v6.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.
+
+ 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
+======
+
+* #371: Deprecated expectation that ``PackageMetadata.__getitem__``
+ will return ``None`` for missing keys. In the future, it will raise a
+ ``KeyError``.
+
v5.1.0
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-5.1.0/PKG-INFO
new/importlib_metadata-6.0.0/PKG-INFO
--- old/importlib_metadata-5.1.0/PKG-INFO 2022-11-24 15:38:50.014063800
+0100
+++ new/importlib_metadata-6.0.0/PKG-INFO 2023-01-01 19:02:58.711871100
+0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: importlib_metadata
-Version: 5.1.0
+Version: 6.0.0
Summary: Read metadata from Python packages
Home-page: https://github.com/python/importlib_metadata
Author: Jason R. Coombs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-5.1.0/docs/conf.py
new/importlib_metadata-6.0.0/docs/conf.py
--- old/importlib_metadata-5.1.0/docs/conf.py 2022-11-24 15:38:23.000000000
+0100
+++ new/importlib_metadata-6.0.0/docs/conf.py 2023-01-01 19:02:39.000000000
+0100
@@ -1,5 +1,3 @@
-#!/usr/bin/env python3
-
extensions = [
'sphinx.ext.autodoc',
'jaraco.packaging.sphinx',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/importlib_metadata-5.1.0/importlib_metadata/__init__.py
new/importlib_metadata-6.0.0/importlib_metadata/__init__.py
--- old/importlib_metadata-5.1.0/importlib_metadata/__init__.py 2022-11-24
15:38:23.000000000 +0100
+++ new/importlib_metadata-6.0.0/importlib_metadata/__init__.py 2023-01-01
19:02:39.000000000 +0100
@@ -346,7 +346,7 @@
return f'<FileHash mode: {self.mode} value: {self.value}>'
-class Distribution:
+class Distribution(metaclass=abc.ABCMeta):
"""A Python distribution package."""
@abc.abstractmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/importlib_metadata-5.1.0/importlib_metadata/_adapters.py
new/importlib_metadata-6.0.0/importlib_metadata/_adapters.py
--- old/importlib_metadata-5.1.0/importlib_metadata/_adapters.py
2022-11-24 15:38:23.000000000 +0100
+++ new/importlib_metadata-6.0.0/importlib_metadata/_adapters.py
2023-01-01 19:02:39.000000000 +0100
@@ -1,8 +1,20 @@
+import functools
+import warnings
import re
import textwrap
import email.message
from ._text import FoldedCase
+from ._compat import pypy_partial
+
+
+# Do not remove prior to 2024-01-01 or Python 3.14
+_warn = functools.partial(
+ warnings.warn,
+ "Implicit None on return values is deprecated and will raise KeyErrors.",
+ DeprecationWarning,
+ stacklevel=pypy_partial(2),
+)
class Message(email.message.Message):
@@ -39,6 +51,16 @@
def __iter__(self):
return super().__iter__()
+ def __getitem__(self, item):
+ """
+ Warn users that a ``KeyError`` can be expected when a
+ mising key is supplied. Ref python/importlib_metadata#371.
+ """
+ res = super().__getitem__(item)
+ if res is None:
+ _warn()
+ return res
+
def _repair_headers(self):
def redent(value):
"Correct for RFC822 indentation"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/importlib_metadata-5.1.0/importlib_metadata.egg-info/PKG-INFO
new/importlib_metadata-6.0.0/importlib_metadata.egg-info/PKG-INFO
--- old/importlib_metadata-5.1.0/importlib_metadata.egg-info/PKG-INFO
2022-11-24 15:38:49.000000000 +0100
+++ new/importlib_metadata-6.0.0/importlib_metadata.egg-info/PKG-INFO
2023-01-01 19:02:58.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: importlib-metadata
-Version: 5.1.0
+Version: 6.0.0
Summary: Read metadata from Python packages
Home-page: https://github.com/python/importlib_metadata
Author: Jason R. Coombs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/importlib_metadata-5.1.0/importlib_metadata.egg-info/requires.txt
new/importlib_metadata-6.0.0/importlib_metadata.egg-info/requires.txt
--- old/importlib_metadata-5.1.0/importlib_metadata.egg-info/requires.txt
2022-11-24 15:38:49.000000000 +0100
+++ new/importlib_metadata-6.0.0/importlib_metadata.egg-info/requires.txt
2023-01-01 19:02:58.000000000 +0100
@@ -8,6 +8,7 @@
jaraco.packaging>=9
rst.linker>=1.9
furo
+sphinx-lint
jaraco.tidelift>=1.4
[perf]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-5.1.0/pytest.ini
new/importlib_metadata-6.0.0/pytest.ini
--- old/importlib_metadata-5.1.0/pytest.ini 2022-11-24 15:38:23.000000000
+0100
+++ new/importlib_metadata-6.0.0/pytest.ini 2023-01-01 19:02:39.000000000
+0100
@@ -3,6 +3,9 @@
addopts=--doctest-modules
doctest_optionflags=ALLOW_UNICODE ELLIPSIS
filterwarnings=
+ # Ensure ResourceWarnings are emitted
+ default::ResourceWarning
+
# Suppress deprecation warning in flake8
ignore:SelectableGroups dict interface is deprecated::flake8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-5.1.0/setup.cfg
new/importlib_metadata-6.0.0/setup.cfg
--- old/importlib_metadata-5.1.0/setup.cfg 2022-11-24 15:38:50.014063800
+0100
+++ new/importlib_metadata-6.0.0/setup.cfg 2023-01-01 19:02:58.711871100
+0100
@@ -52,6 +52,8 @@
jaraco.packaging >= 9
rst.linker >= 1.9
furo
+ sphinx-lint
+
jaraco.tidelift >= 1.4
perf =
ipython
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-5.1.0/tests/test_api.py
new/importlib_metadata-6.0.0/tests/test_api.py
--- old/importlib_metadata-5.1.0/tests/test_api.py 2022-11-24
15:38:23.000000000 +0100
+++ new/importlib_metadata-6.0.0/tests/test_api.py 2023-01-01
19:02:39.000000000 +0100
@@ -141,6 +141,14 @@
resolved = version('importlib-metadata')
assert re.match(self.version_pattern, resolved)
+ def test_missing_key_legacy(self):
+ """
+ Requesting a missing key will still return None, but warn.
+ """
+ md = metadata('distinfo-pkg')
+ with suppress_known_deprecation():
+ assert md['does-not-exist'] is None
+
@staticmethod
def _test_files(files):
root = files[0].root
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-5.1.0/tests/test_main.py
new/importlib_metadata-6.0.0/tests/test_main.py
--- old/importlib_metadata-5.1.0/tests/test_main.py 2022-11-24
15:38:23.000000000 +0100
+++ new/importlib_metadata-6.0.0/tests/test_main.py 2023-01-01
19:02:39.000000000 +0100
@@ -9,7 +9,6 @@
from importlib_metadata import (
Distribution,
EntryPoint,
- MetadataPathFinder,
PackageNotFoundError,
_unique,
distributions,
@@ -35,7 +34,7 @@
def test_package_not_found_mentions_metadata(self):
"""
When a package is not found, that could indicate that the
- packgae is not installed or that it is installed without
+ package is not installed or that it is installed without
metadata. Ensure the exception mentions metadata to help
guide users toward the cause. See #124.
"""
@@ -44,9 +43,9 @@
assert "metadata" in str(ctx.exception)
- def test_new_style_classes(self):
- self.assertIsInstance(Distribution, type)
- self.assertIsInstance(MetadataPathFinder, type)
+ def test_abc_enforced(self):
+ with self.assertRaises(TypeError):
+ type('DistributionSubclass', (Distribution,), {})()
@fixtures.parameterize(
dict(name=None),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/importlib_metadata-5.1.0/tox.ini
new/importlib_metadata-6.0.0/tox.ini
--- old/importlib_metadata-5.1.0/tox.ini 2022-11-24 15:38:23.000000000
+0100
+++ new/importlib_metadata-6.0.0/tox.ini 2023-01-01 19:02:39.000000000
+0100
@@ -23,6 +23,7 @@
changedir = docs
commands =
python -m sphinx -W --keep-going . {toxinidir}/build/html
+ python -m sphinxlint
[testenv:diffcov]
deps =