Dear maintainer,
I've prepared an NMU for rich (versioned as 15.0.0-1.1) and
uploaded it to DELAYED/15. Please feel free to tell me if I
should cancel it.
Regards.
diffstat for rich-15.0.0 rich-15.0.0
changelog | 14 ++++++++
control | 4 --
patches/py315.patch | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++
patches/series | 1
4 files changed, 101 insertions(+), 3 deletions(-)
diff -Nru rich-15.0.0/debian/changelog rich-15.0.0/debian/changelog
--- rich-15.0.0/debian/changelog 2026-04-16 07:42:34.000000000 +0200
+++ rich-15.0.0/debian/changelog 2026-09-13 13:57:54.000000000 +0200
@@ -1,3 +1,17 @@
+rich (15.0.0-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+
+ [ Maximiliano Curia ]
+ * Fix tests for Python 3.15 (Closes: #1145648)
+
+ [ Alexandre Detiste ]
+ * Drop unused python3-mypy build-dependency (Closes: #1144733)
+ * Drop unused python3-setuptools build-dependency (Closes: #1141477)
+ * Mark python3-pytest as <!nocheck> (Closes: #1141476)
+
+ -- Alexandre Detiste <tchet@debian.org> Sun, 13 Sep 2026 13:57:54 +0200
+
rich (15.0.0-1) unstable; urgency=medium
* New upstream release
diff -Nru rich-15.0.0/debian/control rich-15.0.0/debian/control
--- rich-15.0.0/debian/control 2026-04-16 07:42:34.000000000 +0200
+++ rich-15.0.0/debian/control 2026-09-13 13:54:38.000000000 +0200
@@ -7,11 +7,9 @@
python3-all,
python3-markdown-it <!nocheck>,
python3-attr <!nocheck>,
- python3-mypy (>= 0.782),
python3-poetry-core,
python3-pygments (>= 2.19.0),
- python3-pytest,
- python3-setuptools,
+ python3-pytest <!nocheck>,
python3-typing-extensions (>= 3.7.4),
Standards-Version: 4.6.2
Homepage: https://github.com/Textualize/rich
diff -Nru rich-15.0.0/debian/patches/py315.patch rich-15.0.0/debian/patches/py315.patch
--- rich-15.0.0/debian/patches/py315.patch 1970-01-01 01:00:00.000000000 +0100
+++ rich-15.0.0/debian/patches/py315.patch 2026-09-13 13:55:42.000000000 +0200
@@ -0,0 +1,85 @@
+Description: Fix tests for Python 3.15
+---
+ tests/test_inspect.py | 10 ++++++++++
+ tests/test_pretty.py | 5 +++++
+ 2 files changed, 15 insertions(+)
+
+diff --git a/tests/test_inspect.py b/tests/test_inspect.py
+index d6972fb5..7abca37d 100644
+--- a/tests/test_inspect.py
++++ b/tests/test_inspect.py
+@@ -48,6 +48,11 @@ 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 +150,7 @@ def test_inspect_empty_dict():
+ assert render({}).startswith(expected)
+
+
++@skip_py315
+ @skip_py314
+ @skip_py313
+ @skip_py312
+@@ -169,6 +175,7 @@ def test_inspect_builtin_function_except_python311():
+ @pytest.mark.skipif(
+ sys.version_info < (3, 11), reason="print builtin signature only available on 3.11+"
+ )
++@skip_py315
+ @skip_pypy3
+ def test_inspect_builtin_function_only_python311():
+ # On 3.11, the print builtin *does* have a signature, unlike in prior versions
+@@ -227,6 +234,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 +274,7 @@ def test_inspect_integer_with_methods_python38_and_python39():
+ @skip_py312
+ @skip_py313
+ @skip_py314
++@skip_py315
+ def test_inspect_integer_with_methods_python310only():
+ expected = (
+ "╭──────────────── <class 'int'> ─────────────────╮\n"
+@@ -309,6 +318,7 @@ def test_inspect_integer_with_methods_python310only():
+ @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
+diff --git a/tests/test_pretty.py b/tests/test_pretty.py
+index 29331d9d..a63f848b 100644
+--- a/tests/test_pretty.py
++++ b/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:
diff -Nru rich-15.0.0/debian/patches/series rich-15.0.0/debian/patches/series
--- rich-15.0.0/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ rich-15.0.0/debian/patches/series 2026-09-13 13:55:51.000000000 +0200
@@ -0,0 +1 @@
+py315.patch