Open Czaki opened 18 hours ago
3.0.0a7
0.13.0
3.12
All
pip install --pre
When open zarr dataset using image = zarr.open(store=path) ends with error ValueError: Invalid value. Expected 'array'. Got group.
image = zarr.open(store=path)
ValueError: Invalid value. Expected 'array'. Got group.
This guard is expecting key error, not value error:
https://github.com/zarr-developers/zarr-python/blob/c258b275d717106be6cdbe403e585fe03f67961e/src/zarr/api/asynchronous.py#L248-L251
napari_builtins/_tests/test_io.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ napari_builtins/io/_read.py:225: in magic_imread image, zarr_shape = read_zarr_dataset(filename) napari_builtins/io/_read.py:140: in read_zarr_dataset image = zarr.open(store=path) /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/_compat.py:43: in inner_f return f(*args, **kwargs) /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/api/synchronous.py:77: in open obj = sync( /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/sync.py:91: in sync raise return_result /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/sync.py:50: in _runner return await coro /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/api/asynchronous.py:249: in open return await open_array(store=store_path, zarr_format=zarr_format, **kwargs) /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/api/asynchronous.py:966: in open_array return await AsyncArray.open(store_path, zarr_format=zarr_format) /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/array.py:405: in open return cls(store_path=store_path, metadata=metadata_dict) /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/array.py:181: in __init__ metadata = ArrayV3Metadata.from_dict(metadata) /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/metadata/v3.py:270: in from_dict _ = parse_node_type_array(_data.pop("node_type")) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = 'group' def parse_node_type_array(data: object) -> Literal["array"]: if data == "array": return "array" > raise ValueError(f"Invalid value. Expected 'array'. Got {data}.") E ValueError: Invalid value. Expected 'array'. Got group. /tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/metadata/v3.py:45: ValueError
Run test_zarr_multiscale from napari_builtins/_tests/test_io.py
test_zarr_multiscale
napari_builtins/_tests/test_io.py
followup to #2158
required for https://github.com/napari/napari/pull/7215
Thanks for the report. https://github.com/zarr-developers/zarr-python/pull/2310 has a quick fix for this.
Zarr version
3.0.0a7
Numcodecs version
0.13.0
Python Version
3.12
Operating System
All
Installation
pip install --pre
Description
When open zarr dataset using
image = zarr.open(store=path)
ends with errorValueError: Invalid value. Expected 'array'. Got group.
This guard is expecting key error, not value error:
https://github.com/zarr-developers/zarr-python/blob/c258b275d717106be6cdbe403e585fe03f67961e/src/zarr/api/asynchronous.py#L248-L251
Steps to reproduce
Run
test_zarr_multiscale
fromnapari_builtins/_tests/test_io.py
Additional output
followup to #2158
required for https://github.com/napari/napari/pull/7215