Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-rich for openSUSE:Factory checked in at 2026-08-11 17:09:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-rich (Old) and /work/SRC/openSUSE:Factory/.python-rich.new.17972 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rich" Tue Aug 11 17:09:29 2026 rev:40 rq:1370432 version:15.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-rich/python-rich.changes 2026-06-08 14:05:41.588230931 +0200 +++ /work/SRC/openSUSE:Factory/.python-rich.new.17972/python-rich.changes 2026-08-11 17:09:44.711258995 +0200 @@ -1,0 +2,6 @@ +Mon Aug 10 02:10:18 UTC 2026 - Steve Kowalik <[email protected]> + +- Add patch support-python-315.patch: + * Support signature changes for Python 3.15. + +------------------------------------------------------------------- New: ---- support-python-315.patch ----------(New B)---------- New: - Add patch support-python-315.patch: * Support signature changes for Python 3.15. ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-rich.spec ++++++ --- /var/tmp/diff_new_pack.gNiRE1/_old 2026-08-11 17:09:46.039315284 +0200 +++ /var/tmp/diff_new_pack.gNiRE1/_new 2026-08-11 17:09:46.047315623 +0200 @@ -25,11 +25,11 @@ License: MIT URL: https://github.com/Textualize/rich Source: https://github.com/Textualize/rich/archive/refs/tags/v%{version}.tar.gz#/rich-%{version}.tar.gz +# PATCH-FIX-UPSTREAM Based on gh#Textualize/rich#4082 +Patch0: support-python-315.patch BuildRequires: %{python_module base >= 3.9} -BuildRequires: %{python_module markdown-it-py >= 2.2.0} BuildRequires: %{python_module pip} BuildRequires: %{python_module poetry-core} -BuildRequires: %{python_module pygments >= 2.13.0} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-markdown-it-py >= 2.2.0 @@ -37,8 +37,10 @@ Suggests: python-ipywidgets >= 7.5.1 BuildArch: noarch # SECTION test requirements -BuildRequires: %{python_module pytest} BuildRequires: %{python_module attrs} +BuildRequires: %{python_module markdown-it-py >= 2.2.0} +BuildRequires: %{python_module pygments >= 2.13.0} +BuildRequires: %{python_module pytest} # /SECTION %python_subpackages ++++++ support-python-315.patch ++++++ >From 3b43587d27d3d082c0c90aee025ad7e5bb5766fe Mon Sep 17 00:00:00 2001 From: Steve Traylen <[email protected]> Date: Thu, 16 Apr 2026 16:28:07 +0200 Subject: [PATCH] tests: fix test_inspect for Python 3.15 print() signature change (*args -> *objects) I realise rich perfectly easnably is not supporting 3.15 yet but this allow tests to pass on 3.15a8. --- tests/test_inspect.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) Index: rich-15.0.0/tests/test_inspect.py =================================================================== --- rich-15.0.0.orig/tests/test_inspect.py +++ rich-15.0.0/tests/test_inspect.py @@ -48,6 +48,10 @@ skip_py314 = pytest.mark.skipif( reason="rendered differently on py3.14", ) +skip_py315 = pytest.mark.skipif( + sys.version_info.minor == 15 and sys.version_info.major == 3, + reason="rendered differently on py3.15", +) skip_pypy3 = pytest.mark.skipif( hasattr(sys, "pypy_version_info"), @@ -145,6 +149,7 @@ def test_inspect_empty_dict(): assert render({}).startswith(expected) +@skip_py315 @skip_py314 @skip_py313 @skip_py312 @@ -169,9 +174,10 @@ def test_inspect_builtin_function_except @pytest.mark.skipif( sys.version_info < (3, 11), reason="print builtin signature only available on 3.11+" ) +@skip_py315 # 3.15 renamed *args to *objects @skip_pypy3 def test_inspect_builtin_function_only_python311(): - # On 3.11, the print builtin *does* have a signature, unlike in prior versions + # On 3.11-3.14, the print builtin *does* have a signature with *args expected = ( "╭────────── <built-in function print> ───────────╮\n" "│ def print(*args, sep=' ', end='\\n', file=None, │\n" @@ -187,6 +193,27 @@ def test_inspect_builtin_function_only_p assert render(print) == expected [email protected]( + sys.version_info < (3, 15), reason="print builtin uses *objects from 3.15+" +) +@skip_pypy3 +def test_inspect_builtin_function_only_python315(): + # On 3.15+, the variadic parameter was renamed from *args to *objects + expected = ( + "╭────────── <built-in function print> ───────────╮\n" + "│ def print(*objects, sep=' ', end='\\n', │\n" + "│ file=None, flush=False): │\n" + "│ │\n" + "│ Prints the values to a stream, or to │\n" + "│ sys.stdout by default. │\n" + "│ │\n" + "│ 30 attribute(s) not shown. Run │\n" + "│ inspect(inspect) for options. │\n" + "╰────────────────────────────────────────────────╯\n" + ) + assert render(print) == expected + + @skip_pypy3 def test_inspect_coroutine(): async def coroutine(): @@ -227,6 +254,7 @@ def test_inspect_integer_with_value(): @skip_py312 @skip_py313 @skip_py314 +@skip_py315 def test_inspect_integer_with_methods_python38_and_python39(): expected = ( "╭──────────────── <class 'int'> ─────────────────╮\n" @@ -266,6 +294,7 @@ def test_inspect_integer_with_methods_py @skip_py312 @skip_py313 @skip_py314 +@skip_py315 def test_inspect_integer_with_methods_python310only(): expected = ( "╭──────────────── <class 'int'> ─────────────────╮\n" @@ -309,6 +338,7 @@ def test_inspect_integer_with_methods_py @skip_py312 @skip_py313 @skip_py314 +@skip_py315 def test_inspect_integer_with_methods_python311(): # to_bytes and from_bytes methods on int had minor signature change - # they now, as of 3.11, have default values for all of their parameters Index: rich-15.0.0/tests/test_pretty.py =================================================================== --- rich-15.0.0.orig/tests/test_pretty.py +++ rich-15.0.0/tests/test_pretty.py @@ -42,6 +42,10 @@ skip_py314 = pytest.mark.skipif( sys.version_info.minor == 14 and sys.version_info.major == 3, reason="rendered differently on py3.14", ) +skip_py315 = pytest.mark.skipif( + sys.version_info.minor == 15 and sys.version_info.major == 3, + reason="rendered differently on py3.15", +) def test_install() -> None: @@ -644,6 +648,7 @@ def test_attrs_empty() -> None: @skip_py312 @skip_py313 @skip_py314 +@skip_py315 def test_attrs_broken() -> None: @attr.define class Foo:
