diff --git a/jupyter_client/blocking/client.py b/jupyter_client/blocking/client.py index 5c815eb8..6ddaab5f 100644 --- a/jupyter_client/blocking/client.py +++ b/jupyter_client/blocking/client.py @@ -57,6 +57,7 @@ class BlockingKernelClient(KernelClient): _recv_reply = run_sync(KernelClient._async_recv_reply) # replies come on the shell channel + fork = reqrep(wrapped, KernelClient.fork) execute = reqrep(wrapped, KernelClient.execute) history = reqrep(wrapped, KernelClient.history) complete = reqrep(wrapped, KernelClient.complete) diff --git a/jupyter_client/client.py b/jupyter_client/client.py index 851a2345..6f6c8951 100644 --- a/jupyter_client/client.py +++ b/jupyter_client/client.py @@ -644,6 +644,12 @@ def execute( self.shell_channel.send(msg) return msg["header"]["msg_id"] + def fork(self): + content = {} + msg = self.session.msg("fork", content) + self.shell_channel.send(msg) + return msg["header"]["msg_id"] + def complete(self, code: str, cursor_pos: t.Optional[int] = None) -> str: """Tab complete text in the kernel's namespace.