88 lines
2.1 KiB
Python
88 lines
2.1 KiB
Python
|
"""Abstract base class for kernel clients"""
|
||
|
|
||
|
#-----------------------------------------------------------------------------
|
||
|
# Copyright (c) The Jupyter Development Team
|
||
|
#
|
||
|
# Distributed under the terms of the BSD License. The full license is in
|
||
|
# the file COPYING, distributed as part of this software.
|
||
|
#-----------------------------------------------------------------------------
|
||
|
|
||
|
#-----------------------------------------------------------------------------
|
||
|
# Imports
|
||
|
#-----------------------------------------------------------------------------
|
||
|
|
||
|
import abc
|
||
|
|
||
|
|
||
|
#-----------------------------------------------------------------------------
|
||
|
# Main kernel client class
|
||
|
#-----------------------------------------------------------------------------
|
||
|
|
||
|
class KernelClientABC(object, metaclass=abc.ABCMeta):
|
||
|
"""KernelManager ABC.
|
||
|
|
||
|
The docstrings for this class can be found in the base implementation:
|
||
|
|
||
|
`jupyter_client.client.KernelClient`
|
||
|
"""
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def kernel(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def shell_channel_class(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def iopub_channel_class(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def hb_channel_class(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def stdin_channel_class(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def control_channel_class(self):
|
||
|
pass
|
||
|
|
||
|
#--------------------------------------------------------------------------
|
||
|
# Channel management methods
|
||
|
#--------------------------------------------------------------------------
|
||
|
|
||
|
@abc.abstractmethod
|
||
|
def start_channels(self, shell=True, iopub=True, stdin=True, hb=True, control=True):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractmethod
|
||
|
def stop_channels(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def channels_running(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def shell_channel(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def iopub_channel(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def stdin_channel(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def hb_channel(self):
|
||
|
pass
|
||
|
|
||
|
@abc.abstractproperty
|
||
|
def control_channel(self):
|
||
|
pass
|