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 2026-10-18 19:25:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nbclient (Old)
and /work/SRC/openSUSE:Factory/.python-nbclient.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nbclient"
Sun Oct 18 19:25:33 2026 rev:38 rq:1385855 version:0.11.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nbclient/python-nbclient.changes
2026-02-23 16:14:52.431084136 +0100
+++
/work/SRC/openSUSE:Factory/.python-nbclient.new.3698736/python-nbclient.changes
2026-10-18 19:25:50.589081329 +0200
@@ -1,0 +2,10 @@
+Sat Oct 17 15:17:15 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.11.0:
+ * Ignore parallel closing errors and new ipykernel
+ encryption warnings
+ * Drop leftover async_generator reference
+ * Raise minimum versions of jupyter-client, jupyter-core,
+ nbformat and traitlets
+
+-------------------------------------------------------------------
Old:
----
nbclient-0.10.4.tar.gz
New:
----
nbclient-0.11.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nbclient.spec ++++++
--- /var/tmp/diff_new_pack.ptkml2/_old 2026-10-18 19:25:51.294110660 +0200
+++ /var/tmp/diff_new_pack.ptkml2/_new 2026-10-18 19:25:51.295110702 +0200
@@ -19,8 +19,8 @@
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
-%bcond_without test
%define skip_python39 1
+%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
@@ -30,11 +30,9 @@
%else
%bcond_with libalternatives
%endif
-
%{?sle15_python_module_pythons}
-
Name: python-nbclient%{psuffix}
-Version: 0.10.4
+Version: 0.11.0
Release: 0
Summary: A client library for executing notebooks
License: BSD-3-Clause
@@ -45,10 +43,10 @@
BuildRequires: %{python_module pip}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-jupyter-client >= 6.1.12
-Requires: python-nbformat >= 5.1.3
-Requires: python-traitlets >= 5.4
-Requires: ((python-jupyter-core >= 4.12 with python-jupyter-core < 5) or
python-jupyter-core >= 5.1)
+Requires: python-jupyter-client >= 7.0.0
+Requires: python-jupyter-core >= 5.4.0
+Requires: python-nbformat >= 5.2.0
+Requires: python-traitlets >= 5.13
BuildArch: noarch
%if %{with libalternatives}
BuildRequires: alts
++++++ nbclient-0.10.4.tar.gz -> nbclient-0.11.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nbclient-0.10.4/PKG-INFO new/nbclient-0.11.0/PKG-INFO
--- old/nbclient-0.10.4/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/nbclient-0.11.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,9 +1,8 @@
Metadata-Version: 2.4
Name: nbclient
-Version: 0.10.4
+Version: 0.11.0
Summary: A client library for executing notebooks. Formerly nbconvert's
ExecutePreprocessor.
Project-URL: Documentation, https://nbclient.readthedocs.io
-Project-URL: Funding, https://numfocus.org/
Project-URL: Homepage, https://jupyter.org
Project-URL: Source, https://github.com/jupyter/nbclient
Project-URL: Tracker, https://github.com/jupyter/nbclient/issues
@@ -46,16 +45,11 @@
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Programming Language :: Python :: 3.13
-Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10.0
-Requires-Dist: jupyter-client>=6.1.12
-Requires-Dist: jupyter-core!=5.0.*,>=4.12
-Requires-Dist: nbformat>=5.1.3
-Requires-Dist: traitlets>=5.4
+Requires-Dist: jupyter-client>=7.0.0
+Requires-Dist: jupyter-core>=5.4.0
+Requires-Dist: nbformat>=5.2.0
+Requires-Dist: traitlets>=5.13
Provides-Extra: dev
Requires-Dist: pre-commit; extra == 'dev'
Provides-Extra: docs
@@ -92,12 +86,6 @@
[](https://mybinder.org/v2/gh/jupyter/nbclient/main?filepath=binder%2Frun_nbclient.ipynb)
[](https://github.com/jupyter/nbclient/actions)
[](https://nbclient.readthedocs.io/en/latest/?badge=latest)
-[](https://www.python.org/downloads/release/python-370/)
-[](https://www.python.org/downloads/release/python-380/)
-[](https://www.python.org/downloads/release/python-390/)
-[](https://www.python.org/downloads/release/python-3100/)
-[](https://www.python.org/downloads/release/python-3110/)
-[](https://github.com/ambv/black)
# nbclient
@@ -127,7 +115,7 @@
## Python Version Support
-This library currently supports Python 3.6+ versions. As minor Python
+This library currently supports Python 3.10+ versions. As minor Python
versions are officially sunset by the Python org, nbclient will similarly
drop support in the future.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nbclient-0.10.4/README.md
new/nbclient-0.11.0/README.md
--- old/nbclient-0.10.4/README.md 2020-02-02 01:00:00.000000000 +0100
+++ new/nbclient-0.11.0/README.md 2020-02-02 01:00:00.000000000 +0100
@@ -1,12 +1,6 @@
[](https://mybinder.org/v2/gh/jupyter/nbclient/main?filepath=binder%2Frun_nbclient.ipynb)
[](https://github.com/jupyter/nbclient/actions)
[](https://nbclient.readthedocs.io/en/latest/?badge=latest)
-[](https://www.python.org/downloads/release/python-370/)
-[](https://www.python.org/downloads/release/python-380/)
-[](https://www.python.org/downloads/release/python-390/)
-[](https://www.python.org/downloads/release/python-3100/)
-[](https://www.python.org/downloads/release/python-3110/)
-[](https://github.com/ambv/black)
# nbclient
@@ -36,7 +30,7 @@
## Python Version Support
-This library currently supports Python 3.6+ versions. As minor Python
+This library currently supports Python 3.10+ versions. As minor Python
versions are officially sunset by the Python org, nbclient will similarly
drop support in the future.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nbclient-0.10.4/nbclient/_version.py
new/nbclient-0.11.0/nbclient/_version.py
--- old/nbclient-0.10.4/nbclient/_version.py 2020-02-02 01:00:00.000000000
+0100
+++ new/nbclient-0.11.0/nbclient/_version.py 2020-02-02 01:00:00.000000000
+0100
@@ -3,7 +3,7 @@
import re
-__version__ = "0.10.4"
+__version__ = "0.11.0"
# Build up version_info tuple for backwards compatibility
pattern = r"(?P<major>\d+).(?P<minor>\d+).(?P<patch>\d+)(?P<rest>.*)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nbclient-0.10.4/pyproject.toml
new/nbclient-0.11.0/pyproject.toml
--- old/nbclient-0.10.4/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
+++ new/nbclient-0.11.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
@@ -29,17 +29,12 @@
"License :: OSI Approved :: BSD License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.10",
- "Programming Language :: Python :: 3.11",
- "Programming Language :: Python :: 3.12",
- "Programming Language :: Python :: 3.13",
- "Programming Language :: Python :: 3.14",
]
dependencies = [
- "jupyter_client>=6.1.12",
- "jupyter_core>=4.12,!=5.0.*",
- "nbformat>=5.1.3",
- "traitlets>=5.4",
+ "jupyter_client>=7.0.0",
+ "jupyter_core>=5.4.0",
+ "nbformat>=5.2.0",
+ "traitlets>=5.13",
]
[project.optional-dependencies]
@@ -74,7 +69,6 @@
[project.urls]
Documentation = "https://nbclient.readthedocs.io"
-Funding = "https://numfocus.org/"
Homepage = "https://jupyter.org"
Source = "https://github.com/jupyter/nbclient"
Tracker = "https://github.com/jupyter/nbclient/issues"
@@ -173,7 +167,6 @@
[[tool.mypy.overrides]]
module = [
- "async_generator.*",
"testpath",
"xmltodict",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nbclient-0.10.4/tests/test_client.py
new/nbclient-0.11.0/tests/test_client.py
--- old/nbclient-0.10.4/tests/test_client.py 2020-02-02 01:00:00.000000000
+0100
+++ new/nbclient-0.11.0/tests/test_client.py 2020-02-02 01:00:00.000000000
+0100
@@ -19,7 +19,6 @@
import nbformat
import pytest
import xmltodict
-from flaky import flaky # type:ignore[import-untyped]
from jupyter_client._version import version_info
from jupyter_client.client import KernelClient
from jupyter_client.kernelspec import KernelSpecManager
@@ -308,13 +307,31 @@
def filter_messages_on_error_output(err_output):
- allowed_lines = [
+ allowed_prefixes = [
# ipykernel might be installed without debugpy extension
- "[IPKernelApp] WARNING | debugpy_stream undefined, debugging will not
be enabled",
+ "[IPKernelApp] WARNING | debugpy_stream undefined",
+ # ipykernel warns when kernel runs over TCP without CurveZMQ encryption
+ "[IPKernelApp] WARNING | Kernel is running over TCP without
encryption.",
]
- filtered_result = [line for line in err_output.splitlines() if line not in
allowed_lines]
+ filtered_result = [
+ line
+ for line in err_output.splitlines()
+ if not any(line.startswith(prefix) for prefix in allowed_prefixes)
+ ]
+ # Known benign race condition: kernel sends a status message on a socket
already
+ # closed during parallel shutdown. Filter the entire traceback block.
+ in_zmq_traceback = False
+ final_filtered_result = []
+ for line in filtered_result:
+ if "ERROR:tornado.general:Uncaught exception in ZMQStream callback" in
line:
+ in_zmq_traceback = True
+ if in_zmq_traceback:
+ if "zmq.error.ZMQError: Socket operation on non-socket" in line:
+ in_zmq_traceback = False
+ continue
+ final_filtered_result.append(line)
- return os.linesep.join(filtered_result)
+ return os.linesep.join(final_filtered_result)
@pytest.mark.parametrize(
@@ -354,7 +371,7 @@
assert_notebooks_equal(input_nb, output_nb)
-@flaky
[email protected]
def test_parallel_notebooks(capfd, tmpdir):
"""Two notebooks should be able to be run simultaneously without problems.
@@ -380,7 +397,7 @@
assert filter_messages_on_error_output(captured.err) == ""
-@flaky
[email protected]
@pytest.mark.skipif(os.name == "nt", reason="warns about event loop on
Windows")
def test_many_parallel_notebooks(capfd):
"""Ensure that when many IPython kernels are run in parallel, nothing
awful happens.
@@ -408,7 +425,7 @@
assert filter_messages_on_error_output(captured.err) == ""
-@flaky
[email protected]
def test_async_parallel_notebooks(capfd, tmpdir):
"""Two notebooks should be able to be run simultaneously without problems.
@@ -435,7 +452,7 @@
assert filter_messages_on_error_output(captured.err) == ""
-@flaky
[email protected]
def test_many_async_parallel_notebooks(capfd):
"""Ensure that when many IPython kernels are run in parallel, nothing
awful happens.
@@ -673,7 +690,7 @@
assert info_msg is not None
assert "name" in info_msg["content"]["language_info"]
- @flaky
+ @pytest.mark.flaky
def test_kernel_death_after_timeout(self):
"""Check that an error is raised when the kernel is_alive is false
after a cell timed out"""
filename = os.path.join(current_dir, "files", "Interrupt.ipynb")