scviva-tools
Consolidated spatial transcriptomics analysis toolkit based on scvi-tools.
Provides seven spatial transcriptomics models and tools as first-class citizens:
- scVIVA — niche-aware representation learning (Levy et al., 2025)
- DestVI — multi-resolution cell-type deconvolution (Lopez et al., 2022)
- ResolVI — noise and bias correction for cellular-resolution ST (Ergen & Yosef, 2025)
- GIMVI — joint imputation of missing genes across paired scRNA-seq and spatial data (Lopez et al., 2019)
- Stereoscope — probabilistic cell-type deconvolution of spatial spots (Andersson et al., 2020)
- Tangram — mapping scRNA-seq data onto spatial coordinates (Biancalani et al., 2021)
- Harreman — metabolic exchange and cell-cell communication inference for spatial data (Etxezarreta-Arrastoa et al., 2025), integrating outputs from DestVI, ResolVI, and SCVIVA
See docs/user_guide/models for a full description of each model, and docs/tutorials for worked examples of every model above.
Installation
pip install scviva-tools
# Optional extras
pip install "scviva-tools[spatial]" # SpatialData + squidpy integration
pip install "scviva-tools[rapids]" # GPU-accelerated neighbor graphs (cuML/cuPy/cuGraph)
pip install "scviva-tools[tutorials]" # jupyter, matplotlib, seaborn
pip install "scviva-tools[all]" # everything above
See docs/installation.md for details, including a development install.
Quick Start
import scviva
# scVIVA
scviva.SCVIVA.setup_anndata(adata, layer="counts", spatial_key="spatial")
model = scviva.SCVIVA(adata)
model.train()
# DestVI
import scvi
scvi.model.CondSCVI.setup_anndata(sc_adata, labels_key="cell_type", layer="counts")
sc_model = scvi.model.CondSCVI(sc_adata)
sc_model.train()
scviva.DestVI.setup_anndata(st_adata, layer="counts")
st_model = scviva.DestVI.from_rna_model(st_adata, sc_model)
st_model.train()
# ResolVI
scviva.ResolVI.setup_anndata(adata, layer="counts", spatial_key="spatial")
model = scviva.ResolVI(adata)
model.train()
Models beyond scVIVA/DestVI/ResolVI (GIMVI, Stereoscope, Tangram) live under scviva.external,
e.g. scviva.external.Tangram.
Downstream tools (scviva.tl / scviva.pl)
scviva.tl and scviva.pl mirror scanpy's sc.tl/sc.pl convention, resolving lazily to
scviva.tools/scviva.plotting so heavy optional dependencies aren't imported eagerly:
# Harreman: metabolic exchange & cell-cell communication analysis, optionally
# integrating DestVI/ResolVI/SCVIVA outputs
scviva.tl.harreman.hs.compute_local_autocorrelation(adata, use_metabolic_genes=True)
scviva.pl.harreman.local_correlation_plot(adata)
scviva.tl.harreman itself exposes a scanpy-style sub-API: tl/hs/pp/ds/pl for
tools/hotspot/preprocessing/datasets/plotting, plus a stateful HarremanAnalysis wrapper
(scviva.tools.harreman.HarremanAnalysis) that can integrate DestVI/ResolVI/SCVIVA outputs.
Documentation
Full documentation, including the user guide, API reference, and tutorials, is under docs/. See CHANGELOG.md for a detailed history of recent changes.
References
See docs/references.md for full citations.
Copyright (c) 2026, Yosef Lab, Weizmann Institute of Science
Metadata
Release files for scviva-tools 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scviva_tools-0.1.7.tar.gz | 72.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scviva_tools-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.6 MB
Release files / scviva_tools-0.1.7.tar.gz
| Download URL | scviva_tools-0.1.7.tar.gz |
|---|---|
| Size | 72.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
349626d30d37ed2ae7e5861aa987dd5660ca62d930baa827ee0edf89a9d3d943
|
|
BLAKE2b-256 checksum How to use checksums |
2671bb0a752cb151700a0f17cdee774a2060598b4e34b97875e1a2b42cfd3771
|
| 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 Sep 10, 2026.
Transparency logRelease files / scviva_tools-0.1.7-py3-none-any.whl
| Download URL | scviva_tools-0.1.7-py3-none-any.whl |
|---|---|
| Size | 299.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e06d7eb705efd3ec979affff919708638e52b93ba35329d486005499799e154d
|
|
BLAKE2b-256 checksum How to use checksums |
b44d0d7ae9ad99485261de0ced8dee6cd8b64cefeec827c850196cbb251bcd45
|
| 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 Sep 10, 2026.
Transparency log