Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-nbclient for openSUSE:Factory 
checked in at 2025-12-15 11:58:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nbclient (Old)
 and      /work/SRC/openSUSE:Factory/.python-nbclient.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-nbclient"

Mon Dec 15 11:58:33 2025 rev:36 rq:1322780 version:0.10.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nbclient/python-nbclient.changes  
2025-02-27 16:40:46.172156839 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-nbclient.new.1939/python-nbclient.changes    
    2025-12-15 12:04:41.103198228 +0100
@@ -1,0 +2,12 @@
+Sat Dec 13 14:37:39 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 0.10.2:
+  * Drop Python 3.8, test PyPy 3.10 #323 (@davidbrochart)
+  * Gracefully handle explicit transient=None #322
+- update to 0.10.1:
+  * Run docs on ubuntu #314 (@blink1073)
+  * avoid deprecation warning for py313 #320 (@lucascolley)
+- drop nbclient-pr315-date-deprecation.patch,
+     nbclient-pr317-py313tests.patch: (upstream)
+
+-------------------------------------------------------------------

Old:
----
  nbclient-0.10.0.tar.gz
  nbclient-pr315-date-deprecation.patch
  nbclient-pr317-py313tests.patch

New:
----
  nbclient-0.10.2.tar.gz

----------(Old B)----------
  Old:  * avoid deprecation warning for py313 #320 (@lucascolley)
- drop nbclient-pr315-date-deprecation.patch,
     nbclient-pr317-py313tests.patch: (upstream)
  Old:- drop nbclient-pr315-date-deprecation.patch,
     nbclient-pr317-py313tests.patch: (upstream)
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-nbclient.spec ++++++
--- /var/tmp/diff_new_pack.Bzr7Np/_old  2025-12-15 12:04:41.943233605 +0100
+++ /var/tmp/diff_new_pack.Bzr7Np/_new  2025-12-15 12:04:41.947233773 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-nbclient
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 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
@@ -34,16 +34,12 @@
 %{?sle15_python_module_pythons}
 
 Name:           python-nbclient%{psuffix}
-Version:        0.10.0
+Version:        0.10.2
 Release:        0
 Summary:        A client library for executing notebooks
 License:        BSD-3-Clause
 URL:            https://github.com/jupyter/nbclient
 Source:         
https://files.pythonhosted.org/packages/source/n/nbclient/nbclient-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM nbclient-pr315-date-deprecation.patch 
gh#jupyter/nbclient#315 gh#jupyter/nbclient#318
-Patch0:         nbclient-pr315-date-deprecation.patch
-# PATCH-FIX-UPSTREAM nbclient-pr317-py313tests.patch gh#jupyter/nbclient#317
-Patch1:         nbclient-pr317-py313tests.patch
 BuildRequires:  %{python_module base >= 3.8}
 BuildRequires:  %{python_module hatchling >= 1.10.0}
 BuildRequires:  %{python_module pip}

++++++ nbclient-0.10.0.tar.gz -> nbclient-0.10.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbclient-0.10.0/PKG-INFO new/nbclient-0.10.2/PKG-INFO
--- old/nbclient-0.10.0/PKG-INFO        2020-02-02 01:00:00.000000000 +0100
+++ new/nbclient-0.10.2/PKG-INFO        2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: nbclient
-Version: 0.10.0
+Version: 0.10.2
 Summary: A client library for executing notebooks. Formerly nbconvert's 
ExecutePreprocessor.
 Project-URL: Documentation, https://nbclient.readthedocs.io
 Project-URL: Funding, https://numfocus.org/
@@ -46,11 +46,12 @@
 Classifier: License :: OSI Approved :: BSD License
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
-Requires-Python: >=3.8.0
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
+Requires-Python: >=3.9.0
 Requires-Dist: jupyter-client>=6.1.12
 Requires-Dist: jupyter-core!=5.0.*,>=4.12
 Requires-Dist: nbformat>=5.1
@@ -59,19 +60,28 @@
 Requires-Dist: pre-commit; extra == 'dev'
 Provides-Extra: docs
 Requires-Dist: autodoc-traits; extra == 'docs'
+Requires-Dist: flaky; extra == 'docs'
+Requires-Dist: ipykernel>=6.19.3; extra == 'docs'
+Requires-Dist: ipython; extra == 'docs'
+Requires-Dist: ipywidgets; extra == 'docs'
 Requires-Dist: mock; extra == 'docs'
 Requires-Dist: moto; extra == 'docs'
 Requires-Dist: myst-parser; extra == 'docs'
-Requires-Dist: nbclient[test]; extra == 'docs'
+Requires-Dist: nbconvert>=7.1.0; extra == 'docs'
+Requires-Dist: pytest-asyncio; extra == 'docs'
+Requires-Dist: pytest-cov>=4.0; extra == 'docs'
+Requires-Dist: pytest<8,>=7.0; extra == 'docs'
 Requires-Dist: sphinx-book-theme; extra == 'docs'
 Requires-Dist: sphinx>=1.7; extra == 'docs'
 Requires-Dist: sphinxcontrib-spelling; extra == 'docs'
+Requires-Dist: testpath; extra == 'docs'
+Requires-Dist: xmltodict; extra == 'docs'
 Provides-Extra: test
 Requires-Dist: flaky; extra == 'test'
 Requires-Dist: ipykernel>=6.19.3; extra == 'test'
 Requires-Dist: ipython; extra == 'test'
 Requires-Dist: ipywidgets; extra == 'test'
-Requires-Dist: nbconvert>=7.0.0; extra == 'test'
+Requires-Dist: nbconvert>=7.1.0; extra == 'test'
 Requires-Dist: pytest-asyncio; extra == 'test'
 Requires-Dist: pytest-cov>=4.0; extra == 'test'
 Requires-Dist: pytest<8,>=7.0; extra == 'test'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbclient-0.10.0/nbclient/_version.py 
new/nbclient-0.10.2/nbclient/_version.py
--- old/nbclient-0.10.0/nbclient/_version.py    2020-02-02 01:00:00.000000000 
+0100
+++ new/nbclient-0.10.2/nbclient/_version.py    2020-02-02 01:00:00.000000000 
+0100
@@ -1,14 +1,15 @@
 """Version info."""
+from __future__ import annotations
+
 import re
-from typing import List, Union
 
-__version__ = "0.10.0"
+__version__ = "0.10.2"
 
 # Build up version_info tuple for backwards compatibility
 pattern = r"(?P<major>\d+).(?P<minor>\d+).(?P<patch>\d+)(?P<rest>.*)"
 match = re.match(pattern, __version__)
 if match:
-    parts: List[Union[int, str]] = [int(match[part]) for part in ["major", 
"minor", "patch"]]
+    parts: list[int | str] = [int(match[part]) for part in ["major", "minor", 
"patch"]]
     if match["rest"]:
         parts.append(match["rest"])
 else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbclient-0.10.0/nbclient/client.py 
new/nbclient-0.10.2/nbclient/client.py
--- old/nbclient-0.10.0/nbclient/client.py      2020-02-02 01:00:00.000000000 
+0100
+++ new/nbclient-0.10.2/nbclient/client.py      2020-02-02 01:00:00.000000000 
+0100
@@ -1100,7 +1100,12 @@
         content = msg["content"]
         self.log.debug("content: %s", content)
 
-        display_id = content.get("transient", {}).get("display_id", None)
+        # while it's tempting to go for a more concise
+        # display_id = content.get("transient", {}).get("display_id", None)
+        # this breaks if transient is explicitly set to None
+        transient = content.get("transient")
+        display_id = transient.get("display_id") if transient else None
+
         if display_id and msg_type in {"execute_result", "display_data", 
"update_display_data"}:
             self._update_display_id(display_id, msg)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbclient-0.10.0/nbclient/jsonutil.py 
new/nbclient-0.10.2/nbclient/jsonutil.py
--- old/nbclient-0.10.0/nbclient/jsonutil.py    2020-02-02 01:00:00.000000000 
+0100
+++ new/nbclient-0.10.2/nbclient/jsonutil.py    2020-02-02 01:00:00.000000000 
+0100
@@ -26,7 +26,7 @@
 
 # holy crap, strptime is not threadsafe.
 # Calling it once at import seems to help.
-datetime.strptime("1", "%d")
+datetime.strptime("2000-01-01", "%Y-%m-%d")
 
 # -----------------------------------------------------------------------------
 # Classes and functions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbclient-0.10.0/pyproject.toml 
new/nbclient-0.10.2/pyproject.toml
--- old/nbclient-0.10.0/pyproject.toml  2020-02-02 01:00:00.000000000 +0100
+++ new/nbclient-0.10.2/pyproject.toml  2020-02-02 01:00:00.000000000 +0100
@@ -12,7 +12,7 @@
 description = "A client library for executing notebooks. Formerly nbconvert's 
ExecutePreprocessor."
 readme = "README.md"
 license = { file = "LICENSE" }
-requires-python = ">=3.8.0"
+requires-python = ">=3.9.0"
 authors = [
     { name = "Jupyter Development Team", email = "[email protected]" },
 ]
@@ -29,10 +29,11 @@
     "License :: OSI Approved :: BSD License",
     "Programming Language :: Python",
     "Programming Language :: Python :: 3",
-    "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",
 ]
 dependencies = [
     "jupyter_client>=6.1.12",
@@ -47,7 +48,7 @@
     "ipykernel>=6.19.3",
     "ipython",
     "ipywidgets",
-    "nbconvert>=7.0.0",
+    "nbconvert>=7.1.0",
     "pytest-asyncio",
     "pytest-cov>=4.0",
     "pytest>=7.0,<8",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbclient-0.10.0/tests/test_cli.py 
new/nbclient-0.10.2/tests/test_cli.py
--- old/nbclient-0.10.0/tests/test_cli.py       2020-02-02 01:00:00.000000000 
+0100
+++ new/nbclient-0.10.2/tests/test_cli.py       2020-02-02 01:00:00.000000000 
+0100
@@ -1,3 +1,4 @@
+import sys
 from pathlib import Path
 from subprocess import CalledProcessError, check_output
 from unittest.mock import call, mock_open, patch
@@ -6,6 +7,11 @@
 
 from nbclient.cli import NbClientApp
 
+if sys.version_info >= (3, 13):
+    PATH_OPEN_CALL_STEP = 4
+else:
+    PATH_OPEN_CALL_STEP = 3
+
 current_dir = Path(__file__).parent.absolute()
 
 
@@ -60,7 +66,7 @@
     # add suffix if needed
     paths = [p.with_suffix(".ipynb") for p in paths]
 
-    assert path_open.mock_calls[::3] == [call(p) for p in paths]
+    assert path_open.mock_calls[::PATH_OPEN_CALL_STEP] == [call(p) for p in 
paths]
     assert reader.call_count == len(paths)
     # assert reader.mock_calls == [call(p, as_version=4) for p in paths]
 
@@ -114,7 +120,7 @@
     # add suffix if needed
     paths = [p.with_suffix(".ipynb") for p in paths]
 
-    assert path_open.mock_calls[::3] == [call(p) for p in paths]
+    assert path_open.mock_calls[::PATH_OPEN_CALL_STEP] == [call(p) for p in 
paths]
     assert reader.call_count == len(paths)
 
     expected = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbclient-0.10.0/tests/test_client.py 
new/nbclient-0.10.2/tests/test_client.py
--- old/nbclient-0.10.0/tests/test_client.py    2020-02-02 01:00:00.000000000 
+0100
+++ new/nbclient-0.10.2/tests/test_client.py    2020-02-02 01:00:00.000000000 
+0100
@@ -11,6 +11,7 @@
 import threading
 import warnings
 from base64 import b64decode, b64encode
+from platform import python_implementation
 from queue import Empty
 from typing import Any
 from unittest.mock import MagicMock, Mock
@@ -325,7 +326,7 @@
         ("Factorials.ipynb", {"kernel_name": "python"}),
         ("HelloWorld.ipynb", {"kernel_name": "python"}),
         ("Inline Image.ipynb", {"kernel_name": "python"}),
-        (
+        pytest.param(
             "Interrupt.ipynb",
             {
                 "kernel_name": "python",
@@ -333,6 +334,7 @@
                 "interrupt_on_timeout": True,
                 "allow_errors": True,
             },
+            marks=pytest.mark.skipif(python_implementation() == "PyPy", 
reason="PyPy hangs"),
         ),
         ("JupyterWidgets.ipynb", {"kernel_name": "python"}),
         ("Skip Exceptions with Cell Tags.ipynb", {"kernel_name": "python"}),

Reply via email to