scvi-tools
Deep probabilistic analysis of single-cell omics data.
What it is and what it does
scvi-tools is a Python library for probabilistic modeling and analysis of single-cell omics data. It provides a collection of pre-built models that handle common analysis tasks—dimensionality reduction, data integration across batches, automated cell-type annotation, doublet detection, and spatial deconvolution—all with a unified API that integrates with the Scanpy ecosystem and AnnData data structures. The package is built on PyTorch and PyTorch Lightning, enabling GPU acceleration for large-scale analyses.
Beyond pre-built models, scvi-tools also serves as a framework for developing and deploying novel probabilistic models. It provides building blocks powered by PyTorch Lightning and Pyro, allowing researchers to prototype custom models and integrate them into the same high-level API. The package is part of the scverse ecosystem and is actively maintained by the Yosef Lab at the Weizmann Institute of Science.
Use it for:
- Reduce dimensionality of high-dimensional single-cell RNA-seq data for visualization and downstream analysis.
- Integrate multiple single-cell datasets from different batches, technologies, or studies into a unified representation.
- Automatically assign cell types to individual cells based on learned probabilistic representations.
- Identify and remove doublets (cell multiplets) from droplet-based single-cell experiments.
- Deconvolve spatial transcriptomics data to infer cell-type composition and localization.
- Develop and validate new probabilistic models for single-cell analysis using the framework's building blocks.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
scvi-tools provides probabilistic models for analyzing single-cell omics data, including dimensionality reduction, data integration, automated annotation, doublet detection, and spatial deconvolution, built on PyTorch and AnnData.
Yes. scvi-tools is actively maintained, has low install friction, carries a permissive license, and is widely used in single-cell genomics research. Install it if you work with single-cell omics data and need probabilistic modeling, integration, or annotation. Ensure PyTorch is installed first and compatible with your hardware.
Install
scvi-tools on PyPI
pip
pip install scvi-toolsuv
uv add scvi-toolspoetry
poetry add scvi-toolsInstalling scvi-tools
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a recent release (36 days ago) and ongoing repository activity. Requires modern Python (3.12+) and a compatible PyTorch installation, particularly for GPU support.
License in practice
BSD 3-Clause permissive license allows commercial and private use with minimal restrictions, requiring only copyright and license retention in source distributions.
Quickstart
pip install scvi-tools
import scvi
import anndata
# Load single-cell data into AnnData object
adata = anndata.read_h5ad('data.h5ad')
# Initialize and train a model (e.g., scVI for dimensionality reduction)
scvi.model.SCVI.setup_anndata(adata)
model = scvi.model.SCVI(adata)
model.train()
Requires PyTorch installation compatible with your hardware (CPU or GPU); consult PyTorch documentation for GPU-specific setup.
Verify before relying
- Whether GPU acceleration is automatic or requires explicit configuration beyond standard PyTorch setup.
- Performance characteristics and scalability limits for typical single-cell dataset sizes.
- Availability and quality of pre-trained models or transfer learning capabilities.
Package facts
| License | BSD 3-Clause License Copyright (c) 2026, Yosef Lab, Weizmann Institute of Science All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 19 — anndata, docrep, lightning, ml-collections, mudata, numba, numpy, pandas, pyro-ppl, rich, scanpy, scikit-learn, scipy, sparse, tensorboard, torch, torchmetrics, tqdm, xarray |
| Maintenance | actively maintained — 36 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 98,631/month — #13,069 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: scvi_tools-1.5.0.post1-py3-none-any.whl
Tags
More Bio-Informatics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
biopythonBiopython provides Python tools for…
unclear · top 5,000 on PyPI
firecrawl-pyClient library for the Firecrawl API that…
permissive · top 5,000 on PyPI
intervaltreeA self-balancing interval tree data structure…
permissive · top 5,000 on PyPI
albumentationsAlbumentations applies image transformations to…
permissive · top 5,000 on PyPI
PubChemPyPubChemPy is a Python wrapper around the…
permissive · top 5,000 on PyPI
scanpyScanpy is a toolkit for preprocessing,…
permissive · top 5,000 on PyPI
spatialdataSpatialData is a data framework and…
permissive · top 15,000 on PyPI
somacoreProvides the Python reference implementation of…
permissive · top 15,000 on PyPI
mudataMuData is a container for multimodal omics data…
permissive · top 15,000 on PyPI
tiledbsomaTileDB-SOMA is a Python implementation of the…
permissive · top 15,000 on PyPI
umap-learnUMAP reduces high-dimensional data to lower…
permissive · top 5,000 on PyPI
anndataanndata handles annotated data matrices in…
permissive · top 5,000 on PyPI
pymc3PyMC3 is a Python package for Bayesian…
permissive · top 15,000 on PyPI
tensorflow-probabilityTensorFlow Probability provides probabilistic…
permissive · top 5,000 on PyPI