Skip to main content

ParTIpy: Pareto Task Inference in Python

codecov Documentation Status GitHub issues pre-commit.ci status

partipy (Pareto Task Inference in Python) provides a scalable and user-friendly implementation of the Pareto Task Inference (ParTI) framework (1, 2, 3, 4) for analyzing functional trade-offs in biological data, particularly in high-throughput single-cell and spatial omics data.

ParTI models gene expression variability within a cell type by capturing functional trade-offs - e.g., glycolysis vs. gluconeogenesis. The framework posits that cells lie along Pareto fronts, where improving one biological task inherently compromises another, forming a functional landscape represented as a polytope. Vertices of this polytope correspond to specialist cells optimized for distinct tasks, while generalists occupy interior regions balancing multiple functions.

To infer this structure, archetypal analysis models each cell as a convex combination of extremal points, called archetypes. These archetypes are constrained to lie within the convex hull of the data, ensuring interpretability and biological plausibility. In contrast to clustering methods that impose hard boundaries, archetypal analysis preserves the continuous nature of gene expression variability and reveals functional trade-offs without artificial discretization.

partipy integrates with the scverse ecosystem and employs coreset-based optimization for scalability to millions of cells.

Documentation

For detailed information and example tutorials, please refer to our documentation. Key resources include:

For a deeper dive into the mathematical foundations of archetypal analysis and the implementation of various initialization and optimization algorithms, see the methods section.

Installation

You need to have Python 3.10 or newer installed on your system.

There are several alternative options to install partipy:

  1. Install the latest stable release from PyPI with minimal dependencies:
pip install partipy
  1. Install the latest stable full release from PyPI with the extra dependencies (e.g., pybiomart, squidpy, liana) that are required to run every tutorial:
pip install partipy[extra]
  1. Install the latest development version:
pip install git+https://github.com/saezlab/partipy.git

Release Notes

See the changelog.

Questions & Issues

If you have any questions or issues, do not hesitate to open an issue.

Workflow Overview

ParTIpy Overview

Citation

@article{schafer2025partipy,
  title   = {ParTIpy: A Scalable Framework for Archetypal Analysis and Pareto Task Inference},
  author  = {Sch{\"a}fer, Philipp Sven Lars and Zimmermann, Leoni and Burmedi, Paul L. and Walfisch, Avia and Goldenberg, Noa and Yonassi, Shira and Shaer Tamar, Einat and Adler, Miri and Tanevski, Jovan and Ramirez Flores, Ricardo O. and Saez-Rodriguez, Julio},
  journal = {bioRxiv},
  year    = {2025},
  doi     = {10.1101/2025.09.08.674797}
}

Metadata

Release files for partipy 0.2.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 partipy 0.2.0
File Size Uploaded
partipy-0.2.0.tar.gz 16.6 MB Details

Built distribution (wheel)

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

Total release size: 16.7 MB

Release files / partipy-0.2.0.tar.gz

Download URL partipy-0.2.0.tar.gz
Size 16.6 MB
Tags Source
SHA-256 checksum
How to use checksums
961142d7d4448fe10ef0d1b125a95e3a79b617129dbb41e1c77a04120145dd82
BLAKE2b-256 checksum
How to use checksums
74b068d76b271647d2b81a2b3c8e21dcad57416332552b7f1b62ebc954a21b53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 13, 2026.

Transparency log

Release files / partipy-0.2.0-py3-none-any.whl

Download URL partipy-0.2.0-py3-none-any.whl
Size 94.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
33db20cb2e1917c818572ffcd2b3d21f5c281c8859234a3e9b333de64a2ef2bc
BLAKE2b-256 checksum
How to use checksums
c48400752d7f5a2d587a05b3d6dd9ec2a48147d1c0bab976f741691bb6ec173e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.2

2 release files

0.0.1

2 release files

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