spatialdata
Spatial data format.
What it is and what it does
SpatialData is a framework and schema for storing and working with spatial omics data—datasets that combine gene expression, protein abundance, or other molecular measurements with spatial coordinates. It defines a universal format built on the OME-NGFF specification, allowing researchers to represent uni- and multi-modal spatial experiments in a standardized way. The core library handles data access, manipulation, and serialization; it is part of a growing ecosystem that includes companion packages for loading data from common technologies, static plotting, and interactive exploration.
The package depends on a large stack of scientific libraries—including dask for distributed computing, geopandas for spatial operations, xarray for multi-dimensional arrays, and zarr for chunked storage—making it suitable for workflows that need to process, analyze, or share spatial omics datasets across teams or languages. It is actively maintained by the scverse project and has been cited in peer-reviewed literature, though the documentation notes that the library is still under community review and may see API changes.
Use it for:
- Load spatial transcriptomics or proteomics data from commercial platforms (e.g., Visium, MERFISH) into a standardized format for downstream analysis.
- Store and share multi-modal spatial omics experiments (combining imaging, gene expression, and metadata) in a single interoperable file.
- Build analysis pipelines that work with spatial data in Python while ensuring compatibility with R and JavaScript implementations.
- Perform distributed spatial operations (clustering, segmentation, neighborhood analysis) on large datasets using dask integration.
- Visualize spatial omics data interactively via the napari plugin or generate publication-ready static plots.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SpatialData is a data framework and serialization format for uni- and multi-modal spatial omics datasets, providing schema-based storage and access across Python, R, and JavaScript implementations.
Yes, if you work with spatial omics data and need a standardized, cross-language framework. The package is actively maintained, permissively licensed, and backed by a peer-reviewed publication and institutional support. Install friction is low. However, be aware that it requires Python 3.12, carries substantial downstream dependencies, and the documentation explicitly notes the library is under review—expect potential API changes as the community provides feedback. Not suitable if you need Windows-specific support guarantees or absolute API stability.
Install
spatialdata on PyPI
pip
pip install spatialdatauv
uv add spatialdatapoetry
poetry add spatialdataInstalling spatialdata
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a recent release (43 days old) and ongoing development. The package carries 28 runtime dependencies including heavy scientific stacks (dask, geopandas, xarray, zarr), which will pull in substantial downstream requirements but are all standard in the spatial-omics ecosystem.
License in practice
BSD 3-Clause permissive license allows commercial and private use with minimal restrictions; you must retain copyright notice and disclaimer in distributions.
Quickstart
pip install spatialdata
import spatialdata
# Load or create spatial omics data via the framework
data = spatialdata.read_zarr('path/to/data.zarr')
Requires Python 3.12 or later. Installation via conda is currently not available; pip is the only supported installation method.
Verify before relying
- Specific performance characteristics or scalability limits for large spatial datasets.
- Maturity level and API stability guarantees given the note that the library is 'currently under review'.
- Windows support status beyond 'manually tested' — automated testing covers Linux and macOS only.
Package facts
| License | BSD 3-Clause License Copyright (c) 2022, scverse® All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 28 — anndata, annsel, click, dask-image, dask, datashader, distributed, fsspec, geopandas, multiscale-spatial-image, networkx, numba, numpy, ome-zarr, pandas, pooch, pyarrow, rich, scikit-image, scipy, setuptools, shapely, spatial-image, typing-extensions, universal-pathlib, xarray-spatial, xarray, zarr |
| Maintenance | actively maintained — 43 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 129,899/month — #11,656 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: spatialdata-0.8.0-py3-none-any.whl
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
anndataanndata handles annotated data matrices in…
permissive · top 5,000 on PyPI
mudataMuData is a container for multimodal omics data…
permissive · top 15,000 on PyPI
scvi-toolsscvi-tools provides probabilistic models for…
permissive · top 15,000 on PyPI
multiscale-spatial-imageGenerates multiscale image pyramids organized…
permissive · top 15,000 on PyPI
GridDataFormatsGridDataFormats reads and writes n-dimensional…
copyleft · top 15,000 on PyPI
spatial-accessComputes travel times and spatial access…
permissive · top 15,000 on PyPI
apache-sedonaPython wrapper for Apache Sedona, a cluster…
permissive · top 5,000 on PyPI
scanpyScanpy is a toolkit for preprocessing,…
permissive · top 5,000 on PyPI
spaghettiSpaghetti analyzes network-based spatial data…
permissive · top 15,000 on PyPI
spatial_imagespatial-image provides an N-dimensional spatial…
permissive · top 15,000 on PyPI