SpatialData 0.8.0 permits Zarr versions that do not provide ArrayNotFoundError
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 74/100
Research direction
Start by checking the published dependency metadata and the persistence module used by read_zarr. Reproduce the failure with the provided isolated Python commands using Zarr 3.1.1 and 3.1.2. Done means dependency resolution no longer permits versions missing ArrayNotFoundError, and importing read_zarr succeeds in the documented environment.
Written by the indexing model from the issue text.
Description
Report
Hej everyone,
I found and error while working.
SpatialData 0.8.0 declares zarr>=3.0.0, but its persistence module imports ArrayNotFoundError from zarr.errors.
That exception is unavailable in Zarr 3.0.0 through 3.1.1 and was added in Zarr 3.1.2.
Consequently, dependency resolution can produce a valid environment according to the published package metadata in which importing read_zarr fails.
Minimal reproduction
In a clean environment:
$ uv run --isolated --python 3.12 \
--with 'spatialdata==0.8.0' \
--with 'zarr==3.1.1' \
python -c 'from spatialdata import read_zarr'
ImportError: cannot import name 'ArrayNotFoundError' from 'zarr.errors'
The same failure occurs with Zarr 3.0.0 and 3.1.0. The import succeeds with
Zarr 3.1.2:
$ uv run --isolated --python 3.12 \
--with 'spatialdata==0.8.0' \
--with 'zarr==3.1.2' \
python -c 'from spatialdata import read_zarr; print(read_zarr.__name__)'
read_zarr
Versions
| Package | Version |
| ----------- | ------- |
| spatialdata | 0.8.0 |
| zarr | 3.1.1 |
| Dependency | Version |
| ------------------------ | ---------------------- |
| google-crc32c | 1.8.0 |
| wrapt | 2.1.2 |
| dask | 2026.8.0 |
| numcodecs | 0.16.5 |
| typing_extensions | 4.15.0 |
| natsort | 8.4.0 |
| scipy | 1.17.1 |
| packaging | 26.2 |
| six | 1.17.0 |
| array-api-compat | 1.14.0 |
| typing-inspection | 0.4.2 |
| crc32c | 2.9.post0 |
| pandas | 2.3.3 |
| charset-normalizer | 3.4.7 |
| transformnd | 0.7.2 |
| zstandard | 0.25.0 |
| legacy-api-wrap | 1.5 |
| Deprecated | 1.3.1 |
| pydantic | 2.12.5 |
| pytz | 2026.2 |
| scikit-image | 0.26.0 |
| shapely | 2.1.2 |
| setuptools | 82.0.1 |
| tblib | 3.2.2 |
| pydantic_core | 2.41.5 |
| certifi | 2026.4.22 (2026.04.22) |
| Jinja2 | 3.1.6 |
| lazy-loader | 0.5 |
| scverse-misc | 0.1.6 |
| pyarrow | 24.0.0 |
| pyproj | 3.7.2 |
| cloudpickle | 3.1.2 |
| fsspec | 2026.4.0 |
| numpy | 2.4.5 |
| PyYAML | 6.0.3 |
| xarray | 2026.4.0 |
| ome-zarr-models | 1.8.1 |
| session-info2 | 0.4.1 |
| toolz | 1.1.0 |
| spatial_image | 1.2.3 |
| rich | 15.0.0 |
| xarray-dataclass | 3.0.0 |
| python-dateutil | 2.9.0.post0 |
| MarkupSafe | 3.0.3 |
| annotated-types | 0.7.0 |
| psutil | 7.2.2 |
| networkx | 3.6.1 |
| h5py | 3.16.0 |
| anndata | 0.12.14 |
| pydantic-zarr | 0.10.0 |
| geopandas | 1.1.3 |
| ome-zarr | 0.19.2 |
| donfig | 0.8.1.post1 |
| multiscale_spatial_image | 2.0.3 |
| msgpack | 1.1.2 |
| Component | Info |
| --------- | ------------------------------------------------------------- |
| Python | 3.12.3 (main, Aug 31 2026, 10:18:26) [GCC 13.3.0] |
| OS | Linux-6.18.33.2-microsoft-standard-WSL2-x86_64-with-glibc2.39 |
| Updated | 2026-09-21 20:54 |
- Dominant language
- Python
- Stars
- 394
- Forks
- 95
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 5
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from scverse/spatialdata
-
bug 🚨 element: labels 🏷️ method: aggregation 🔢 needs: triage priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
scverse/spatialdata#1249 ·
-
bug 🚨 element: images 🌌 element: labels 🏷️ needs: triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
scverse/spatialdata#1239 ·
-
bug 🚨 element: shapes ▲ models needs: triage priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
scverse/spatialdata#1234 ·
-
bug 🚨 element: labels 🏷️ method: aggregation 🔢 needs: triage priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
scverse/spatialdata#1230 ·
-
bug 🚨 element: labels 🏷️ element: table 📑 models needs: triage priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
scverse/spatialdata#1229 ·
All issues in scverse/spatialdata
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
xinnan-tech/xiaozhi-fde-talk#263 ·
-
rules
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
huggingface/Repo2RLEnv#163 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 95/100
huggingface/sentence-transformers#4074 ·
-
comp/dashboard invalid P3
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
NousResearch/hermes-agent#121143 ·