Stars PyPI PyPIDownloads BiocondaDownloads Docs Build Status

Scanpy – Single-Cell Analysis in Python

Scanpy is a scalable toolkit for analyzing single-cell gene expression data built jointly with anndata. It includes preprocessing, visualization, clustering, trajectory inference and differential expression testing. The Python-based implementation efficiently deals with datasets of more than one million cells.


scVelo on the cover of Nature Biotechnology 2020-12-01

Scanpy’s counterpart for RNA velocity, scVelo, made it on the cover of Nature Biotechnology [tweet].

Scanpy selected among 20 papers for 20 years of Genome Biology 2020-08-01

Genome Biology: Celebrating 20 Years of Genome Biology selected the initial Scanpy paper for the year 2018 among 20 papers for 20 years [tweet].

COVID-19 datasets distributed as h5ad 2020-04-01

In a joint initiative, the Wellcome Sanger Institute, the Human Cell Atlas, and the CZI distribute datasets related to COVID-19 via anndata’s h5ad files: It wasn’t anticipated that the initial idea of sharing and backing an on-disk representation of AnnData would become so widely adopted. Curious? Read up more on the format.

Latest additions

Version 1.8

1.8.3 the future


Bug fixes



1.8.2 2021-11-3


  • Update conda installation instructions PR 1974 L Heumos

Bug fixes


  • Added PASTE (a tool to align and integrate spatial transcriptomics data) to scanpy ecosystem.

1.8.1 2021-07-07

Bug fixes

1.8.0 2021-06-28

Metrics module



  • Added Cubé to ecosystem page PR 1878 C Lambden

  • Added triku a feature selection method to the ecosystem page PR 1722 AM Ascensión

  • Added dorothea and progeny to the ecosystem page PR 1767 P Badia-i-Mompel


Bug fixes

  • Fix TypeError with recent versions of anndata PR 1047 P Angerer

  • Fix detection of whether IPython is running PR 1844 I Virshup

  • Fixed reproducibility of (added random_state) PR 1858 I Kucinski

  • Fixed errors and warnings from embedding plots with small numbers of categories after sns.set_palette was called PR 1886 I Virshup

  • Fixed handling of gene_symbols argument in a number of* functions PR 1529 F Ramirez I Virshup

  • Fixed handling of use_raw for when no .raw is present PR 1895 I Virshup

  • now works for raw=False PR 1669 M van den Beek

Development processes

  • Switched to flit for building and deploying the package, a simple tool with an easy to understand command line interface and metadata PR 1527 P Angerer

  • Use pre-commit for style checks PR 1684 PR 1848 L Heumos I Virshup