client.py
33 lines
| 1.3 KiB
| text/x-python
|
PythonLexer
MinRK
|
r10285 | """Implements a fully blocking kernel client. | ||
Useful for test suites and blocking terminal interfaces. | ||||
""" | ||||
#----------------------------------------------------------------------------- | ||||
# Copyright (C) 2013 The IPython Development Team | ||||
# | ||||
# Distributed under the terms of the BSD License. The full license is in | ||||
# the file COPYING.txt, distributed as part of this software. | ||||
#----------------------------------------------------------------------------- | ||||
#----------------------------------------------------------------------------- | ||||
# Imports | ||||
#----------------------------------------------------------------------------- | ||||
from IPython.utils.traitlets import Type | ||||
from IPython.kernel.client import KernelClient | ||||
from .channels import ( | ||||
BlockingIOPubChannel, BlockingHBChannel, | ||||
BlockingShellChannel, BlockingStdInChannel | ||||
) | ||||
#----------------------------------------------------------------------------- | ||||
# Blocking kernel manager | ||||
#----------------------------------------------------------------------------- | ||||
class BlockingKernelClient(KernelClient): | ||||
# The classes to use for the various channels | ||||
shell_channel_class = Type(BlockingShellChannel) | ||||
iopub_channel_class = Type(BlockingIOPubChannel) | ||||
stdin_channel_class = Type(BlockingStdInChannel) | ||||
hb_channel_class = Type(BlockingHBChannel) | ||||