Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions spyder_notebook/server/kernelspec.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright © Spyder Project Contributors
# Licensed under the terms of the MIT License
# (see spyder_notebook/__init__.py for details)

"""Variant of Spyder's kernel spec for the use in the notebook server."""

# Third-party import
from spyder.plugins.ipythonconsole.utils.kernelspec import SpyderKernelSpec


class SpyderNotebookKernelSpec(SpyderKernelSpec):
"""Variant of SpyderKernelSpec which specifies our provisioner"""

metadata = {
'kernel_provisioner': {'provisioner_name': 'spyder-local-provisioner'}
}
17 changes: 6 additions & 11 deletions spyder_notebook/server/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@
from notebook.app import (
aliases, flags, JupyterNotebookApp, NotebookBaseHandler)
import psutil
from spyder.plugins.ipythonconsole.utils.kernelspec import SpyderKernelSpec
from tornado import web
from traitlets import default, Bool, Unicode
from traitlets import default, Bool, Type, Unicode


HERE = os.path.dirname(__file__)
Expand Down Expand Up @@ -94,20 +93,16 @@ async def send_signal(self, signum):
await super().send_signal(signum)


class SpyderNotebookKernelSpec(SpyderKernelSpec):
"""Variant of SpyderKernelSpec which specifies our provisioner"""
metadata = {
'kernel_provisioner': {'provisioner_name': 'spyder-local-provisioner'}
}


class SpyderKernelSpecManager(KernelSpecManager):
"""Variant of Jupyter's KernelSpecManager"""
# Ensure that there is only one kernel spec, the default one
allowed_kernelspecs = 'python3'

# Ensure that default kernel spec is our own kernel spec
kernel_spec_class = SpyderNotebookKernelSpec
# Ensure that default kernel spec is our own kernel spec.
# This is given as a string to defer the import.
kernel_spec_class = Type(
'spyder_notebook.server.kernelspec.SpyderNotebookKernelSpec'
)


class SpyderServerApp(ServerApp):
Expand Down
Loading