diff --git a/requirements_dev_optional.txt b/requirements_dev_optional.txt index eb6790cd52..58c088c2a1 100644 --- a/requirements_dev_optional.txt +++ b/requirements_dev_optional.txt @@ -2,7 +2,8 @@ # bsddb3==6.2.6; sys_platform != 'win32' lmdb==1.3.0; sys_platform != 'win32' # optional library requirements for Jupyter -ipytree==0.2.1 +ipytree==0.2.2 +ipywidgets==8.0.2 # optional library requirements for services # don't let pyup change pinning for azure-storage-blob, need to pin to older # version to get compatibility with azure storage emulator on appveyor (FIXME) diff --git a/setup.py b/setup.py index 79ff649dac..9f005ecd39 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,8 @@ extras_require={ 'jupyter': [ 'notebook', - 'ipytree', + 'ipytree>=0.2.2', + 'ipywidgets>=8.0.0', ], }, python_requires='>=3.8, <4', diff --git a/zarr/tests/test_hierarchy.py b/zarr/tests/test_hierarchy.py index a2917acb44..8d1fabbed3 100644 --- a/zarr/tests/test_hierarchy.py +++ b/zarr/tests/test_hierarchy.py @@ -1760,7 +1760,7 @@ def _check_tree(g, expect_bytes, expect_text): assert expect_repr == repr(g.tree()) if ipytree: # noinspection PyProtectedMember - widget = g.tree()._ipython_display_() + widget = g.tree()._repr_mimebundle_() isinstance(widget, ipytree.Tree) diff --git a/zarr/util.py b/zarr/util.py index c9136a63eb..9fcdac9df7 100644 --- a/zarr/util.py +++ b/zarr/util.py @@ -533,10 +533,9 @@ def __unicode__(self): def __repr__(self): return self.__unicode__() - def _ipython_display_(self): + def _repr_mimebundle_(self, **kwargs): tree = tree_widget(self.group, expand=self.expand, level=self.level) - tree._ipython_display_() - return tree + return tree._repr_mimebundle_(**kwargs) def check_array_shape(param, array, shape):