pypi scib-rapids 0.2.0
v0.2.0

3 months ago

Highlights

  • Leiden now uses cugraph.leiden (Apache-2, GPU-native) instead of python-igraph (GPL-2). This removes GPL-2 from the runtime dependency tree and makes nmi_ari_cluster_labels_leiden ~10× faster at n=20,000 cells vs the previous igraph path. The cugraph/cudf imports are lazy so they only initialize the RMM pool when leiden actually runs and don't affect other metrics.
  • Dependency restructure (⚠️ breaking). cupy, cugraph, and cudf are no longer core dependencies. Install with a CUDA extra:
    • uv pip install 'scib-rapids[cu12]'
    • uv pip install 'scib-rapids[cu13]'
  • The [cu12] / [cu13] extras pull cupy-cuda12x[ctk] / cupy-cuda13x[ctk], which pin cuda-toolkit to the matching major and avoid ABI mismatches when installed alongside torch ≥ 2.11 (see cupy#9827).
  • igraph is removed from dependencies entirely — the base install is now cleanly BSD-3-Clause.

Other fixes since 0.1.0

  • Added eigenvector sign canonicalization and a deterministic v0 in the diffusion-map eigendecomposition, making kbet_per_label reproducible across runs.
  • Fixed numerical instability in the silhouette / pairwise-distance computation.
  • Fixed k-means OOM on high-dimensional embeddings by using squared-distance cdist instead of an (n, k, d) broadcast.
  • Sped up LISI and fixed a correctness issue.
  • Aligned pynndescent parameters with scib-metrics.
  • Installation docs updated to recommend uv pip install.

Migration

If you previously did pip install scib-rapids, switch to:

uv pip install 'scib-rapids[cu12]'   # or [cu13] for CUDA 13

Don't miss a new scib-rapids release

NewReleases is sending notifications on new releases.