Skip to main content
Harpy logo

Single-cell spatial omics analysis that makes you happy.

PyPI Release Status Build Status Test Status pre-commit.ci status documentation badge codecov Downloads License GitHub repo size DOI Paper

Documentation · Quick Start · Tutorials · spatiato · harpy-vitessce

💫 If you find Harpy useful, please give us a ⭐! It helps others discover the project and supports continued development.

Why Harpy?

Harpy is a spatial omics analysis library for spatial transcriptomics and proteomics. Within the scverse stack, it bridges SpatialData and downstream analysis tools such as AnnData, Scanpy, and Squidpy. It provides scalable, image- and geometry-aware computation to transform raw spatial data into analysis-ready representations, with a strong emphasis on interoperability and large-scale workflows.

In practice, Harpy offers fast, out-of-core image preprocessing, tiled segmentation, along with efficient aggregation workflows to generate AnnData tables and compute per-cell features from images, segmentation masks, and transcript coordinates. It also supports deep feature extraction, pixel- and cell-level clustering, and the construction of single-cell representations from highly multiplexed images.

  • Multi-platform support for spatial transcriptomics and proteomics data.
  • Interoperable outputs built on SpatialData.
  • Scales to (very) large images: tiled workflows with Dask; optional GPU acceleration with CuPy and PyTorch.
  • Scalable computational building blocks for segmentation, feature extraction, clustering, and spatial analysis.

Installation

pip install harpy-analysis

With extras

pip install "harpy-analysis[extra]"

[extra] installs optional dependencies for:

  • Segmentation: cellpose, instanseg-torch
  • OpenCV support: opencv-python-headless
  • FlowSOM Clustering: flowsom
  • Vitessce: harpy-vitessce
  • Notebook workflows: ipywidgets, tqdm, bokeh, textalloc, joypy, supervenn, nbconvert, ipython

With spatiato

spatiato is a spatial omics interface for napari, built on SpatialData and Harpy, for interactive exploration and analysis of SpatialData stores.

pip install "harpy-analysis[spatiato]"

[spatiato] adds:

  • napari[all]
  • spatiato

Only for developers. Clone this repository locally, install the .[dev] instead of the [extra] dependencies and read the contribution guide.

# Clone repository from GitHub
uv venv --python=3.12  # create venv, set python version (>=3.11)
source .venv/bin/activate  # activate the virtual environment
uv pip install -e '.[dev]'  # editable install with dev tooling
python -c 'import harpy; print(harpy.__version__)'  # check if the package is installed
# make changes
python -m pytest  # run the tests

For more installation details, see the installation guide.

Quickstart

See the short, runnable guide.

API Changes in 0.4.0

Note for users upgrading to Harpy 0.4.0: parameters that refer to SpatialData elements now use the *_name convention instead of the older *_layer naming to stay aligned with scverse naming conventions. For example, img_layer becomes image_name, labels_layer becomes labels_name, and table_layer becomes table_name.

The examples in this README and in the documentation already follow the 0.4.0 naming convention.

🧭 Tutorials and Guides

Explore how to use Harpy for segmentation, shallow and deep feature extraction, clustering, and spatial analysis of gigapixel-scale multiplexed data with these step-by-step notebooks:

  • 🚀 Basic Usage of Harpy

    Learn how to read in data, perform tiled segmentation using Cellpose and Dask-CUDA, extract features, perform QC and analyze results downstream with Scanpy and Squidpy.

    👉 Tutorial image based transcriptomics, Human Ovarian Cancer, Xenium 10x Genomics

    👉 Tutorial proteomics, MACSima

  • 🔧 Technology-specific advice

    Learn which technologies Harpy supports. 👉 Tutorial

  • 🧩 Pixel and Cell Clustering

    Learn how to perform unsupervised pixel- and cell-level clustering using Harpy together with FlowSOM. 👉 Tutorial

  • ✂️ Cell Segmentation

    Explore segmentation workflows in Harpy using different tools:

    💡 Want us to add support for another segmentation method? 👉 Open an issue and let us know!

  • 🧪 Single-cell representations from highly multiplexed images and downstream use with PyTorch

    Learn how single-cell representations can be generated from highly multiplexed images. These representations can then be used downstream to train classifiers in PyTorch. 👉 Tutorial

  • 🧠 Deep Feature Extraction

    Discover how Harpy enables fast, scalable extraction of deep, cell-level features from multiplex imaging data with the KRONOS foundation model for proteomics. 👉 Tutorial

    💡 Want us to add support for another deep feature extraction method? 👉 Open an issue and let us know!

  • 🔬 Shallow Feature Extraction

    Learn to extract shallow features—such as mean, median, and standard deviation of intensities—from multiplex imaging data with Harpy. 👉 Tutorial

  • 🧬 Spatial Transcriptomics

    Learn how to analyze spatial transcriptomics data with Harpy.

    👉 Tutorial (Mouse Liver, Resolve Molecular Cartography)

    👉 Tutorial (Human Ovarian Cancer, Xenium 10x Genomics)


  • 🌐 Multiple samples and coordinate systems

    Learn how to work with multiple samples, intrinsic and micron coordinates. 👉 Tutorial


  • 📐 Rasterize and vectorize labels and shapes

    Learn how to convert a segmentation mask (array) into its vectorized form, and segmentation boundaries (polygons) into their rasterized equivalents. This conversion is useful, for example, when integrating annotations (e.g., from QuPath) into downstream spatial omics analysis.👉 Tutorial


📚 For a complete list of tutorials, visit the Harpy documentation.

Computational benchmark

Explore the benchmark performance of Harpy on a large MACSima tonsil proteomics dataset. 👉 Results

Contributing

See the contribution guide for info on how to contribute to Harpy.

Citation

If you use Harpy in your work, please cite:

Benjamin Rombaut, Arne Defauw, Frank Vernaillen, Julien Mortier, Evelien Van Hamme, Sofie Van Gassen, Ruth Seurinck, Yvan Saeys. Scalable analysis of whole slide spatial proteomics with Harpy. Bioinformatics (2026), btag122. https://doi.org/10.1093/bioinformatics/btag122

If you use Harpy for spatial transcriptomics analysis, please cite:

Lotte Pollaris, Bavo Vanneste, Benjamin Rombaut, Arne Defauw, Frank Vernaillen, Julien Mortier, Wout Vanhenden, Liesbet Martens, Tinne Thone, Jean-Francois Hastir, Anna Bujko, Wouter Saelens, Jean-Christophe Marine, Hilde Nelissen, Evelien Van Hamme, Ruth Seurinck, Charlotte L. Scott, Martin Guilliams, Yvan Saeys. SPArrOW: a flexible, interactive and scalable pipeline for spatial transcriptomics analysis. https://doi.org/10.1101/2024.07.04.601829

License

Harpy is licensed under the BSD 3-Clause License.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Metadata

Release files for harpy-analysis 0.5.1

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

Source distribution (sdist)

Source distribution for harpy-analysis 0.5.1
File Size Uploaded Provenance
harpy_analysis-0.5.1.tar.gz 21.7 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for harpy-analysis 0.5.1
File Interpreter ABI Platform
harpy_analysis-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.7 MB

Release files / harpy_analysis-0.5.1.tar.gz

Download URL harpy_analysis-0.5.1.tar.gz
Size 21.7 MB
Tags Source
SHA-256 checksum
How to use checksums
bf8428f28301b5be8755b60a5a20a247704856a14881da8ab1d95939ee70e14c
BLAKE2b-256 checksum
How to use checksums
d44e103348c6c452a0d84dd2514c415176453fc4086a05de138589d291fb93b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 23, 2026.

Transparency log

Release files / harpy_analysis-0.5.1-py3-none-any.whl

Download URL harpy_analysis-0.5.1-py3-none-any.whl
Size 949.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f36dac4efb7eb3c8462a93b045d2157ea2c44c694e354f8fa389f052de6aeb23
BLAKE2b-256 checksum
How to use checksums
0ed5d689beaff8cb4f443ba2026ca91d97837d0ddbd88fb6b5bf3ae9c3c3fa7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 23, 2026.

Transparency log

Security for harpy-analysis 0.5.1

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 harpy_analysis-0.5.1.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 23, 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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