Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pkginfo for openSUSE:Factory checked in at 2026-09-04 12:35:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pkginfo (Old) and /work/SRC/openSUSE:Factory/.python-pkginfo.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pkginfo" Fri Sep 4 12:35:56 2026 rev:17 rq:1375110 version:1.13 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pkginfo/python-pkginfo.changes 2025-08-22 17:47:39.955644808 +0200 +++ /work/SRC/openSUSE:Factory/.python-pkginfo.new.1265/python-pkginfo.changes 2026-09-04 12:36:00.917323885 +0200 @@ -1,0 +2,8 @@ +Tue Sep 1 09:34:43 UTC 2026 - Markéta Machová <[email protected]> + +- update to 1.13 + * add support for Python 3.14 + * support 'metadata_version' == '2.5' + * drop support for Python 3.9 + +------------------------------------------------------------------- Old: ---- pkginfo-1.12.1.2.tar.gz New: ---- pkginfo-1.13.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pkginfo.spec ++++++ --- /var/tmp/diff_new_pack.vb3S0z/_old 2026-09-04 12:36:01.593347620 +0200 +++ /var/tmp/diff_new_pack.vb3S0z/_new 2026-09-04 12:36:01.598347795 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-pkginfo # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,7 +23,7 @@ %endif %{?sle15_python_module_pythons} Name: python-pkginfo -Version: 1.12.1.2 +Version: 1.13 Release: 0 Summary: Python package for querying metadatdata from sdists/bdists/installed packages License: MIT @@ -36,7 +36,6 @@ BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-setuptools BuildArch: noarch %if %{with libalternatives} BuildRequires: alts @@ -71,8 +70,8 @@ %python_clone -a %{buildroot}%{_bindir}/pkginfo %check -# install wheel in tests with an explicit metadata version, looks like we have a different default (openSUSE-only) -sed -iE "s/_make_installed('wheel')/_make_installed('wheel', metadata_version='2.3')/" pkginfo/tests/test_installed.py +# correct package version in test data +sed -i 's/Version: 1.13.dev0/Version: 1.13/' pkginfo/tests/dodgy/namespaced.dodgy-0.1.egg-info/PKG-INFO %pytest %post ++++++ pkginfo-1.12.1.2.tar.gz -> pkginfo-1.13.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/CHANGES.txt new/pkginfo-1.13/CHANGES.txt --- old/pkginfo-1.12.1.2/CHANGES.txt 2025-02-19 16:17:42.000000000 +0100 +++ new/pkginfo-1.13/CHANGES.txt 2026-08-30 04:38:16.071759700 +0200 @@ -1,10 +1,16 @@ ``pkginfo`` Changelog ===================== -1.12.1.2 (2025-02-19) ---------------------- +1.13.0 (2026-08-29) +------------------- + +- Support 'metadata_version' == '2.5' (PEP 794). LP #2165813 + +- Add support for Python 3.14. + +- Drop support for Python 3.9. -- Fix *another* packaging error (more missing testcase data!). LP #2098833 +- Drop support for Python 3.8. 1.12.1.1 (2025-02-18) --------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/PKG-INFO new/pkginfo-1.13/PKG-INFO --- old/pkginfo-1.12.1.2/PKG-INFO 2025-02-19 16:27:02.382132300 +0100 +++ new/pkginfo-1.13/PKG-INFO 2026-08-30 04:42:56.573447700 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 2.2 +Metadata-Version: 2.4 Name: pkginfo -Version: 1.12.1.2 +Version: 1.13 Summary: Query metadata from sdists / bdists / installed packages. Home-page: https://code.launchpad.net/~tseaver/pkginfo/trunk Author: Tres Seaver, Agendaless Consulting @@ -12,17 +12,16 @@ Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: System :: Software Distribution -Requires-Python: >=3.8 +Requires-Python: >=3.9 Description-Content-Type: text/x-rst License-File: LICENSE.txt Provides-Extra: testing @@ -37,6 +36,7 @@ Dynamic: home-page Dynamic: keywords Dynamic: license +Dynamic: license-file Dynamic: platform Dynamic: provides-extra Dynamic: requires-python @@ -60,10 +60,16 @@ ``pkginfo`` Changelog ===================== -1.12.1.2 (2025-02-19) ---------------------- +1.13.0 (2026-08-29) +------------------- + +- Support 'metadata_version' == '2.5' (PEP 794). LP #2165813 + +- Add support for Python 3.14. + +- Drop support for Python 3.9. -- Fix *another* packaging error (more missing testcase data!). LP #2098833 +- Drop support for Python 3.8. 1.12.1.1 (2025-02-18) --------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/docs/conf.py new/pkginfo-1.13/docs/conf.py --- old/pkginfo-1.12.1.2/docs/conf.py 2025-02-19 16:04:54.000000000 +0100 +++ new/pkginfo-1.13/docs/conf.py 2026-08-30 04:24:25.623734000 +0200 @@ -120,7 +120,7 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +#html_static_path = ['_static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/docs/metadata.rst new/pkginfo-1.13/docs/metadata.rst --- old/pkginfo-1.12.1.2/docs/metadata.rst 2025-02-19 16:04:54.000000000 +0100 +++ new/pkginfo-1.13/docs/metadata.rst 2026-08-30 04:31:24.439684600 +0200 @@ -6,7 +6,13 @@ - Metadata version 1.0 is specified in `PEP 241`_. - Metadata version 1.1 is specified in `PEP 314`_. -- Metadata version 1.2 is specified in `PEP 345`_ (still in draft). +- Metadata version 1.2 is specified in `PEP 345`_. +- Metadata version 2.0 was proposed in `PEP 426`_. (eventually withdrawn) +- Metadata version 2.1 was proposed in `PEP 566`_. +- Metadata version 2.2 was proposed in `PEP 643`_. +- Metadata version 2.3 was proposed in `PEP 685`_. +- Metadata version 2.4 was proposed in `PEP 639`_. (long approval cycle) +- Metadata version 2.5 was proposed in `PEP 794`_. A given ``Distribution`` object parses / exposes the attributes which correspond to the metadata version specified in its ``PKG-INFO``. @@ -27,3 +33,9 @@ .. _`PEP 241`: http://svn.python.org/projects/peps/trunk/pep-0241.txt .. _`PEP 314`: http://svn.python.org/projects/peps/trunk/pep-0314.txt .. _`PEP 345`: http://svn.python.org/projects/peps/trunk/pep-0345.txt +.. _`PEP 426`: http://svn.python.org/projects/peps/trunk/pep-0426.txt +.. _`PEP 566`: http://svn.python.org/projects/peps/trunk/pep-0566.txt +.. _`PEP 639`: http://svn.python.org/projects/peps/trunk/pep-0639.txt +.. _`PEP 643`: http://svn.python.org/projects/peps/trunk/pep-0643.txt +.. _`PEP 685`: http://svn.python.org/projects/peps/trunk/pep-0685.txt +.. _`PEP 794`: http://svn.python.org/projects/peps/trunk/pep-0794.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/pkginfo/distribution.py new/pkginfo-1.13/pkginfo/distribution.py --- old/pkginfo-1.12.1.2/pkginfo/distribution.py 2025-02-19 16:04:54.000000000 +0100 +++ new/pkginfo-1.13/pkginfo/distribution.py 2026-08-30 04:28:55.084164400 +0200 @@ -83,6 +83,11 @@ ('License-File', 'license_file', True), ) +HEADER_ATTRS_2_5 = HEADER_ATTRS_2_4 + ( # PEP 794 + ('Import-Name', 'import_names', True), + ('Import-Namespace', 'import_namespaces', True), +) + HEADER_ATTRS = { '1.0': HEADER_ATTRS_1_0, '1.1': HEADER_ATTRS_1_1, @@ -92,6 +97,7 @@ '2.2': HEADER_ATTRS_2_2, '2.3': HEADER_ATTRS_2_3, '2.4': HEADER_ATTRS_2_4, + '2.5': HEADER_ATTRS_2_5, } def _version_tuple(metadata_version): @@ -163,6 +169,9 @@ # version 2.4 license_expression = None license_file = () + # version 2.5 + import_names = () + import_namespaces = () def extractMetadata(self): data = self.read() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/pkginfo/distribution.pyi new/pkginfo-1.13/pkginfo/distribution.pyi --- old/pkginfo-1.12.1.2/pkginfo/distribution.pyi 2025-02-19 16:04:54.000000000 +0100 +++ new/pkginfo-1.13/pkginfo/distribution.pyi 2026-08-30 04:28:55.084530800 +0200 @@ -23,6 +23,7 @@ HEADER_ATTRS_2_2: _header_attrs HEADER_ATTRS_2_3: _header_attrs HEADER_ATTRS_2_4: _header_attrs +HEADER_ATTRS_2_5: _header_attrs HEADER_ATTRS: Dict[str, _header_attrs] _metadata_version = Tuple[int, int] METADATA_VERSIONS: Sequence[_metadata_version] @@ -68,6 +69,8 @@ dynamic: Sequence[str] license_expression: str | None license_file: Sequence[str] + import_names: Sequence[str] + import_namespaces: Sequence[str] def extractMetadata(self) -> None: ... def read(self) -> bytes: ... def parse(self, data: bytes) -> None: ... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/pkginfo/tests/__init__.py new/pkginfo-1.13/pkginfo/tests/__init__.py --- old/pkginfo-1.12.1.2/pkginfo/tests/__init__.py 2025-02-19 16:04:54.000000000 +0100 +++ new/pkginfo-1.13/pkginfo/tests/__init__.py 2025-02-18 19:41:41.165120600 +0100 @@ -16,7 +16,6 @@ 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', - 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/pkginfo/tests/dodgy/namespaced.dodgy-0.1.egg-info/PKG-INFO new/pkginfo-1.13/pkginfo/tests/dodgy/namespaced.dodgy-0.1.egg-info/PKG-INFO --- old/pkginfo-1.12.1.2/pkginfo/tests/dodgy/namespaced.dodgy-0.1.egg-info/PKG-INFO 2025-02-19 16:18:12.000000000 +0100 +++ new/pkginfo-1.13/pkginfo/tests/dodgy/namespaced.dodgy-0.1.egg-info/PKG-INFO 2025-02-18 19:43:01.180873400 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pkginfo -Version: 1.12.1.2 +Version: 1.13.dev0 Summary: Query metadata from sdists / bdists / installed packages. Home-page: https://code.launchpad.net/~tseaver/pkginfo/trunk Author: Tres Seaver, Agendaless Consulting @@ -12,7 +12,6 @@ Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/pkginfo/tests/test_distribution.py new/pkginfo-1.13/pkginfo/tests/test_distribution.py --- old/pkginfo-1.12.1.2/pkginfo/tests/test_distribution.py 2025-02-19 16:04:54.000000000 +0100 +++ new/pkginfo-1.13/pkginfo/tests/test_distribution.py 2026-08-30 04:28:55.084781000 +0200 @@ -659,3 +659,26 @@ dist.parse('License-File: LICENSE.txt\n' 'License-File: docs/LICENSE.rst') assert list(dist.license_file) == ['LICENSE.txt', 'docs/LICENSE.rst'] + +# Metadata version 2.5, defined in PEP 794. +def test_distribution_parse_Import_Name_single(): + dist = _make_distribution('2.5') + dist.parse('Import-Name: foo') + assert list(dist.import_names) == ['foo'] + +def test_distribution_parse_Import_Name_multiple(): + dist = _make_distribution('2.5') + dist.parse('Import-Name: foo\n' + 'Import-Name: bar') + assert list(dist.import_names) == ['foo', 'bar'] + +def test_distribution_parse_Import_Namespace_single(): + dist = _make_distribution('2.5') + dist.parse('Import-Namespace: foo') + assert list(dist.import_namespaces) == ['foo'] + +def test_distribution_parse_Import_Namespace_multiple(): + dist = _make_distribution('2.5') + dist.parse('Import-Namespace: foo\n' + 'Import-Namespace: bar') + assert list(dist.import_namespaces) == ['foo', 'bar'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/pkginfo/tests/test_installed.py new/pkginfo-1.13/pkginfo/tests/test_installed.py --- old/pkginfo-1.12.1.2/pkginfo/tests/test_installed.py 2025-02-19 16:04:54.000000000 +0100 +++ new/pkginfo-1.13/pkginfo/tests/test_installed.py 2026-08-30 04:28:55.085002700 +0200 @@ -137,13 +137,6 @@ assert(installed.package == wheel) assert(installed.package_name == 'wheel') - # See: https://bugs.launchpad.net/pkginfo/+bug/2090840 - installed_version = version.Version(installed.version) - if installed_version < version.Version('0.44.dev0'): - assert(installed.metadata_version == '2.1') - else: - assert(installed.metadata_version == '2.3') - def test_installed_namespaced_pkg_installed_via_setuptools(wonky): installed = _make_installed('namespaced.wonky') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/pkginfo.egg-info/PKG-INFO new/pkginfo-1.13/pkginfo.egg-info/PKG-INFO --- old/pkginfo-1.12.1.2/pkginfo.egg-info/PKG-INFO 2025-02-19 16:27:02.000000000 +0100 +++ new/pkginfo-1.13/pkginfo.egg-info/PKG-INFO 2026-08-30 04:42:56.535854000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 2.2 +Metadata-Version: 2.4 Name: pkginfo -Version: 1.12.1.2 +Version: 1.13 Summary: Query metadata from sdists / bdists / installed packages. Home-page: https://code.launchpad.net/~tseaver/pkginfo/trunk Author: Tres Seaver, Agendaless Consulting @@ -12,17 +12,16 @@ Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: System :: Software Distribution -Requires-Python: >=3.8 +Requires-Python: >=3.9 Description-Content-Type: text/x-rst License-File: LICENSE.txt Provides-Extra: testing @@ -37,6 +36,7 @@ Dynamic: home-page Dynamic: keywords Dynamic: license +Dynamic: license-file Dynamic: platform Dynamic: provides-extra Dynamic: requires-python @@ -60,10 +60,16 @@ ``pkginfo`` Changelog ===================== -1.12.1.2 (2025-02-19) ---------------------- +1.13.0 (2026-08-29) +------------------- + +- Support 'metadata_version' == '2.5' (PEP 794). LP #2165813 + +- Add support for Python 3.14. + +- Drop support for Python 3.9. -- Fix *another* packaging error (more missing testcase data!). LP #2098833 +- Drop support for Python 3.8. 1.12.1.1 (2025-02-18) --------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/setup.py new/pkginfo-1.13/setup.py --- old/pkginfo-1.12.1.2/setup.py 2025-02-19 16:16:29.000000000 +0100 +++ new/pkginfo-1.13/setup.py 2026-08-30 04:37:45.175521600 +0200 @@ -20,7 +20,7 @@ setup( name='pkginfo', - version='1.12.1.2', + version='1.13', description='Query metadata from sdists / bdists / installed packages.', platforms=['Unix', 'Windows'], long_description='\n\n'.join([README, CHANGES]), @@ -34,18 +34,17 @@ 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: System :: Software Distribution', ], - python_requires='>=3.8', + python_requires='>=3.9', entry_points={ 'console_scripts': [ 'pkginfo = pkginfo.commandline:main', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkginfo-1.12.1.2/tox.ini new/pkginfo-1.13/tox.ini --- old/pkginfo-1.12.1.2/tox.ini 2025-02-19 16:06:25.000000000 +0100 +++ new/pkginfo-1.13/tox.ini 2026-08-30 04:30:50.286818500 +0200 @@ -1,10 +1,10 @@ [tox] envlist = - clean,py38,py39,py310,py311,py312,py313,pypy3,cover,docs,mypy,manifest + clean,py310,py311,py312,py313,py314,pypy3,cover,docs,mypy,manifest [testenv:clean] basepython = - python3.10 + python3.13 deps = commands = python -c "import os; os.path.exists('.coverage') and os.remove('.coverage')" @@ -23,17 +23,17 @@ [testenv:cover] basepython = - python3.10 + python3.13 commands = coverage report --fail-under=100 deps = coverage depends = - py38,py39,py310,py311,py312,py313,pypy3 + py39,py310,py311,py312,py313,pypy3 [testenv:docs] basepython = - python3.10 + python3.13 commands = sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html sphinx-build -b doctest -d docs/_build/doctrees docs docs/_build/doctest @@ -42,8 +42,14 @@ [testenv:mypy] usedevelop = true +# --------------------------------------------------------------------------- +# Patches accepted to move this stanza beyond 3.12. +# --------------------------------------------------------------------------- +# python3.13 introduces `__firstlineno__` and `__static_attributes__`, whic +# subtest then whines aren't declared in the stubs. +# --------------------------------------------------------------------------- basepython = - python3.10 + python3.12 commands = mypy stubtest pkginfo.bdist @@ -61,8 +67,11 @@ [testenv:manifest] basepython = - python3.10 + python3.13 deps = check-manifest + breezy +allowlist_externals = ln commands = + ln -sf {envdir}/bin/brz {envdir}/bin/bzr check-manifest
