Skip to content

Commit 8ed7305

Browse files
committed
Merge pull request #35 from minrk/ipywidgets-hardcode-extension
use ipywidgets as an extension
2 parents 575e1bb + 0a2ba57 commit 8ed7305

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

ipykernel/ipkernel.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,6 @@ def __init__(self, **kwargs):
6060
self.comm_manager = CommManager(shell=self.shell, parent=self,
6161
kernel=self)
6262

63-
# BEGIN HARDCODED WIDGETS HACK
64-
try:
65-
from ipywidgets import handle_kernel
66-
handle_kernel(self)
67-
except ImportError:
68-
self.log.debug('ipywidgets package not installed. Widgets will not be available.')
69-
# END HARDCODED WIDGETS HACK
70-
7163
self.shell.configurables.append(self.comm_manager)
7264
comm_msg_types = [ 'comm_open', 'comm_msg', 'comm_close' ]
7365
for msg_type in comm_msg_types:

ipykernel/kernelapp.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,18 @@ def init_shell(self):
342342
self.shell = getattr(self.kernel, 'shell', None)
343343
if self.shell:
344344
self.shell.configurables.append(self)
345+
346+
def init_extensions(self):
347+
super(IPKernelApp, self).init_extensions()
348+
# BEGIN HARDCODED WIDGETS HACK
349+
# Ensure ipywidgets extension is loaded if available
350+
extension_man = self.shell.extension_manager
351+
if 'ipywidgets' not in extension_man.loaded:
352+
try:
353+
extension_man.load_extension('ipywidgets')
354+
except ImportError as e:
355+
self.log.debug('ipywidgets package not installed. Widgets will not be available.')
356+
# END HARDCODED WIDGETS HACK
345357

346358
@catch_config_error
347359
def initialize(self, argv=None):

0 commit comments

Comments
 (0)