diff --git a/docs/release.rst b/docs/release.rst
index 116393d4..fd48a53b 100644
--- a/docs/release.rst
+++ b/docs/release.rst
@@ -18,6 +18,12 @@ Release notes
 Unreleased
 ----------
 
+Enhancements
+~~~~~~~~~~~~
+
+* Override IPython ``_repr_*_`` methods to avoid expensive lookups against object stores.
+  By :user:`Deepak Cherian <dcherian>` :issue:`1716`.
+
 Maintenance
 ~~~~~~~~~~~
 
diff --git a/zarr/hierarchy.py b/zarr/hierarchy.py
index 44af1d63..c88892c9 100644
--- a/zarr/hierarchy.py
+++ b/zarr/hierarchy.py
@@ -515,6 +515,13 @@ class Group(MutableMapping):
             raise KeyError(item)
 
     def __getattr__(self, item):
+        # https://github.com/jupyter/notebook/issues/2014
+        # Save a possibly expensive lookup (for e.g. against cloud stores)
+        # Note: The _ipython_display_ method is required to display the right info as a side-effect.
+        # It is simpler to pretend it doesn't exist.
+        if item in ["_ipython_canary_method_should_not_exist_", "_ipython_display_"]:
+            raise AttributeError
+
         # allow access to group members via dot notation
         try:
             return self.__getitem__(item)
@@ -1331,6 +1338,40 @@ class Group(MutableMapping):
 
         self._write_op(self._move_nosync, source, dest)
 
+    # Override ipython repr methods, GH1716
+    # https://ipython.readthedocs.io/en/stable/config/integrating.html#custom-methods
+    #     " If the methods don’t exist, the standard repr() is used. If a method exists and
+    #       returns None, it is treated the same as if it does not exist."
+    def _repr_html_(self):
+        return None
+
+    def _repr_latex_(self):
+        return None
+
+    def _repr_mimebundle_(self, **kwargs):
+        return None
+
+    def _repr_svg_(self):
+        return None
+
+    def _repr_png_(self):
+        return None
+
+    def _repr_jpeg_(self):
+        return None
+
+    def _repr_markdown_(self):
+        return None
+
+    def _repr_javascript_(self):
+        return None
+
+    def _repr_pdf_(self):
+        return None
+
+    def _repr_json_(self):
+        return None
+
 
 def _normalize_store_arg(store, *, storage_options=None, mode="r", zarr_version=None):
     if zarr_version is None:

diff --git a/zarr/tests/test_hierarchy.py b/zarr/tests/test_hierarchy.py
index 6c08d7b8..161e1eb8 100644
--- a/zarr/tests/test_hierarchy.py
+++ b/zarr/tests/test_hierarchy.py
@@ -1,4 +1,5 @@
 import atexit
+import operator
 import os
 import sys
 import pickle
@@ -87,6 +88,26 @@ class TestGroup(unittest.TestCase):
         )
         return g
 
+    def test_ipython_repr_methods(self):
+        g = self.create_group()
+        for method in [
+            "html",
+            "json",
+            "javascript",
+            "markdown",
+            "svg",
+            "png",
+            "jpeg",
+            "latex",
+            "pdf",
+            "mimebundle",
+        ]:
+            assert operator.methodcaller(f"_repr_{method}_")(g) is None
+        with pytest.raises(AttributeError):
+            g._ipython_display_()
+        with pytest.raises(AttributeError):
+            g._ipython_canary_method_should_not_exist_()
+
     def test_group_init_1(self):
         store, chunk_store = self.create_store()
         g = self.create_group(store, chunk_store=chunk_store)

Implement ipython repr methods on Group to prevent expensive lookups
### Zarr version

2.16.1

### Numcodecs version

...

### Python Version

...

### Operating System

...

### Installation

conda

### Description

`ipython` will look for 11 custom repr methods (https://ipython.readthedocs.io/en/stable/config/integrating.html#custom-methods) in a zarr group.

Zarr chooses to map any `hasattr` query to a `__getitem__` call so sach of these queries becomes a `__getitem__` call for (e.g.) `_repr_mimebundle_.array.json` and `_repr_mimebundle_.array.json` and is interleaved with a request for `_ipython_canary_method_should_not_exist_.[array|group].json`.

I count **44** useless requests for a simple `zarr.open_group`.

I think a good solution would be to implement `_ipython_display_` or `_repr_mimebundle_`.

It would also be nice to raise `AttributeError` for `_ipython_canary_method_should_not_exist_`.

xref https://github.com/jupyter/notebook/issues/2014

### Steps to reproduce

1. Create a zarr group
2. Open it with some way of recording __getitem__ requests.

### Additional output

_No response_
zarr/tests/test_hierarchy.py::TestGroup::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_ipython_repr_methods
zarr/tests/test_hierarchy.py::TestGroup::test_array_creation zarr/tests/test_hierarchy.py::TestGroup::test_context_manager zarr/tests/test_hierarchy.py::TestGroup::test_create_dataset zarr/tests/test_hierarchy.py::TestGroup::test_create_errors zarr/tests/test_hierarchy.py::TestGroup::test_create_group zarr/tests/test_hierarchy.py::TestGroup::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroup::test_delitem zarr/tests/test_hierarchy.py::TestGroup::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroup::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroup::test_getattr zarr/tests/test_hierarchy.py::TestGroup::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroup::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroup::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroup::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroup::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroup::test_group_repr zarr/tests/test_hierarchy.py::TestGroup::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroup::test_move zarr/tests/test_hierarchy.py::TestGroup::test_paths zarr/tests/test_hierarchy.py::TestGroup::test_pickle zarr/tests/test_hierarchy.py::TestGroup::test_require_dataset zarr/tests/test_hierarchy.py::TestGroup::test_require_group zarr/tests/test_hierarchy.py::TestGroup::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroup::test_setitem zarr/tests/test_hierarchy.py::test_group_init_from_dict[False] zarr/tests/test_hierarchy.py::test_group_init_from_dict[True] zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_array_creation zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_context_manager zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_create_errors zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_create_group zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_delitem zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_getattr zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_group_repr zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_move zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_paths zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_pickle zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_require_group zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupWithMemoryStore::test_setitem zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_array_creation zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_context_manager zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_create_errors zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_create_group zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_delitem zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_getattr zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_group_repr zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_move zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_paths zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_pickle zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_require_group zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupWithDirectoryStore::test_setitem zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_array_creation zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_context_manager zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_create_errors zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_create_group zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_delitem zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_getattr zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_group_repr zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_move zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_paths zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_pickle zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_require_group zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupWithNestedDirectoryStore::test_setitem zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_array_creation zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_context_manager zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_create_errors zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_create_group zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_delitem zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_getattr zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_group_repr zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_move zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_paths zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_pickle zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_require_group zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupWithZipStore::test_setitem zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_array_creation zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_context_manager zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_create_errors zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_create_group zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_delitem zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_getattr zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_group_repr zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_move zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_paths zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_pickle zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_require_group zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupWithDBMStore::test_setitem zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_array_creation zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_context_manager zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_create_errors zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_create_group zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_delitem zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_getattr zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_group_repr zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_move zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_paths zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_pickle zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_require_group zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupWithSQLiteStore::test_setitem zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_array_creation zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_chunk_store zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_context_manager zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_create_errors zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_create_group zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_delitem zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_getattr zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_group_repr zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_move zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_paths zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_pickle zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_require_group zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupWithChunkStore::test_setitem zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_array_creation zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_context_manager zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_create_errors zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_create_group zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_delitem zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_getattr zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_group_repr zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_move zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_paths zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_pickle zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_require_group zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupWithStoreCache::test_setitem zarr/tests/test_hierarchy.py::test_group[2] zarr/tests/test_hierarchy.py::test_open_group[2] zarr/tests/test_hierarchy.py::test_group_completions[2] zarr/tests/test_hierarchy.py::test_group_key_completions[2] zarr/tests/test_hierarchy.py::test_tree[False-2] zarr/tests/test_hierarchy.py::test_tree[True-2] zarr/tests/test_hierarchy.py::test_open_group_from_paths[2]