Highlights
- Leiden now uses
cugraph.leiden(Apache-2, GPU-native) instead ofpython-igraph(GPL-2). This removes GPL-2 from the runtime dependency tree and makesnmi_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, andcudfare 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 pullcupy-cuda12x[ctk]/cupy-cuda13x[ctk], which pincuda-toolkitto the matching major and avoid ABI mismatches when installed alongsidetorch≥ 2.11 (see cupy#9827). igraphis 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
v0in the diffusion-map eigendecomposition, makingkbet_per_labelreproducible 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
pynndescentparameters withscib-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