Stars PyPI PyPIDownloads Docs Build Coverage Discourse Chat

Accelerated and Python-only metrics for benchmarking single-cell integration outputs.

This package contains implementations of metrics for evaluating the performance of single-cell omics data integration methods. The implementations of these metrics use JAX when possible for jit-compilation and hardware acceleration. All implementations are in Python.

Currently we are porting metrics used in the scIB manuscript (and code). Deviations from the original implementations are documented. However, metric values from this repository should not be compared to the scIB repository.

Getting started#

Please refer to the documentation.


You need to have Python 3.9 or newer installed on your system. If you don’t have Python installed, we recommend installing Miniconda.

There are several options to install scib-metrics:

  1. Install the latest release on PyPI:

pip install scib-metrics
  1. Install the latest development version:

pip install git+

To leverage hardware acceleration (e.g., GPU) please install the apprpriate version of JAX separately. Often this can be easier by using conda-distributed versions of JAX.

Release notes#

See the changelog.


For questions and help requests, you can reach out in the scverse Discourse. If you found a bug, please use the issue tracker.


References for individual metrics can be found in the corresponding documentation. This package is heavily inspired by the single-cell integration benchmarking work:

  title={Benchmarking atlas-level data integration in single-cell genomics},
  author={Luecken, Malte D and B{\"u}ttner, Maren and Chaichoompu, Kridsadakorn and Danese, Anna and Interlandi, Marta and M{\"u}ller, Michaela F and Strobl, Daniel C and Zappia, Luke and Dugas, Martin and Colom{\'e}-Tatch{\'e}, Maria and others},
  journal={Nature methods},
  publisher={Nature Publishing Group}