Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-zipp for openSUSE:Factory checked in at 2026-05-21 18:25:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-zipp (Old) and /work/SRC/openSUSE:Factory/.python-zipp.new.2084 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zipp" Thu May 21 18:25:36 2026 rev:27 rq:1354128 version:4.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-zipp/python-zipp.changes 2026-04-23 17:04:23.540202776 +0200 +++ /work/SRC/openSUSE:Factory/.python-zipp.new.2084/python-zipp.changes 2026-05-21 18:26:04.163431722 +0200 @@ -1,0 +2,8 @@ +Tue May 19 22:07:50 UTC 2026 - Dirk Müller <[email protected]> + +- update to 4.1.0: + * Path.iterdir now raises NotADirectoryError (formerly + ValueError) when call on something that's not a directory. + * Drop workaround for stacklevel bug on older PyPy releases. + +------------------------------------------------------------------- Old: ---- zipp-3.23.1.tar.gz New: ---- zipp-4.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-zipp.spec ++++++ --- /var/tmp/diff_new_pack.RVvq9S/_old 2026-05-21 18:26:04.963464580 +0200 +++ /var/tmp/diff_new_pack.RVvq9S/_new 2026-05-21 18:26:04.963464580 +0200 @@ -26,14 +26,14 @@ %endif %{?sle15_python_module_pythons} Name: python-zipp%{psuffix} -Version: 3.23.1 +Version: 4.1.0 Release: 0 Summary: Pathlib-compatible object wrapper for zip files License: MIT Group: Development/Languages/Python URL: https://github.com/jaraco/zipp Source: https://files.pythonhosted.org/packages/source/z/zipp/zipp-%{version}.tar.gz -BuildRequires: %{python_module base >= 3.9} +BuildRequires: %{python_module base >= 3.10} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools >= 77} BuildRequires: %{python_module setuptools_scm >= 3.4.1} @@ -59,8 +59,6 @@ %prep %autosetup -p1 -n zipp-%{version} sed -i '/addopts/ s/--doctest-modules//' pytest.ini -# People still want this for 15.X despite Python 3.6 is not supported upstream anymore -sed -i 's/python_requires = >=3.7/python_requires = >=3.6/' setup.cfg rm -r zipp.egg-info %build ++++++ zipp-3.23.1.tar.gz -> zipp-4.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/.github/workflows/main.yml new/zipp-4.1.0/.github/workflows/main.yml --- old/zipp-3.23.1/.github/workflows/main.yml 2025-08-18 22:03:48.000000000 +0200 +++ new/zipp-4.1.0/.github/workflows/main.yml 2026-05-18 22:08:32.000000000 +0200 @@ -34,31 +34,34 @@ # https://blog.jaraco.com/efficient-use-of-ci-resources/ matrix: python: - - "3.9" - - "3.13" + - "3.10" + - "3.14" + - "3.14t" platform: - ubuntu-latest - macos-latest - windows-latest include: - - python: "3.10" - platform: ubuntu-latest - python: "3.11" platform: ubuntu-latest - python: "3.12" platform: ubuntu-latest - - python: "3.14" + - python: "3.13" + platform: ubuntu-latest + - python: "3.13t" + platform: ubuntu-latest + - python: "3.15" platform: ubuntu-latest - python: pypy3.10 platform: ubuntu-latest runs-on: ${{ matrix.platform }} - continue-on-error: ${{ matrix.python == '3.14' }} + continue-on-error: ${{ matrix.python == '3.15' }} steps: - uses: actions/checkout@v4 - name: Install build dependencies # Install dependencies for building packages on pre-release Pythons # jaraco/skeleton#161 - if: matrix.python == '3.14' && matrix.platform == 'ubuntu-latest' + if: matrix.python == '3.15' && matrix.platform == 'ubuntu-latest' run: | sudo apt update sudo apt install -y libxml2-dev libxslt-dev diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/.pre-commit-config.yaml new/zipp-4.1.0/.pre-commit-config.yaml --- old/zipp-3.23.1/.pre-commit-config.yaml 2026-04-14 01:21:08.000000000 +0200 +++ new/zipp-4.1.0/.pre-commit-config.yaml 2026-05-18 22:08:32.000000000 +0200 @@ -1,7 +1,7 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.9 + rev: v0.12.0 hooks: - - id: ruff + - id: ruff-check args: [--fix, --unsafe-fixes] - id: ruff-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/AGENTS.md new/zipp-4.1.0/AGENTS.md --- old/zipp-3.23.1/AGENTS.md 1970-01-01 01:00:00.000000000 +0100 +++ new/zipp-4.1.0/AGENTS.md 2026-05-18 22:08:32.000000000 +0200 @@ -0,0 +1,3 @@ +This project follows the [skeleton](https://blog.jaraco.com/skeleton); please read for context on development. + +Before committing, ensure .git/info/exclude is populated from jaraco/dotfiles .gitignore_global so that generated artifacts are never staged. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/NEWS.rst new/zipp-4.1.0/NEWS.rst --- old/zipp-3.23.1/NEWS.rst 2025-08-18 22:09:28.000000000 +0200 +++ new/zipp-4.1.0/NEWS.rst 2026-05-18 22:08:32.000000000 +0200 @@ -1,3 +1,21 @@ +v4.1.0 +====== + +Features +-------- + +- Path.iterdir now raises NotADirectoryError (formerly ValueError) when call on something that's not a directory. (#154) + + +v4.0.0 +====== + +Deprecations and Removals +------------------------- + +- Drop workaround for stacklevel bug on older PyPy releases. (#149) + + v3.23.1 ======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/PKG-INFO new/zipp-4.1.0/PKG-INFO --- old/zipp-3.23.1/PKG-INFO 2026-04-14 01:21:37.710435000 +0200 +++ new/zipp-4.1.0/PKG-INFO 2026-05-18 22:08:52.276801600 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: zipp -Version: 3.23.1 +Version: 4.1.0 Summary: Backport of pathlib-compatible object wrapper for zip files Author-email: "Jason R. Coombs" <[email protected]> License-Expression: MIT @@ -9,7 +9,7 @@ Classifier: Intended Audience :: Developers Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only -Requires-Python: >=3.9 +Requires-Python: >=3.10 Description-Content-Type: text/x-rst License-File: LICENSE Provides-Extra: test @@ -28,14 +28,14 @@ Requires-Dist: sphinx-lint; extra == "doc" Requires-Dist: jaraco.tidelift>=1.4; extra == "doc" Provides-Extra: check -Requires-Dist: pytest-checkdocs>=2.4; extra == "check" +Requires-Dist: pytest-checkdocs>=2.14; extra == "check" Requires-Dist: pytest-ruff>=0.2.1; sys_platform != "cygwin" and extra == "check" Provides-Extra: cover Requires-Dist: pytest-cov; extra == "cover" Provides-Extra: enabler -Requires-Dist: pytest-enabler>=2.2; extra == "enabler" +Requires-Dist: pytest-enabler>=3.4; extra == "enabler" Provides-Extra: type -Requires-Dist: pytest-mypy; extra == "type" +Requires-Dist: pytest-mypy>=1.0.1; platform_python_implementation != "PyPy" and extra == "type" Dynamic: license-file .. image:: https://img.shields.io/pypi/v/zipp.svg @@ -54,7 +54,7 @@ .. image:: https://readthedocs.org/projects/zipp/badge/?version=latest .. :target: https://zipp.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2025-informational +.. image:: https://img.shields.io/badge/skeleton-2026-informational :target: https://blog.jaraco.com/skeleton .. image:: https://tidelift.com/badges/package/pypi/zipp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/README.rst new/zipp-4.1.0/README.rst --- old/zipp-3.23.1/README.rst 2025-08-18 22:03:48.000000000 +0200 +++ new/zipp-4.1.0/README.rst 2026-05-18 22:08:32.000000000 +0200 @@ -14,7 +14,7 @@ .. image:: https://readthedocs.org/projects/zipp/badge/?version=latest .. :target: https://zipp.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2025-informational +.. image:: https://img.shields.io/badge/skeleton-2026-informational :target: https://blog.jaraco.com/skeleton .. image:: https://tidelift.com/badges/package/pypi/zipp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/pyproject.toml new/zipp-4.1.0/pyproject.toml --- old/zipp-3.23.1/pyproject.toml 2026-04-14 01:21:08.000000000 +0200 +++ new/zipp-4.1.0/pyproject.toml 2026-05-18 22:08:32.000000000 +0200 @@ -20,7 +20,7 @@ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", ] -requires-python = ">=3.9" +requires-python = ">=3.10" license = "MIT" dependencies = [ ] @@ -58,7 +58,7 @@ ] check = [ - "pytest-checkdocs >= 2.4", + "pytest-checkdocs >= 2.14", "pytest-ruff >= 0.2.1; sys_platform != 'cygwin'", ] @@ -67,12 +67,14 @@ ] enabler = [ - "pytest-enabler >= 2.2", + "pytest-enabler >= 3.4", ] type = [ # upstream - "pytest-mypy", + + # Exclude PyPy from type checks (python/mypy#20454 jaraco/skeleton#187) + "pytest-mypy >= 1.0.1; platform_python_implementation != 'PyPy'", # local ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/tests/test_path.py new/zipp-4.1.0/tests/test_path.py --- old/zipp-3.23.1/tests/test_path.py 2026-04-14 01:21:08.000000000 +0200 +++ new/zipp-4.1.0/tests/test_path.py 2026-05-18 22:08:32.000000000 +0200 @@ -117,7 +117,7 @@ def test_iterdir_on_file(self, alpharep): root = zipfile.Path(alpharep) a, n, b, g, j = root.iterdir() - with self.assertRaises(ValueError): + with self.assertRaises(NotADirectoryError): a.iterdir() @pass_alpharep @@ -183,6 +183,10 @@ not getattr(sys.flags, 'warn_default_encoding', 0), "Requires warn_default_encoding", ) + @unittest.skipIf( + sys.implementation.name == 'pypy' and sys.pypy_version_info < (7, 3, 18), + "Older PyPy versions set the wrong stacklevel in text_encoding()", + ) @pass_alpharep def test_encoding_warnings(self, alpharep): """EncodingWarning must blame the read_text and open calls.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/towncrier.toml new/zipp-4.1.0/towncrier.toml --- old/zipp-3.23.1/towncrier.toml 2026-04-14 01:21:08.000000000 +0200 +++ new/zipp-4.1.0/towncrier.toml 2026-05-18 22:08:32.000000000 +0200 @@ -1,2 +1,3 @@ [tool.towncrier] title_format = "{version}" +directory = "newsfragments" # jaraco/skeleton#184 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/tox.ini new/zipp-4.1.0/tox.ini --- old/zipp-3.23.1/tox.ini 2025-06-08 20:44:04.000000000 +0200 +++ new/zipp-4.1.0/tox.ini 2026-05-18 22:08:32.000000000 +0200 @@ -20,7 +20,7 @@ diff-cover commands = pytest {posargs} --cov-report xml - diff-cover coverage.xml --compare-branch=origin/main --html-report diffcov.html + diff-cover coverage.xml --compare-branch=origin/main --format html:diffcov.html diff-cover coverage.xml --compare-branch=origin/main --fail-under=100 [testenv:docs] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/zipp/__init__.py new/zipp-4.1.0/zipp/__init__.py --- old/zipp-3.23.1/zipp/__init__.py 2026-04-14 01:21:08.000000000 +0200 +++ new/zipp-4.1.0/zipp/__init__.py 2026-05-18 22:08:32.000000000 +0200 @@ -14,7 +14,6 @@ import posixpath import re import stat -import sys import zipfile from ._functools import none_as, save_method_args @@ -196,12 +195,7 @@ def _extract_text_encoding(encoding=None, *args, **kwargs): - # compute stack level so that the caller of the caller sees any warning. - is_pypy = sys.implementation.name == 'pypy' - # PyPy no longer special cased after 7.3.19 (or maybe 7.3.18) - # See jaraco/zipp#143 - is_old_pypi = is_pypy and sys.pypy_version_info < (7, 3, 19) - stack_level = 3 + is_old_pypi + stack_level = 3 return text_encoding(encoding, stack_level), args, kwargs @@ -404,7 +398,7 @@ def iterdir(self): if not self.is_dir(): - raise ValueError("Can't listdir a file") + raise NotADirectoryError("Can't listdir a file") subs = map(self._next, self.root.namelist()) return filter(self._is_child, subs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/zipp/glob.py new/zipp-4.1.0/zipp/glob.py --- old/zipp-3.23.1/zipp/glob.py 2025-08-18 22:03:48.000000000 +0200 +++ new/zipp-4.1.0/zipp/glob.py 2026-05-18 22:08:32.000000000 +0200 @@ -71,7 +71,8 @@ Perform the replacements for a match from :func:`separate`. """ return match.group('set') or ( - re.escape(match.group(0)) + re + .escape(match.group(0)) .replace('\\*\\*', r'.*') .replace('\\*', rf'[^{re.escape(self.seps)}]*') .replace('\\?', r'[^/]') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/zipp.egg-info/PKG-INFO new/zipp-4.1.0/zipp.egg-info/PKG-INFO --- old/zipp-3.23.1/zipp.egg-info/PKG-INFO 2026-04-14 01:21:37.000000000 +0200 +++ new/zipp-4.1.0/zipp.egg-info/PKG-INFO 2026-05-18 22:08:52.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: zipp -Version: 3.23.1 +Version: 4.1.0 Summary: Backport of pathlib-compatible object wrapper for zip files Author-email: "Jason R. Coombs" <[email protected]> License-Expression: MIT @@ -9,7 +9,7 @@ Classifier: Intended Audience :: Developers Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only -Requires-Python: >=3.9 +Requires-Python: >=3.10 Description-Content-Type: text/x-rst License-File: LICENSE Provides-Extra: test @@ -28,14 +28,14 @@ Requires-Dist: sphinx-lint; extra == "doc" Requires-Dist: jaraco.tidelift>=1.4; extra == "doc" Provides-Extra: check -Requires-Dist: pytest-checkdocs>=2.4; extra == "check" +Requires-Dist: pytest-checkdocs>=2.14; extra == "check" Requires-Dist: pytest-ruff>=0.2.1; sys_platform != "cygwin" and extra == "check" Provides-Extra: cover Requires-Dist: pytest-cov; extra == "cover" Provides-Extra: enabler -Requires-Dist: pytest-enabler>=2.2; extra == "enabler" +Requires-Dist: pytest-enabler>=3.4; extra == "enabler" Provides-Extra: type -Requires-Dist: pytest-mypy; extra == "type" +Requires-Dist: pytest-mypy>=1.0.1; platform_python_implementation != "PyPy" and extra == "type" Dynamic: license-file .. image:: https://img.shields.io/pypi/v/zipp.svg @@ -54,7 +54,7 @@ .. image:: https://readthedocs.org/projects/zipp/badge/?version=latest .. :target: https://zipp.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2025-informational +.. image:: https://img.shields.io/badge/skeleton-2026-informational :target: https://blog.jaraco.com/skeleton .. image:: https://tidelift.com/badges/package/pypi/zipp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/zipp.egg-info/SOURCES.txt new/zipp-4.1.0/zipp.egg-info/SOURCES.txt --- old/zipp-3.23.1/zipp.egg-info/SOURCES.txt 2026-04-14 01:21:37.000000000 +0200 +++ new/zipp-4.1.0/zipp.egg-info/SOURCES.txt 2026-05-18 22:08:52.000000000 +0200 @@ -2,6 +2,7 @@ .editorconfig .pre-commit-config.yaml .readthedocs.yaml +AGENTS.md LICENSE NEWS.rst README.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zipp-3.23.1/zipp.egg-info/requires.txt new/zipp-4.1.0/zipp.egg-info/requires.txt --- old/zipp-3.23.1/zipp.egg-info/requires.txt 2026-04-14 01:21:37.000000000 +0200 +++ new/zipp-4.1.0/zipp.egg-info/requires.txt 2026-05-18 22:08:52.000000000 +0200 @@ -1,6 +1,6 @@ [check] -pytest-checkdocs>=2.4 +pytest-checkdocs>=2.14 [check:sys_platform != "cygwin"] pytest-ruff>=0.2.1 @@ -17,7 +17,7 @@ jaraco.tidelift>=1.4 [enabler] -pytest-enabler>=2.2 +pytest-enabler>=3.4 [test] pytest!=8.1.*,>=6 @@ -29,4 +29,6 @@ jaraco.test [type] -pytest-mypy + +[type:platform_python_implementation != "PyPy"] +pytest-mypy>=1.0.1
