Skip to main content

Build codecov License PyPI Python Version Read the Docs Test PyPI

pertpy - Perturbation Analysis in Python

Pertpy is a scverse ecosystem framework for analyzing large-scale single-cell perturbation experiments. It provides tools for harmonizing perturbation datasets, automating metadata annotation, calculating perturbation distances, and efficiently analyzing how cells respond to various stimuli like genetic modifications, drug treatments, and environmental changes.

Please read our associated manuscript "Pertpy: an end-to-end framework for perturbation analysis".

fig1

Documentation

Please read the documentation for installation instructions, tutorials, use cases, and more.

Installation

We recommend installing and running pertpy on a recent version of Linux (e.g. Ubuntu 24.04 LTS). No particular hardware beyond a standard laptop is required.

You can install pertpy in less than a minute via pip from PyPI:

pip install pertpy

or conda-forge:

conda install -c conda-forge pertpy

JAX backed tools

pip install 'pertpy[jax]'

Required by scCODA, CINEMA-OT, scGen, MLPClassifierSpace, the "wasserstein" distance metric and the mixture model of GuideAssignment. tascCODA pulls it in via pertpy[tcoda]. Everything else works without it.

Differential gene expression

If you want to use the differential gene expression interface, please install pertpy by running:

pip install 'pertpy[de]'

tascCODA

if you want to use tascCODA, please install pertpy as follows:

pip install 'pertpy[tcoda]'

milo

milo requires either the "de" extra for the "pydeseq2" solver:

pip install 'pertpy[de]'

or, edger, statmod, and rpy2 for the "edger" solver:

BiocManager::install("edgeR")
BiocManager::install("statmod")
pip install rpy2

Citation

@article{Heumos2025,
  author    = {Heumos, Lukas and Ji, Yuge and May, Lilly and Green, Tessa D. and Peidli, Stefan and Zhang, Xinyue and Wu, Xichen and Ostner, Johannes and Schumacher, Antonia and Hrovatin, Karin and Müller, Michaela and Chong, Faye and Sturm, Gregor and Tejada, Alejandro and Dann, Emma and Dong, Mingze and Pinto, Gonçalo and Bahrami, Mojtaba and Gold, Ilan and Rybakov, Sergei and Namsaraeva, Altana and Moinfar, Amir Ali and Zheng, Zihe and Roellin, Eljas and Mekki, Isra and Sander, Chris and Lotfollahi, Mohammad and Schiller, Herbert B. and Theis, Fabian J.},
  title     = {Pertpy: an end-to-end framework for perturbation analysis},
  journal   = {Nature Methods},
  year      = {2025},
  publisher = {Springer Nature},
  doi       = {10.1038/s41592-025-02909-7},
  url       = {https://doi.org/10.1038/s41592-025-02909-7},
  issn      = {1548-7105}
}

pertpy is part of the scverse® project (website, governance) and is fiscally sponsored by NumFOCUS. If you like scverse® and want to support our mission, please consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.

Metadata

Release files for pertpy 1.5.0

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

Source distribution (sdist)

Source distribution for pertpy 1.5.0
File Size Uploaded Provenance Actions
pertpy-1.5.0.tar.gz 4.6 MB With provenance Details for pertpy-1.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pertpy 1.5.0
File Interpreter ABI Platform Actions
pertpy-1.5.0-py3-none-any.whl Python 3 none any Details for pertpy-1.5.0-py3-none-any.whl

Total release size: 5.0 MB

Release files / pertpy-1.5.0.tar.gz

Download URL pertpy-1.5.0.tar.gz
Size 4.6 MB
Tags Source
SHA-256 checksum
How to use checksums
5d3f1558c79446d85fd544bca57d40020c00da627e03ac400abbda2622118f6c
BLAKE2b-256 checksum
How to use checksums
dd9477dfdfbccd8e1f9cd7a80b734dbcdcdd263aea7b84189d9b914236a1138b
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 Nov 3, 2026.

Transparency log

Release files / pertpy-1.5.0-py3-none-any.whl

Download URL pertpy-1.5.0-py3-none-any.whl
Size 317.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2aad84a2d4d24037e09e143656326e00fc24959ecb83f9b5804809c572b99bae
BLAKE2b-256 checksum
How to use checksums
3ca8e668f44263362728d2fd6c9553a741da9c1ccbf4b97d121093e3cafe08a7
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 Nov 3, 2026.

Transparency log

Security for pertpy 1.5.0

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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pertpy-1.5.0.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 Nov 3, 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.

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files Full provenance

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