From b149bbea13fe714583b21aa0743ed9f38f84e920 Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Thu, 7 Aug 2025 11:30:37 +0100 Subject: [PATCH 1/5] ipykernel 7 support - take 2 --- docs/source/tutorial/intro.md | 1 - ipyparallel/engine/app.py | 23 ++++++------------- ipyparallel/nbextension/static/clusterlist.js | 4 ++-- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/docs/source/tutorial/intro.md b/docs/source/tutorial/intro.md index 6d3a71a98..0cecbb946 100644 --- a/docs/source/tutorial/intro.md +++ b/docs/source/tutorial/intro.md @@ -228,7 +228,6 @@ The {class}`~.ipyparallel.Cluster` and {class}`~.ipyparallel.Client` classes can for easier cleanup of resources. - Entering a `Cluster` context - 1. starts the cluster 2. waits for engines to be ready 3. connects a client diff --git a/ipyparallel/engine/app.py b/ipyparallel/engine/app.py index 9028f400e..6626fc614 100755 --- a/ipyparallel/engine/app.py +++ b/ipyparallel/engine/app.py @@ -720,17 +720,13 @@ def send_with_metadata( kernel_kwargs["control_thread"] = control_thread = ControlThread( daemon=True ) - if ipykernel.version_info >= (7,): - kernel_kwargs["shell_socket"] = zmq.asyncio.Socket(shell_socket) - kernel_kwargs["control_socket"] = zmq.asyncio.Socket(control_socket) - else: - # Kernel.start starts control thread in kernel 7 - control_thread.start() - kernel_kwargs["control_stream"] = zmqstream.ZMQStream( - control_socket, control_thread.io_loop - ) - kernel_kwargs["shell_streams"] = [zmqstream.ZMQStream(shell_socket)] + control_thread.start() + kernel_kwargs["control_stream"] = zmqstream.ZMQStream( + control_socket, control_thread.io_loop + ) + + kernel_kwargs["shell_streams"] = [zmqstream.ZMQStream(shell_socket)] self.kernel = Kernel.instance( parent=self, @@ -954,12 +950,7 @@ def initialize(self, argv=None): self.forward_logging() def init_signal(self): - if ipykernel.version_info >= (7,): - # ipykernel 7 changes SIGINT handling - # to the app instead of the kernel - self.kernel_app.init_signal() - else: - signal.signal(signal.SIGINT, self._signal_sigint) + signal.signal(signal.SIGINT, self._signal_sigint) signal.signal(signal.SIGTERM, self._signal_stop) def _signal_sigint(self, sig, frame): diff --git a/ipyparallel/nbextension/static/clusterlist.js b/ipyparallel/nbextension/static/clusterlist.js index b7e1cc240..07d0e6205 100644 --- a/ipyparallel/nbextension/static/clusterlist.js +++ b/ipyparallel/nbextension/static/clusterlist.js @@ -199,8 +199,8 @@ define(["base/js/namespace", "jquery", "base/js/utils"], function ( that.cluster_list.load_list(); }, error: function (xhr, status, error) { - utils.log_ajax_error(xhr, status, error), - status_col.text("error stopping cluster"); + (utils.log_ajax_error(xhr, status, error), + status_col.text("error stopping cluster")); }, }; status_col.text("stopping"); From bfbd21a437b9cc900dfaac7042c6f7a9b755d04d Mon Sep 17 00:00:00 2001 From: Min RK Date: Thu, 9 Oct 2025 13:31:27 -0700 Subject: [PATCH 2/5] remove unsupported 3.8 on windows-2019 test --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9be2f1cb2..3a069ae38 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,8 +42,8 @@ jobs: - python: "3.9" env: IPP_ENABLE_CURVE: "1" - - python: "3.8" - runs_on: windows-2019 + - python: "3.9" + runs_on: windows-2022 - python: "3.9" runs_on: macos-14 - python: "3.11" From 0218eece7064898741f997314bc1d097da9e922d Mon Sep 17 00:00:00 2001 From: Min RK Date: Thu, 9 Oct 2025 13:32:47 -0700 Subject: [PATCH 3/5] bump ubuntu to 22.04 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3a069ae38..6445cac1d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ env: jobs: test: - runs-on: ${{ matrix.runs_on || 'ubuntu-20.04' }} + runs-on: ${{ matrix.runs_on || 'ubuntu-22.04' }} timeout-minutes: 20 strategy: From 57bfa0945034318c6d73a06ee75b6dc29cf47506 Mon Sep 17 00:00:00 2001 From: Min RK Date: Tue, 7 Oct 2025 09:44:16 -0700 Subject: [PATCH 4/5] ignore some links that don't let us check them --- docs/source/conf.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/source/conf.py b/docs/source/conf.py index 87293bae0..36c08f7dd 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -384,6 +384,10 @@ "https://github.com/search", # github search links "https://github.com/ipython/ipyparallel/compare/", # too many comparisons in changelog r"https?://(localhost|127.0.0.1).*", # ignore localhost references in auto-links + # requests from CI blocked + r"https://www.mcs.anl.gov/.*", + r"https://www.mcs.anl.gov/.*", + r"https://urn.nb.no/.*", ] # myst_nb execution From 8be345c283258ecbe9c8869ded7b50438aea608f Mon Sep 17 00:00:00 2001 From: Min RK Date: Thu, 9 Oct 2025 13:41:56 -0700 Subject: [PATCH 5/5] changelog for 9.0.2 --- docs/source/changelog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/source/changelog.md b/docs/source/changelog.md index a92264358..77f782b33 100644 --- a/docs/source/changelog.md +++ b/docs/source/changelog.md @@ -6,6 +6,12 @@ Changes in IPython Parallel ## 9.0 +### 9.0.2 - 2025-10 + +([full changelog](https://github.com/ipython/ipyparallel/compare/9.0.1...9.0.2)) + +9.0.2 fixes compatibility with upcoming ipykernel 7 (as of alpha 3). + ### 9.0.1 - 2025-03 ([full changelog](https://github.com/ipython/ipyparallel/compare/9.0.0...9.0.1))