Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pyproject-examples for
openSUSE:Factory checked in at 2026-04-11 22:23:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyproject-examples (Old)
and /work/SRC/openSUSE:Factory/.python-pyproject-examples.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyproject-examples"
Sat Apr 11 22:23:05 2026 rev:4 rq:1345844 version:2026.2.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-pyproject-examples/python-pyproject-examples.changes
2026-02-05 17:58:36.179083947 +0100
+++
/work/SRC/openSUSE:Factory/.python-pyproject-examples.new.21863/python-pyproject-examples.changes
2026-04-11 22:23:44.433911428 +0200
@@ -1,0 +2,14 @@
+Fri Apr 10 13:55:23 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 2026.2.3:
+ * Require Python >= 3.7, dropping support for 3.6.
+ * Add support for Python 3.7, 3.9, 3.10, 3.11, 3.12 and
+ PyPy.
+ * Update test suite to handle newer packaging error
+ messages.
+ * Update project metadata, documentation links, and
+ README.
+ * Update Mypy configuration to Python 3.9.
+- drop fix_regex.patch (upstream)
+
+-------------------------------------------------------------------
Old:
----
fix_regex.patch
pyproject_examples-2023.6.30.tar.gz
New:
----
pyproject_examples-2026.2.3.tar.gz
----------(Old B)----------
Old: * Update Mypy configuration to Python 3.9.
- drop fix_regex.patch (upstream)
----------(Old E)----------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyproject-examples.spec ++++++
--- /var/tmp/diff_new_pack.d9YgMi/_old 2026-04-11 22:23:45.317947615 +0200
+++ /var/tmp/diff_new_pack.d9YgMi/_new 2026-04-11 22:23:45.321947780 +0200
@@ -18,14 +18,12 @@
%{?sle15_python_module_pythons}
Name: python-pyproject-examples
-Version: 2023.6.30
+Version: 2026.2.3
Release: 0
Summary: Example pyproject.toml configs for testing
License: MIT
URL: https://github.com/repo-helper/pyproject-examples
Source:
https://files.pythonhosted.org/packages/source/p/pyproject-examples/pyproject_examples-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM fix_regex.patch -- based on PR
-Patch0: fix_regex.patch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module whey}
BuildRequires: fdupes
++++++ pyproject_examples-2023.6.30.tar.gz ->
pyproject_examples-2026.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_examples-2023.6.30/PKG-INFO
new/pyproject_examples-2026.2.3/PKG-INFO
--- old/pyproject_examples-2023.6.30/PKG-INFO 2023-06-30 11:36:47.362292000
+0200
+++ new/pyproject_examples-2026.2.3/PKG-INFO 2026-02-03 23:25:16.991871000
+0100
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.2
Name: pyproject-examples
-Version: 2023.6.30
+Version: 2026.2.3
Summary: Example pyproject.toml configs for testing.
Author-email: Dominic Davis-Foster <[email protected]>
License: MIT
@@ -14,10 +14,16 @@
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: 3.7
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 :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Typing :: Typed
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Requires-Dist: coincidence>=0.4.0
Requires-Dist: dom-toml>=0.4.0
Requires-Dist: packaging>=21.3
@@ -108,7 +114,7 @@
.. |language| image::
https://img.shields.io/github/languages/top/repo-helper/pyproject-examples
:alt: GitHub top language
-.. |commits-since| image::
https://img.shields.io/github/commits-since/repo-helper/pyproject-examples/v2023.6.30
+.. |commits-since| image::
https://img.shields.io/github/commits-since/repo-helper/pyproject-examples/v2026.2.3
:target: https://github.com/repo-helper/pyproject-examples/pulse
:alt: GitHub commits since tagged version
@@ -116,11 +122,11 @@
:target: https://github.com/repo-helper/pyproject-examples/commit/master
:alt: GitHub last commit
-.. |maintained| image:: https://img.shields.io/maintenance/yes/2023
+.. |maintained| image:: https://img.shields.io/maintenance/yes/2026
:alt: Maintenance
.. |pypi-downloads| image:: https://img.shields.io/pypi/dm/pyproject-examples
- :target: https://pypi.org/project/pyproject-examples/
+ :target: https://pypistats.org/packages/pyproject-examples
:alt: PyPI - Downloads
.. end shields
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_examples-2023.6.30/README.rst
new/pyproject_examples-2026.2.3/README.rst
--- old/pyproject_examples-2023.6.30/README.rst 2023-06-30 11:36:47.358292000
+0200
+++ new/pyproject_examples-2026.2.3/README.rst 2026-02-03 23:25:16.990871000
+0100
@@ -81,7 +81,7 @@
.. |language| image::
https://img.shields.io/github/languages/top/repo-helper/pyproject-examples
:alt: GitHub top language
-.. |commits-since| image::
https://img.shields.io/github/commits-since/repo-helper/pyproject-examples/v2023.6.30
+.. |commits-since| image::
https://img.shields.io/github/commits-since/repo-helper/pyproject-examples/v2026.2.3
:target: https://github.com/repo-helper/pyproject-examples/pulse
:alt: GitHub commits since tagged version
@@ -89,11 +89,11 @@
:target: https://github.com/repo-helper/pyproject-examples/commit/master
:alt: GitHub last commit
-.. |maintained| image:: https://img.shields.io/maintenance/yes/2023
+.. |maintained| image:: https://img.shields.io/maintenance/yes/2026
:alt: Maintenance
.. |pypi-downloads| image:: https://img.shields.io/pypi/dm/pyproject-examples
- :target: https://pypi.org/project/pyproject-examples/
+ :target: https://pypistats.org/packages/pyproject-examples
:alt: PyPI - Downloads
.. end shields
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_examples-2023.6.30/pyproject.toml
new/pyproject_examples-2026.2.3/pyproject.toml
--- old/pyproject_examples-2023.6.30/pyproject.toml 2023-06-30
11:36:47.358292000 +0200
+++ new/pyproject_examples-2026.2.3/pyproject.toml 2026-02-03
23:25:16.989871000 +0100
@@ -4,10 +4,9 @@
[project]
name = "pyproject-examples"
-version = "2023.6.30"
+version = "2026.2.3"
description = "Example pyproject.toml configs for testing."
readme = "README.rst"
-requires-python = ">=3.6"
keywords = []
dynamic = []
dependencies = [ "coincidence>=0.4.0", "dom-toml>=0.4.0", "packaging>=21.3",
"pytest>=6.2.3",]
@@ -16,19 +15,25 @@
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
"Programming Language :: Python :: Implementation :: CPython",
+ "Programming Language :: Python :: Implementation :: PyPy",
"Typing :: Typed",
]
+requires-python = ">=3.7"
+
+[project.license]
+file = "LICENSE"
[[project.authors]]
name = "Dominic Davis-Foster"
email = "[email protected]"
-
-[project.license]
-file = "LICENSE"
-
[project.urls]
Homepage = "https://github.com/repo-helper/pyproject-examples"
"Issue Tracker" = "https://github.com/repo-helper/pyproject-examples/issues"
@@ -39,14 +44,14 @@
[tool.whey]
base-classifiers = [ "Typing :: Typed",]
-python-versions = [ "3.8",]
-python-implementations = [ "CPython",]
+python-versions = [ "3.7", "3.8", "3.9", "3.10", "3.11", "3.12",]
+python-implementations = [ "CPython", "PyPy",]
platforms = [ "Windows", "macOS", "Linux",]
license-key = "MIT"
package = "pyproject_examples"
[tool.mypy]
-python_version = "3.8"
+python_version = "3.9"
namespace_packages = true
check_untyped_defs = true
warn_unused_ignores = true
@@ -56,9 +61,6 @@
[tool.snippet-fmt]
directives = [ "code-block",]
-[tool.dependency-dash."requirements.txt"]
-order = 10
-
[tool.snippet-fmt.languages.python]
reformat = true
@@ -68,3 +70,6 @@
[tool.snippet-fmt.languages.ini]
[tool.snippet-fmt.languages.json]
+
+[tool.dependency-dash."requirements.txt"]
+order = 10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pyproject_examples-2023.6.30/pyproject_examples/__init__.py
new/pyproject_examples-2026.2.3/pyproject_examples/__init__.py
--- old/pyproject_examples-2023.6.30/pyproject_examples/__init__.py
2023-06-30 11:36:10.070021400 +0200
+++ new/pyproject_examples-2026.2.3/pyproject_examples/__init__.py
2026-02-03 23:24:49.908645000 +0100
@@ -59,7 +59,7 @@
__author__: str = "Dominic Davis-Foster"
__copyright__: str = "2021 Dominic Davis-Foster"
__license__: str = "MIT License"
-__version__: str = "2023.6.30"
+__version__: str = "2026.2.3"
__email__: str = "[email protected]"
__all__ = [
@@ -100,66 +100,66 @@
'[project]\n\nversion = "2020.0.0"',
BadConfigError,
"The 'project.name' field must be provided.",
- id="no_name"
+ id="no_name",
),
pytest.param(
'[project]\ndynamic = ["name"]',
BadConfigError,
"The 'project.name' field may not be dynamic.",
- id="dynamic_name"
+ id="dynamic_name",
),
pytest.param(
'[project]\nname =
"???????12345=============☃"\nversion = "2020.0.0"',
BadConfigError,
re.escape("The value
'???????12345=============☃' for 'project.name' is invalid."),
- id="bad_name"
+ id="bad_name",
),
pytest.param(
'[project]\nname = "spam"\nversion =
"???????12345=============☃"',
InvalidVersion,
re.escape("Invalid version:
'???????12345=============☃'"),
- id="bad_version"
+ id="bad_version",
),
pytest.param(
f'{MINIMAL_CONFIG}\nrequires-python =
"???????12345=============☃"',
InvalidSpecifier,
re.escape("Invalid specifier:
'???????12345=============☃'"),
- id="bad_requires_python"
+ id="bad_requires_python",
),
pytest.param(
f'{MINIMAL_CONFIG}\nauthors = [{{name = "Bob,
Alice"}}]',
BadConfigError,
r"The 'project.authors\[0\].name' key cannot
contain commas.",
- id="author_comma"
+ id="author_comma",
),
pytest.param(
f'{MINIMAL_CONFIG}\nmaintainers = [{{name =
"Bob, Alice"}}]',
BadConfigError,
r"The 'project.maintainers\[0\].name' key
cannot contain commas.",
- id="maintainer_comma"
+ id="maintainer_comma",
),
pytest.param(
f'{MINIMAL_CONFIG}\nkeywords = [1, 2, 3, 4, 5]',
TypeError,
r"Invalid type for 'project.keywords\[0\]':
expected <class 'str'>, got <class 'int'>",
- id="keywords_wrong_type"
+ id="keywords_wrong_type",
),
pytest.param(
f'{MINIMAL_CONFIG}\nclassifiers = [1, 2, 3, 4,
5]',
TypeError,
r"Invalid type for 'project.classifiers\[0\]':
expected <class 'str'>, got <class 'int'>",
- id="classifiers_wrong_type"
+ id="classifiers_wrong_type",
),
pytest.param(
f'{MINIMAL_CONFIG}\ndependencies = [1, 2, 3, 4,
5]',
TypeError,
r"Invalid type for 'project.dependencies\[0\]':
expected <class 'str'>, got <class 'int'>",
- id="dependencies_wrong_type"
+ id="dependencies_wrong_type",
),
pytest.param(
f'{MINIMAL_CONFIG}\ndependencies = ["foo]]]"]',
InvalidRequirement,
- r"'foo]]]'\n Expected end or semicolon
\(after name and no valid version specifier\)\n foo]]]\n \^",
+ r"'foo]]]'\n Expected (end or )?semicolon
\(after name (and|with) no (valid )?version specifier\)( or end)?\n foo]]]\n
\^",
id="dependencies_invalid_requirement",
marks=pytest.mark.skipif(sys.version_info < (3,
7), reason="Error differs on 3.6"),
),
@@ -175,28 +175,28 @@
FileNotFoundError,
r"No such file or directory:
((Windows|Posix)Path(Plus)?\('README.rst'\)|'README.rst')",
id="missing_readme_file",
- marks=not_windows("Message differs on Windows.")
+ marks=not_windows("Message differs on
Windows."),
),
pytest.param(
f'{MINIMAL_CONFIG}\nlicense = {{file =
"LICENSE.txt"}}',
FileNotFoundError,
r"No such file or directory:
((Windows|Posix)Path(Plus)?\('LICENSE.txt'\)|'LICENSE.txt')",
id="missing_license_file",
- marks=not_windows("Message differs on Windows.")
+ marks=not_windows("Message differs on
Windows."),
),
pytest.param(
f'{MINIMAL_CONFIG}\nreadme = "README.rst"',
FileNotFoundError,
file_not_found_regex("README.rst"),
id="missing_readme_file_win32",
- marks=only_windows("Message differs on
Windows.")
+ marks=only_windows("Message differs on
Windows."),
),
pytest.param(
f'{MINIMAL_CONFIG}\nlicense = {{file =
"LICENSE.txt"}}',
FileNotFoundError,
file_not_found_regex("LICENSE.txt"),
id="missing_license_file_win32",
- marks=only_windows("Message differs on
Windows.")
+ marks=only_windows("Message differs on
Windows."),
),
pytest.param(
f"{MINIMAL_CONFIG}\n[project.urls]\na_really_long_label_which_exceeds_32_characters
= 'example.com'",
@@ -213,11 +213,11 @@
pytest.param('[build-system]\nrequires =
["whey"]\nbuild-backend = "whey"', id="complete"),
pytest.param(
'[build-system]\nrequires =
["whey"]\nbuild-backend = "whey"\nbackend-path = ["../foo"]',
- id="backend_path"
+ id="backend_path",
),
pytest.param(
'[build-system]\nrequires =
["whey"]\nbuild-backend = "whey"\nbackend-path = ["../foo", "./bar"]',
- id="backend_paths"
+ id="backend_paths",
),
]
@@ -226,24 +226,24 @@
'[build-system]\nbackend-path = ["./foo"]',
BadConfigError,
"The 'build-system.requires' field must be
provided.",
- id="no_requires"
+ id="no_requires",
),
pytest.param(
'[build-system]\nrequires = [1234]',
TypeError,
r"Invalid type for
'build-system.requires\[0\]': expected <class 'str'>, got <class 'int'>",
- id="requires_list_int"
+ id="requires_list_int",
),
pytest.param(
'[build-system]\nrequires = "whey"',
TypeError,
"Invalid type for 'build-system.requires':
expected <class 'collections.abc.Sequence'>, got <class 'str'>",
- id="requires_str"
+ id="requires_str",
),
pytest.param(
'[build-system]\nrequires = ["foo]]]"]',
InvalidRequirement,
- r"'foo]]]'\n Expected end or semicolon
\(after name and no valid version specifier\)\n foo]]]\n \^",
+ r"'foo]]]'\n Expected (end or )?semicolon
\(after name (and|with) no (valid )?version specifier\)( or end)?\n foo]]]\n
\^",
id="requires_invalid_requirement",
marks=pytest.mark.skipif(sys.version_info < (3,
7), reason="Error differs on 3.6"),
),
@@ -258,18 +258,18 @@
'[build-system]\nrequires =
["whey"]\nbackend-path = [1234]',
TypeError,
r"Invalid type for
'build-system.backend-path\[0\]': expected <class 'str'>, got <class 'int'>",
- id="backend_path_list_int"
+ id="backend_path_list_int",
),
pytest.param(
'[build-system]\nrequires =
["whey"]\nbackend-path = "whey"',
TypeError,
"Invalid type for 'build-system.backend-path':
expected <class 'collections.abc.Sequence'>, got <class 'str'>",
- id="backend_path_str"
+ id="backend_path_str",
),
pytest.param(
'[build-system]\nrequires =
["whey"]\nbackend-path = ["whey"]',
BadConfigError,
"'build-system.backend-path' cannot be
specified without also specifying 'build-system.build-backend'",
- id="backend_path_without_backend"
+ id="backend_path_without_backend",
),
]