NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4814 most downloaded on PyPI
Single-Cell Analysis in Python.
Last release 21 days ago
28 Aug 2026
Ships fairly regularly
a new release about every 6 weeks
Most releases are documented
notes for 48 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
97 releases · first in 2017
- leiden() wraps the recent graph clustering package by Traag et al. [ 2019 ] K Polanski
leiden() wraps the recent graph clustering package by Traag et al. [ 2019 ] K Polanski
bbknn() wraps the recent batch correction package [ Polański et al. , 2019 ] K Polanski
calculate_qc_metrics() caculates a number of quality control metrics, similar to calculateQCMetrics from Scater [ McCarthy et al. , 2017 ] I Virshup
(v1.3.4)=
2018-11-24~scanpy.tl.leiden wraps the recent graph clustering package by {cite:t}Traag2019 {smaller}K Polanski~scanpy.external.pp.bbknn wraps the recent batch correction package {cite:p}Polanski2019 {smaller}K Polanski~scanpy.pp.calculate_qc_metrics caculates a number of quality control metrics, similar to calculateQCMetrics from Scater {cite:p}McCarthy2017 {smaller}I VirshupOne column per quarter.
- a fully distributed preprocessing backend T White and the Laserson Lab
a fully distributed preprocessing backend T White and the Laserson Lab
read_10x_h5() and read_10x_mtx() read Cell Ranger 3.0 outputs #334 Q Gong
Note
Also see changes in anndata 0.6.
changed default compression to None in write_h5ad() to speed up read and write, disk space use is usually less critical
performance gains in write_h5ad() due to better handling of strings and categories S Rybakov
(v1.3.3)=
2018-11-05T White and the Laserson Lab~scanpy.io.read_10x_h5 and {func}~scanpy.io.read_10x_mtx read Cell Ranger 3.0 outputs {pr}334 {smaller}Q Gong#### Also see changes in anndata 0.6.
- changed default compression to `None` in {meth}`~anndata.AnnData.write_h5ad` to speed up read and write, disk space use is usually less critical
- performance gains in {meth}`~anndata.AnnData.write_h5ad` due to better handling of strings and categories {smaller}`S Rybakov`
Nothing published for this version
- Scanpy and AnnData support loom’s layers so that computations for single-cell RNA velocity [ La Manno et al. , 2018 ] become feasible S Rybakov and
Scanpy and AnnData support loom’s layers so that computations for single-cell RNA velocity [ La Manno et al. , 2018 ] become feasible S Rybakov and V Bergen
scvelo harmonizes with Scanpy and is able to process loom files with splicing information produced by Velocyto [ La Manno et al. , 2018 ] , it runs a lot faster than the count matrix analysis of Velocyto and provides several conceptual developments
dotplot() for visualizing genes across conditions and clusters, see here #199 F Ramirez
heatmap() for pretty heatmaps #175 F Ramirez
violin() produces very compact overview figures with many panels #175 F Ramirez
magic() for imputation using data diffusion [ van Dijk et al. , 2018 ] #187 S Gigante
sc.external.pp.dca for imputation and latent space construction using an autoencoder [ Eraslan et al. , 2019 ] #186 G Eraslan
(v1.3.1)=
2018-09-03LaManno2018LaManno2018 become feasible {smaller}S Rybakov and V BergenLaManno2018, it runs a lot faster than the count matrix analysis of Velocyto and provides several conceptual developmentspl-generic)~scanpy.pl.dotplot for visualizing genes across conditions and clusters, see here {pr}199 {smaller}F Ramirez~scanpy.pl.heatmap for pretty heatmaps {pr}175 {smaller}F Ramirez~scanpy.pl.violin produces very compact overview figures with many panels {pr}175 {smaller}F Ramirezexternal <../external/index>:~scanpy.external.pp.magic for imputation using data diffusion {cite:p}vanDijk2018 {pr}187 {smaller}S Gigantesc.external.pp.dca for imputation and latent space construction using an autoencoder {cite:p}Eraslan2019 {pr}186 {smaller}G EraslanNothing published for this version
Nothing published for this version
- highest_expr_genes() for quality control; plot genes with highest mean fraction of cells, similar to plotQC of Scater [ McCarthy et al. , 2017 ] #16
highest_expr_genes() for quality control; plot genes with highest mean fraction of cells, similar to plotQC of Scater [ McCarthy et al. , 2017 ] #169 F Ramirez
(v1.2.1)=
2018-06-08pl-generic marker genes and quality control.~scanpy.pl.highest_expr_genes for quality control; plot genes with highest mean fraction of cells, similar to plotQC of Scater {cite:p}McCarthy2017 {pr}169 {smaller}F Ramirez- paga() improved, see PAGA ; the default model changed, restore the previous default model by passing model='v1.0'
paga() improved, see PAGA ; the default model changed, restore the previous default model by passing model='v1.0'
(v1.2.0)=
2018-06-08~scanpy.tl.paga improved, see PAGA; the default model changed, restore the previous default model by passing model='v1.0'Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
- embed cells using umap() [ McInnes et al. , 2018 ] #92 G Eraslan
embed cells using umap() [ McInnes et al. , 2018 ] #92 G Eraslan
score sets of genes, e.g. for cell cycle, using score_genes() [ Satija et al. , 2015 ] : notebook
(v0.4.4)=
2018-02-26~scanpy.tl.umap {cite:p}McInnes2018 {pr}92 {smaller}G Eraslan~scanpy.tl.score_genes {cite:p}Satija2015:
notebook- clustermap() : heatmap from hierarchical clustering, based on seaborn.clustermap() [ Waskom et al. , 2016 ] A Wolf
clustermap() : heatmap from hierarchical clustering, based on seaborn.clustermap() [ Waskom et al. , 2016 ] A Wolf
only return matplotlib.axes.Axes in plotting functions of sc.pl when show=False , otherwise None A Wolf
(v0.4.3)=
2018-02-09~scanpy.pl.clustermap: heatmap from hierarchical clustering,
based on {func}seaborn.clustermap {cite:p}Waskom2016 {smaller}A Wolfmatplotlib.axes.Axes in plotting functions of sc.pl
when show=False, otherwise None {smaller}A Wolf- amendments in PAGA and its plotting functions A Wolf
Nothing published for this version
Nothing published for this version
- finding marker genes via rank_genes_groups_violin() improved, see #51 F Ramirez
finding marker genes via rank_genes_groups_violin() improved, see #51 F Ramirez
(v0.3.2)=
2017-11-29~scanpy.pl.rank_genes_groups_violin improved,
see {issue}51 {smaller}F RamirezNothing published for this version
Nothing published for this version
Nothing published for this version
- paga() computes an abstracted, coarse-grained (PAGA) graph of the neighborhood graph A Wolf
paga() computes an abstracted, coarse-grained (PAGA) graph of the neighborhood graph A Wolf
paga_compare() plot this graph next an embedding A Wolf
paga_path() plots a heatmap through a node sequence in the PAGA graph A Wolf
(v0.2.9)=
2017-10-25~scanpy.tl.paga computes an abstracted, coarse-grained (PAGA) graph of the neighborhood graph {smaller}A Wolf~scanpy.pl.paga_compare plot this graph next an embedding {smaller}A Wolf~scanpy.pl.paga_path plots a heatmap through a node sequence in the PAGA graph {smaller}A WolfNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Scanpy includes preprocessing, visualization, clustering, pseudotime and trajectory inference, differential expression testing and simulation of gene
Scanpy includes preprocessing, visualization, clustering, pseudotime and trajectory inference, differential expression testing and simulation of gene regulatory networks. The implementation efficiently deals with datasets of more than one million cells . A Wolf, P Angerer
(v0.2.1)=
2017-07-24Scanpy includes preprocessing, visualization, clustering, pseudotime and
trajectory inference, differential expression testing and simulation of gene
regulatory networks. The implementation efficiently deals with datasets of more
than one million cells. {smaller}A Wolf, P Angerer
Your coding agent can read these notes before it upgrades. Set up the MCP server →