clientabc.py
80 lines
| 2.1 KiB
| text/x-python
|
PythonLexer
MinRK
|
r10323 | """Abstract base class for kernel clients""" | ||
MinRK
|
r10285 | |||
#----------------------------------------------------------------------------- | ||||
# Copyright (C) 2013 The IPython 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 | ||||
Thomas Kluyver
|
r13359 | from IPython.utils.py3compat import with_metaclass | ||
MinRK
|
r10285 | #----------------------------------------------------------------------------- | ||
MinRK
|
r10323 | # Main kernel client class | ||
MinRK
|
r10285 | #----------------------------------------------------------------------------- | ||
Thomas Kluyver
|
r13359 | class KernelClientABC(with_metaclass(abc.ABCMeta, object)): | ||
MinRK
|
r10285 | """KernelManager ABC. | ||
The docstrings for this class can be found in the base implementation: | ||||
MinRK
|
r10323 | `IPython.kernel.client.KernelClient` | ||
MinRK
|
r10285 | """ | ||
@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 | ||||
#-------------------------------------------------------------------------- | ||||
# Channel management methods | ||||
#-------------------------------------------------------------------------- | ||||
@abc.abstractmethod | ||||
def start_channels(self, shell=True, iopub=True, stdin=True, hb=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 | ||||