##// END OF EJS Templates
remove special handling of ipython_kernel in launcher...
remove special handling of ipython_kernel in launcher - set JPY_PARENT_PID and JPY_INTERRUPT_EVENT env variables for all kernels - no custom kernel args other that console passthrough - use devnull instead of `--no-stdout` (comments claim it shouldn't work, but tests suggest it does - let's keep an eye on this)

File last commit:

r10285:5e1e98c2
r19188:a31d8820
Show More
client.py
33 lines | 1.3 KiB | text/x-python | PythonLexer
"""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)