Skip to content

Commit aa0d516

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

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

kernel_gateway/gatewayapp.py

Lines changed: 27 additions & 3 deletions
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,24 @@ 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+
)
292+
293+
kernel_manager_class = Type(
294+
klass=MappingKernelManager,
295+
default_value=SeedingMappingKernelManager,
296+
config=True,
297+
help="""The kernel manager class to use."""
298+
)
299+
280300
def _load_api_module(self, module_name):
281301
"""Tries to import the given module name.
282302
@@ -366,7 +386,11 @@ def init_configurables(self):
366386
kwargs = {}
367387
if self.default_kernel_name:
368388
kwargs['default_kernel_name'] = self.default_kernel_name
369-
self.kernel_manager = SeedingMappingKernelManager(
389+
390+
self.kernel_spec_manager = self.kernel_spec_manager_class(
391+
parent=self,
392+
)
393+
self.kernel_manager = self.kernel_manager_class(
370394
parent=self,
371395
log=self.log,
372396
connection_dir=self.runtime_dir,
@@ -411,7 +435,7 @@ def init_webapp(self):
411435
kernel_manager=self.kernel_manager,
412436
session_manager=self.session_manager,
413437
contents_manager=self.contents_manager,
414-
kernel_spec_manager=self.kernel_manager.kernel_spec_manager,
438+
kernel_spec_manager=self.kernel_spec_manager,
415439
kg_auth_token=self.auth_token,
416440
kg_allow_credentials=self.allow_credentials,
417441
kg_allow_headers=self.allow_headers,

0 commit comments

Comments
 (0)