Installation#

To begin using scdiffeq, we recommend installing from PyPI for the stable release, or from GitHub for the latest developer version.

GitHub (Developer version)#

To access the latest version of scdiffeq from GitHub, clone the repository and install the editable version. Installation generally only takes a few seconds.

Using pip#

git clone https://github.com/scDiffEq/scDiffEq.git; cd ./scDiffEq;
pip install -e .

With documentation dependencies#

If you want to build the documentation locally:

# Using uv
uv sync --extra docs

# Using pip
pip install -e ".[docs]"

Optional dependency groups#

Extra

Contents

optional

Integrations imported lazily by the features that use them: umap-learn (UMAP during preprocessing), pillow (simulation GIFs), ipython (notebook progress bars), and psutil / wandb (the MemoryMonitor callback). Install these if you use those features.

docs

Sphinx and theme packages needed to build this documentation.

test

pytest, for running the test suite.

dev

Jupyter, ipykernel, and pytest for interactive development.

# run the test suite
uv sync --extra test
uv run pytest

Network-dependent tests are marked slow and excluded by default; run them with pytest -m slow. Note that they download multi-gigabyte datasets.

Troubleshooting#

The pykeops library creates a cache. Sometimes, when you switch devices though retain the same disc (common when using a VM, for example), this cache will no longer be compatible with the installed drivers for that device. To clear and rewrite this cached, we can perform the following:

import pykeops

pykeops.clean_pykeops()