Skip to content

Commit c4c91dd

Browse files
committed
Additional run-time configurations for Kernel Gateway
1 parent d1b7d9a commit c4c91dd

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

kernel_gateway/gatewayapp.py

+29-2
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@
1010
import importlib
1111
import signal
1212

13+
from notebook.services.kernels.kernelmanager import MappingKernelManager
14+
1315
try:
1416
from urlparse import urlparse
1517
except ImportError:
1618
from urllib.parse import urlparse
1719

18-
from traitlets import Unicode, Integer, default, observe
20+
from traitlets import Unicode, Integer, default, observe, Type, Instance
1921

2022
from jupyter_core.application import JupyterApp, base_aliases
2123
from jupyter_client.kernelspec import KernelSpecManager
@@ -277,6 +279,27 @@ def keyfile_default(self):
277279
def client_ca_default(self):
278280
return os.getenv(self.client_ca_env)
279281

282+
kernel_spec_manager = Instance(KernelSpecManager, allow_none=True)
283+
284+
kernel_spec_manager_class = Type(
285+
default_value=KernelSpecManager,
286+
config=True,
287+
help="""
288+
The kernel spec manager class to use. Should be a subclass
289+
of `jupyter_client.kernelspec.KernelSpecManager`.
290+
291+
The Api of KernelSpecManager is provisional and might change
292+
without warning between this version of Jupyter and the next stable one.
293+
"""
294+
)
295+
296+
kernel_manager_class = Type(
297+
klass=MappingKernelManager,
298+
default_value=SeedingMappingKernelManager,
299+
config=True,
300+
help="""The kernel manager class to use."""
301+
)
302+
280303
def _load_api_module(self, module_name):
281304
"""Tries to import the given module name.
282305
@@ -366,7 +389,11 @@ def init_configurables(self):
366389
kwargs = {}
367390
if self.default_kernel_name:
368391
kwargs['default_kernel_name'] = self.default_kernel_name
369-
self.kernel_manager = SeedingMappingKernelManager(
392+
393+
self.kernel_spec_manager = self.kernel_spec_manager_class(
394+
parent=self,
395+
)
396+
self.kernel_manager = self.kernel_manager_class(
370397
parent=self,
371398
log=self.log,
372399
connection_dir=self.runtime_dir,

0 commit comments

Comments
 (0)