cutter/src/python/cutter_ipykernel.py

40 lines
843 B
Python
Raw Normal View History

import logging
import threading
from ipykernel.kernelapp import IPKernelApp
from ipykernel.ipkernel import IPythonKernel
# TODO: Make this behave like a Popen instance and pipe it to IPyKernelInterfaceJupyter!
class IPyKernelInterfaceKernel:
def poll(self):
return None
class CutterIPythonKernel(IPythonKernel):
def pre_handler_hook(self):
pass
def post_handler_hook(self):
pass
class CutterIPKernelApp(IPKernelApp):
def init_signal(self):
pass
def launch_ipykernel(argv):
def run_kernel():
app = CutterIPKernelApp.instance()
app.kernel_class = CutterIPythonKernel
app.log_level = logging.DEBUG
app.initialize(argv[3:])
app.start()
thread = threading.Thread(target=run_kernel)
thread.start()
return IPyKernelInterfaceKernel()