11from ipywidgets import Widget , widget_serialization
22from traitlets import Unicode
33
4- try :
5- from importlib .metadata import version
6- from packaging .version import parse , Version
7- def version_gte_than (pkg , minimum_supported ):
8- return parse (version (pkg )) >= Version (minimum_supported )
9- except ImportError :
10- def version_gte_than (pkg , minimum_supported ):
11- import pkg_resources
12- return pkg_resources .get_distribution (pkg ).parsed_version >= pkg_resources .parse_version (minimum_supported )
13-
144from .._package import npm_pkg_name
155from .._version import EXTENSION_SPEC_VERSION
166
@@ -49,7 +39,15 @@ def _on_ret_val(self, method_name, ret_val):
4939 """Message callback used internally for logging exec returns"""
5040 self .log .info ('%s() -> %s' % (method_name , ret_val ))
5141
52- if version_gte_than ("ipywidgets" , "8.0.0" ):
42+ if hasattr (Widget , "_ipython_display_" ): # ipywidgets < 8.0.0
43+ def _ipython_display_ (self , ** kwargs ):
44+ if self ._previewable :
45+ from IPython .display import display
46+ from .renderable import Preview
47+ return display (Preview (self ), ** kwargs )
48+ else :
49+ return super (ThreeWidget , self )._ipython_display_ (** kwargs )
50+ else :
5351 def _repr_mimebundle_ (self , ** kwargs ):
5452 if self ._previewable :
5553 from .renderable import Preview
@@ -66,12 +64,4 @@ def _repr_mimebundle_(self, **kwargs):
6664 }
6765 }
6866 else :
69- return super (ThreeWidget , self )._repr_mimebundle_ (** kwargs )
70- else :
71- def _ipython_display_ (self , ** kwargs ):
72- if self ._previewable :
73- from IPython .display import display
74- from .renderable import Preview
75- return display (Preview (self ), ** kwargs )
76- else :
77- return super (ThreeWidget , self )._ipython_display_ (** kwargs )
67+ return super (ThreeWidget , self )._repr_mimebundle_ (** kwargs )
0 commit comments