From 9c26df30829f94c61d7b7f856675221eb4879684 Mon Sep 17 00:00:00 2001 From: Jan Gleixner Date: Tue, 18 Aug 2026 18:43:41 +0200 Subject: [PATCH 1/2] docs: add interoperability page Closes #1176. Adds a short Interoperability page listing non-Python interfaces to the SpatialData on-disk format, mirroring the equivalent pages in anndata and mudata so the style is consistent across the three data structures. Also notes that the format builds on OME-NGFF and points at the design document for the current on-disk layout. --- docs/index.md | 1 + docs/interoperability.md | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 docs/interoperability.md diff --git a/docs/index.md b/docs/index.md index 4b21c6ff7..afb23a4bf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -110,6 +110,7 @@ tutorials/notebooks/notebooks.md tutorials/notebooks/datasets/README.md glossary.md design_doc.md +interoperability.md contributing.md changelog.md references.md diff --git a/docs/interoperability.md b/docs/interoperability.md new file mode 100644 index 000000000..331450808 --- /dev/null +++ b/docs/interoperability.md @@ -0,0 +1,16 @@ +# Interoperability + +The on-disk representation of SpatialData can be read from other languages. Here we list interfaces for working with SpatialData from your language of choice: + +## R + +- [spatialdataR](https://helenalc.github.io/spatialdataR/) provides an R implementation of the `SpatialData` object, with out-of-memory images and labels, `duckdb`-backed points and shapes, and tables represented as `SingleCellExperiment` objects. + +## JavaScript and TypeScript + +- [SpatialData.js](https://github.com/Taylor-CCB-Group/SpatialData.js) provides a TypeScript and JavaScript library for interfacing with SpatialData stores. +- [Vitessce](https://vitessce.io/docs/data-file-types/#spatialdatazarr) reads `spatialdata.zarr` stores directly and uses them for interactive visualization. + +## File format + +The SpatialData on-disk format builds on [OME-NGFF](https://ngff.openmicroscopy.org/latest/). See the [design document](design_doc.md) for details of the current on-disk layout. From 8b9ba34270fa8e980b88b21a6f36cc28fb0cd5a6 Mon Sep 17 00:00:00 2001 From: Luca Marconato Date: Wed, 19 Aug 2026 11:32:42 +0200 Subject: [PATCH 2/2] chore: fix precommit --- src/spatialdata/_io/io_zarr.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/spatialdata/_io/io_zarr.py b/src/spatialdata/_io/io_zarr.py index 7ba440533..9324f8b7f 100644 --- a/src/spatialdata/_io/io_zarr.py +++ b/src/spatialdata/_io/io_zarr.py @@ -5,7 +5,7 @@ from collections.abc import Callable from json import JSONDecodeError from pathlib import Path -from typing import Any, Literal, cast +from typing import Any, Literal import zarr.storage from anndata import AnnData @@ -71,7 +71,7 @@ def _read_zarr_group_spatialdata_element( reader_format = get_raster_format_for_read(elem_group, sdata_version) element = read_func( elem_group_path, - cast(Literal["image", "labels"], element_type), + element_type, reader_format, ) elif element_type in ["shapes", "points", "tables"]: