Skip to main content

AnnZarro

PyPI Python 3.9+ License: MIT Docs Tests DOI bioRxiv

A read-only browser viewer for AnnData in zarr (or h5ad) built around the matrices other viewers leave out: cell x cell kernels and distances (obsp) and gene x gene similarities (varp), explored one focused cell or gene at a time and linked to the cell x gene layers.

Documentation: annzarro.readthedocs.io (tutorials, user guide, data preparation, deployment and reference). Developed by the Setty Lab.

Clicking a cell moves the diffusion-walk colouring; clicking a gene recolours its correlations and per-cell fold change

Install

pip install annzarro              # or 'annzarro[remote]' for s3://, gs:// and https:// stores

This installs AnnZarro on your own computer or on a server. Or download the desktop app, or set up a shared server, below.

From source: git clone https://github.com/settylab/annzarro.git && pip install -e ./annzarro. Details: installation, desktop app.

Desktop app or server

Desktop app (download the latest release):

macOS Windows Linux

  • Standalone on your laptop, no Python needed
  • Works offline
  • Your data stay on your computer
  • No login, no set-up
  • Opens local .zarr stores

Server (one server, many users in the browser; install):

Server

  • Multi-user access in the browser, with login
  • Panel sets shared and exchanged between users
  • Large datasets stay on the server; only the slices a view needs travel to the browser
  • Per-user dataset access control and an admin page
  • Less memory on each user's computer

What it does

  • Colours any plot by the focused cell's row of an obsp matrix or the focused gene's row of a varp matrix.
  • Plots any obs, var, obsm, varm column or layers row/column against any other, spatial coordinates included.
  • Links cells and genes: one cell's values across genes, one gene's values across cells, in every layer.
  • Filters cell and gene tables with AND/OR conditions that mask the plots; saves layouts as panel sets and share links.
  • Reads only the chunks behind what is on screen, so cost follows the view, not the dataset size; locally or from S3, GCS and HTTP.
  • Never writes to your data and never runs code: a lab server can show datasets without giving write or compute access.

Cell x cell, gene x gene, cells x genes and table filters

Quickstart

mkdir -p ~/annzarro-data
ln -s /path/to/your.zarr ~/annzarro-data/
annzarro start --data-dir ~/annzarro-data      # opens http://127.0.0.1:8000

Walkthrough with the demonstration data: quickstart.

Prepare your data

Any AnnData written with adata.write_zarr(...) opens as is. Which slot feeds which view, how to precompute obsp/varp matrices and how to chunk for speed: preparing data.

Deployment

  • Desktop app: one person, data on the same computer. Set up
  • Personal server: annzarro start on a laptop or an HPC node, reached over an SSH tunnel. Set up
  • Lab server: gunicorn behind HTTPS, read-only, with login and shared panel sets. Set up

Documentation

annzarro.readthedocs.io: tutorials on cell and gene similarity, the user guide, data preparation, deployment, and the CLI, configuration and HTTP API reference.

Citing AnnZarro

If you use AnnZarro, please cite the preprint:

Otto, D. J., Baasri, S. and Setty, M. AnnZarro: scalable, interactive exploration of cell-by-cell and gene-by-gene relationships in single-cell data. bioRxiv (2026). doi:10.64898/2026.10.10.758158

@article{otto2026annzarro,
  author  = {Otto, Dominik J. and Baasri, Siddharth and Setty, Manu},
  title   = {{AnnZarro}: scalable, interactive exploration of cell-by-cell and gene-by-gene relationships in single-cell data},
  journal = {bioRxiv},
  year    = {2026},
  doi     = {10.64898/2026.10.10.758158},
  url     = {https://doi.org/10.64898/2026.10.10.758158}
}

To cite the software itself, for example the exact release you ran, use its Zenodo DOI. Each release is archived on Zenodo with its own version DOI (v0.4.3: 10.5281/zenodo.23306026); the concept DOI below always resolves to the latest release.

@software{otto_annzarro_software,
  author    = {Otto, Dominik J. and Baasri, Siddharth and Setty, Manu},
  title     = {AnnZarro},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.23222216},
  url       = {https://doi.org/10.5281/zenodo.23222216}
}

Citation metadata are also in CITATION.cff (GitHub's "Cite this repository"), which names the preprint as the preferred citation.

Development

npm ci once (Node.js 22+), then python -m pytest runs the Python tests, every JS suite and ESLint. See running the tests.

Licence

MIT (LICENSE). The web interface bundles unmodified third-party libraries under their own permissive licences, listed in annzarro/THIRD_PARTY_LICENSES/.

Metadata

Release files for annzarro 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for annzarro 0.5.0
File Size Uploaded Provenance
annzarro-0.5.0.tar.gz 2.6 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for annzarro 0.5.0
File Interpreter ABI Platform
annzarro-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.4 MB

Release files / annzarro-0.5.0.tar.gz

Download URL annzarro-0.5.0.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
be3ee8f5ae2508d2d454a28b08bf60b0c4c52ca301b23c52689622de295f56b1
BLAKE2b-256 checksum
How to use checksums
fcd5f50c16267ac2530c267048972f5949cb4c668733f832e35a31820076ed9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / annzarro-0.5.0-py3-none-any.whl

Download URL annzarro-0.5.0-py3-none-any.whl
Size 2.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0a96d618b8dcc827bc2ccf2e29806ba5364d815ebe91f1c29da8db14252cf37d
BLAKE2b-256 checksum
How to use checksums
0dfb8fb47a3f7cd0fe098f10147b2a1a2fbae03a58d10275669531388be2742f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Security for annzarro 0.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for annzarro-0.5.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page