Skip to content

Commit ed4e994

Browse files
committed
Use hasattr instead of version check
1 parent 18da0b2 commit ed4e994

File tree

3 files changed

+10
-22
lines changed

3 files changed

+10
-22
lines changed

docs/environment.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,3 @@ dependencies:
1212
- scikit-image
1313
- sphinx
1414
- nbsphinx
15-
- packaging

pythreejs/_base/Three.py

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
from ipywidgets import Widget, widget_serialization
22
from 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-
144
from .._package import npm_pkg_name
155
from .._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)

setup.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
'ipywidgets>=7.2.1',
6868
'ipydatawidgets>=1.1.1',
6969
'numpy',
70-
'packaging',
7170
'traitlets',
7271
],
7372
'extras_require': {

0 commit comments

Comments
 (0)