managerabc.py
105 lines
| 2.4 KiB
| text/x-python
|
PythonLexer
Thomas Kluyver
|
r15106 | """Abstract base class for kernel managers.""" | ||
Brian Granger
|
r9121 | |||
#----------------------------------------------------------------------------- | ||||
# 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. | ||||
#----------------------------------------------------------------------------- | ||||
import abc | ||||
Thomas Kluyver
|
r13359 | from IPython.utils.py3compat import with_metaclass | ||
Brian Granger
|
r9121 | |||
Thomas Kluyver
|
r13359 | class KernelManagerABC(with_metaclass(abc.ABCMeta, object)): | ||
Brian Granger
|
r9128 | """KernelManager ABC. | ||
The docstrings for this class can be found in the base implementation: | ||||
MinRK
|
r9370 | `IPython.kernel.kernelmanager.KernelManager` | ||
Brian Granger
|
r9128 | """ | ||
Brian Granger
|
r9121 | |||
@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 | ||||
#-------------------------------------------------------------------------- | ||||
Brian E. Granger
|
r9151 | # Channel management methods | ||
Brian Granger
|
r9121 | #-------------------------------------------------------------------------- | ||
@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 | ||||
#-------------------------------------------------------------------------- | ||||
Brian E. Granger
|
r9151 | # Kernel management | ||
Brian Granger
|
r9121 | #-------------------------------------------------------------------------- | ||
@abc.abstractmethod | ||||
def start_kernel(self, **kw): | ||||
pass | ||||
@abc.abstractmethod | ||||
def shutdown_kernel(self, now=False, restart=False): | ||||
pass | ||||
@abc.abstractmethod | ||||
def restart_kernel(self, now=False, **kw): | ||||
pass | ||||
@abc.abstractproperty | ||||
def has_kernel(self): | ||||
pass | ||||
@abc.abstractmethod | ||||
def interrupt_kernel(self): | ||||
pass | ||||
@abc.abstractmethod | ||||
def signal_kernel(self, signum): | ||||
pass | ||||
Brian E. Granger
|
r10275 | @abc.abstractmethod | ||
Brian Granger
|
r9121 | def is_alive(self): | ||
pass | ||||