File tree Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -388,6 +388,9 @@ async def async_start_new_kernel_client(self, **kwargs):
388
388
except AttributeError :
389
389
raise AttributeError ('self.km={} has no client() or get_kernel() method, '
390
390
'what is this?' .format (self .km ))
391
+ # since self.km is a MultiKernelManager, it might not be async
392
+ # so let's ensure the client is async
393
+ km .client_class = 'jupyter_client.asynchronous.AsyncKernelClient'
391
394
392
395
self .kc = km .client ()
393
396
await ensure_async (self .kc .start_channels ())
Original file line number Diff line number Diff line change 20
20
import IPython
21
21
from traitlets import TraitError
22
22
from nbformat import NotebookNode
23
+ from jupyter_client .asynchronous import AsyncKernelClient
23
24
from jupyter_client import KernelManager , MultiKernelManager
24
25
from jupyter_client .kernelspec import KernelSpecManager
25
26
from nbconvert .filters import strip_ansi
@@ -424,8 +425,8 @@ def test_startnewkernel_with_multikernelmanager():
424
425
kc , kernel_id = executor .start_new_kernel_client ()
425
426
# a multi kernel manager always gives back an id to the started kernel
426
427
assert kernel_id is not None
427
- # prove it initalized client
428
- assert kc is not None
428
+ # prove it initalized an async client
429
+ assert isinstance ( kc , AsyncKernelClient )
429
430
# since we are not using the setup_kernel context manager,
430
431
# cleanup has to be done manually
431
432
kc .shutdown ()
You can’t perform that action at this time.
0 commit comments