Release notes#

Version 0.15.0#

0.15.3 the-future#

Features

  • Add Mixscape for GPU-accelerated Mixscape (perturbation_signature, mixscape, mixscale, lda) pr688 S Dicks

Performance

  • Batched cuSOLVER precision-Cholesky for the full-covariance GMM (gmm_fit_predict), ~2-3x faster pr688 S Dicks

  • Distance with metric="edistance" now accepts sparse CSR input (a sparse layer or layer_key="X"), densified inside the CUDA kernel so the dense matrix is never materialized on the GPU pr689 S Dicks

0.15.2 2026-06-03#

Features

  • Add GPU-accelerated GuideAssignment (assign_by_threshold, assign_to_max_guide, assign_mixture_model), mirroring pertpy.pp.GuideAssignment pr637 S Dicks

  • Add pseudobulk based distance metrics to Distance: euclidean, root_mean_squared_error, mse, mean_absolute_error, pearson_distance, cosine_distance, r2_distance. Matches pertpy.tl.Distance pr676 S Dicks

  • Add bootstrap support (bootstrap=True) to the pseudobulk distance metrics of Distance for pairwise and onesided_distances, plus array-level Distance.bootstrap. Each iteration resamples cells per group on the GPU and recomputes the group-mean distances pr684 S Dicks

  • Add wasserstein metric to Distance pr683 S Dicks

  • tl.draw_graph now exposes the random_state parameter of cugraph.layout.force_atlas2 pr681 J Pintar

Performance

  • aggregate() only computes the buffers the requested metrics need via metric-templated CUDA kernels, up to ~3.7x faster for single-metric requests on sparse data pr685 S Dicks

Bug fixes

  • Fixes per-batch clip threshold in pp.highly_variable_genes(flavor="pearson_residuals", batch_key=...): each batch now uses its own sqrt(n_cells_in_batch) instead of silently reusing the first batch’s value pr674 A Mikaeili

  • Distance drops unused (zero-cell) groupby categories for all metrics; edistance previously returned NaN for empty categories pr683 S Dicks

  • The rapids-singlecell-cu12 Docker image is pinned back to cuda-version=12.8 so it no longer pulls CUDA 13 RAPIDS binaries (cuda-bindings 13.x) and works on driver 535+ again; the image build now fails fast if CUDA 12/13 packages are mixed pr686 S Dicks

0.15.1 2026-05-20#

Features

  • Add rsc.gr.calculate_niche with flavors neighborhood, utag , and cellcharter. Mirrors squidpy.gr.calculate_niche pr644 S Dicks

  • Add a minimal full-covariance GMM (squidpy_gpu._gmm.gmm_fit_predict) used by the cellcharter pr644 S Dicks

  • tl.leiden and tl.louvain now record the final modularity value in adata.uns[key_added]["modularity"] (scalar for a single resolution, list for multiple resolutions) pr648 J Pintar

  • Add 64-bit indptr/indices support throughout the sparse pipeline. Nanobind CUDA kernels are now templated on the index dtype with bindings registered for both int32 and int64, enabling datasets with nnz > 2³¹-1 once CuPy ships int64 sparse support pr620 S Dicks

Bug fixes

  • Fixes tl.rank_genes_groups returning NaN/zero logfoldchanges/pvals with groups=[subset] and reference='rest' pr651 S Dicks

  • Fixes pp.bbknn connectivities diverging from upstream bbknn: per-batch neighbours are now sorted by distance before fuzzy_simplicial_set (so weights no longer collapse near 1.0), and the default trim matches upstream (10 * neighbors_within_batch * n_batches). Trimming kernel no longer crashes for large trim, and a new block-cooperative sort kernel is auto-dispatched for large trim for substantial speedups pr659 S Dicks

  • Fixes float64 precision loss in pp.normalize_pearson_residuals on CSR/CSC input pr658 A Mikaeili & S Dicks

  • Fixes Harmony CUDA kernels to avoid misaligned vector loads on odd-PC or offset-contiguous inputs and prevent a shared-memory race in column-sum reductions. pr668 S Dicks

  • Fixes indexing issues for very large datasets. pr670 S Dicks

  • Fixes integer overflows in co_occurrence for very large datasets pr671 S Dicks

Misc

  • Tidy _check_gpu_X return value on the canonicalizing branch pr664 S Dicks

  • adata.uns[key_added]["params"]["resolution"] is now stored as a scalar float when a single resolution is passed to tl.leiden and tl.louvain to match behaviour in Scanpy, and as a list when multiple resolutions are passed. Previously it was always stored as a list. pr648. J Pintar

  • Drop dependency on cuml.thirdparty_adapters.check_array (removed in cuml 26.06); init_pos validation in tl.umap and tl.draw_graph is now handled locally pr660 S Dicks

  • Unify cuBLAS handle creation across GMM and harmony pr662 S Dicks

  • Use C++ math overloads in templated CUDA kernels and switch 1/sqrt to rsqrt where precision-tolerant pr666 S Dicks

0.15.0 2026-04-30#

Features

  • Replaces CuPy RawKernel infrastructure with precompiled nanobind/CUDA C++ extensions pr455 S Dicks

    All GPU kernels are now compiled at build time via scikit-build-core instead of JIT-compiled on first call, eliminating startup latency and CuPy kernel cache issues across CUDA/driver upgrades. Prebuilt wheels are available on PyPI as rapids-singlecell-cu12 (CUDA 12) and rapids-singlecell-cu13 (CUDA 13) for both x86_64 and aarch64 — no CUDA toolkit or nvcc required for installation.

    nanobind’s typed array bindings enforce dtype (e.g., float32 vs float64) and memory layout (C-contiguous vs F-contiguous) at the Python/C++ boundary, catching mismatches with clear TypeError messages before they reach the GPU instead of producing silent corruption or cryptic CUDA errors.

    Kernels are now proper C++ with headers, templates, and multi-file organization, which will enable more optimized and composable functions that are entirely C++ in future releases.

  • Rewrites Harmony clustering and correction loops in C++, removing the use_gemm parameter and one-hot Phi matrix in favor of categorical indices. correction_method now defaults to None and auto-selects batched or fast based on workspace size pr578 S Dicks

  • Improves numerical accuracy and adds parameters to tl.rank_genes_groups Wilcoxon methods: uses erfc for p-values to avoid underflow, adds tie_correct and use_continuity to wilcoxon_binned, and refactors Aggregate with a unified count_mean_var() dispatcher and raw sq_sum output for GPU-resident stats computation pr585 S Dicks

  • Replace cuML KDE in tl.embedding_density with a custom CUDA kernel using covariance-aware Gaussian KDE matching scipy.stats.gaussian_kde, removing the cuML dependency and the batchsize parameter pr590 S Dicks

  • Allow multiple control groups in onesided_distances for computing energy distances against several references in a single kernel launch pr601 S Dicks

  • Add contrast_distances to EDistanceMetric for computing energy distances directly from a contrasts DataFrame pr603 S Dicks

  • Add Dask support for highly_variable_genes with flavor='seurat_v3' and flavor='seurat_v3_paper' pr616 S Dicks

  • Add Harmony2 support with stabilized diversity penalty, dynamic per-cluster-per-batch ridge regularization, and automatic batch pruning [PYM+26] pr625 S Dicks

Performance

  • Improve L2 cache efficiency in edistance and co_occurrence kernels by always tiling the smaller group into shared memory, yielding up to 5x speedup for datasets with unequal group sizes pr607 S Dicks

Bug fixes

  • Fix TypeError when using nanobind CUDA kernels with RMM managed memory (managed_memory=True). Nanobind bindings now accept both kDLCUDA and kDLCUDAManaged DLPack device types pr592 S Dicks

  • Fix multi-GPU cudaErrorLaunchFailure during cross-device result aggregation when using RMM without pool allocation for very large datasets pr594 S Dicks

  • Fix ForceAtlas2 random cell ordering by sorting positions by vertex in tl.draw_graph pr621 L Faure

Removals

  • Remove tl.mde and the pymde dependency. The function is still available in scvi-tools pr588 S Dicks

Misc

  • Refactor tl.rank_genes_groups internals to use categorical integer codes instead of boolean mask matrices pr570 S Dicks

  • Align RAPIDS 26.04 conda and CI environments with Python 3.14 pr639 S Dicks

Version 0.14.0#

0.14.1 2026-02-13#

Features

  • Adds Dask support to decoupler methods for out-of-core processing of large datasets pr558 S Dicks

  • Adds gauss (adaptive Gaussian kernel) and jaccard (PhenoGraph) connectivity methods to pp.neighbors via a new method parameter. Refactors pp.neighbors, pp.bbknn, and tl.diffmap internals with shared helper functions pr563 S Dicks

  • Adds base parameter to pp.log1p and exclude_highly_expressed/max_fraction parameters to pp.normalize_total, matching scanpy’s API pr565 S Dicks

  • Adds Dask support and categorical covariate support to pp.regress_out pr567 S Dicks

  • Adds wilcoxon_binned method to tl.rank_genes_groups — a histogram-based approximate Wilcoxon rank-sum test that supports Dask arrays pr568 S Dicks

Performance

  • Optimizes pp.harmony_integrate with a new batched correction method that processes all clusters simultaneously and multiple new CUDA-Kernels that speed up the fuzzy clustering. Changes default correction_method to "batched" pr557 S Dicks

  • Speeds up tl.rank_genes_groups for scipy sparse inputs with a parallel Numba CSR-to-CSC conversion and direct CSC indptr pointer copy for column subsetting pr560 S Dicks

Bug Fixes

  • Fixes get.aggregate with return_sparse=True failing for more than 8 groups and producing incorrect results for groups with empty categories pr559 S Dicks

  • Fixes sparse PCA gram matrix kernel producing incorrect results with unsorted CSR column indices, which becomes relevant with CuPy 14 no longer guaranteeing sorted indices in CSR matrices pr566 S Dicks

0.14.0 2026-02-02#

Features

  • Adds ptg.Distance for GPU-accelerated distance computation between groups of cells, compatible with pertpy’s Distance API pr454 S Dicks & S Özleyen

  • Adds lanczos and randomized SVD solvers for sparse PCA. Lanczos uses bidiagonalization with implicit restarts for exact results. Randomized SVD uses CholeskyQR2 orthogonalization (Tomás et al. 2024) for fast approximate results pr544 S Dicks

  • Added support for tl.rank_genes_groups with methods logreg & wilcoxon pr502 S Dicks & E Fleischel

  • Adds t-test and t-test_overestim_var methods to tl.rank_genes_groups with Dask support and mask_var parameter pr549 S Dicks

  • Adds multi-GPU support to ptg.Distance for edistance computation pr545 S Dicks

  • Adds multi-GPU support to gr.co_occurrence with an optimized kernel pr546 S Dicks

  • Adds multi-GPU support to gr.spatial_autocorr for permutation tests pr555 S Dicks

Performance

  • Optimizes pp.highly_variable_genes with flavor="pearson_residuals" (Welford’s single-pass variance) pr538 S Dicks

  • Rewrites pp.highly_variable_genes with flavor="poisson_gene_selection" using using only CuPy, replacing PyTorch and Monte Carlo sampling with exact analytical formula. Adds Dask support pr541 S Dicks

Bug Fixes

  • Fixes _sparse_to_dense kernel to support matrices with >2M rows by using grid-stride loops and querying device grid dimension limits pr535 S Dicks

  • Fixes tl.draw_graph graph creation causing incorrect ForceAtlas2 layouts and AttributeError pr529 S Dicks

  • Fixes gr.spatial_autocorr sparse kernels returning inf/nan due to dtype mismatch in means array pr555 S Dicks

Misc

  • RAPIDS nightly test success is no longer required for merging pr539 S Dicks

Version 0.13.0#

0.13.5 2025-12-13#

Features

  • Adds support for multi-GPU clustering via Dask to tl.leiden and tl.louvain pr502 S Dicks

  • Adds support for specifying multiple resolutions as a list in tl.leiden and tl.louvain pr502 S Dicks

Performance

  • Improves pp.neighbors performance with all_neighbors and nn_descent when a Dask cluster is active pr499 S Dicks

Misc

  • Update Docker Container to work with CUDA-13 pr520 S Dicks

0.13.4 2025-11-12#

Features

  • Added rsc.dcg.waggr function for decoupler-GPU pr469 M Cheng

  • Added rsc.dcg.zscore function for decoupler-GPU pr470 S Kharuk

  • Support isolated vertices in nearest neighbors graph for tl.leiden and tl.louvain. pr476 J Pintar

  • In pp.neighbors set self-distances to zero where this is definitionally required by the metric, but non-zero distances are potentially returned by cuvs/cuml due to FP32 rounding. pr477 J Pintar

  • add support for scipy sparse array conversion with get pr496 S Dicks

0.13.3 2025-10-21#

Features

  • Add Multi-GPU support for pp.neighbors (requires cuvs >= 25.10) with the new algorithms mg_ivfflat, mg_ivfpq, and all_neighbors. pr465 S Dicks

Performance

  • make dcg.aucell faster using a single rank pass algorithm pr448 S Dicks

  • make FDR calculation faster and more scalable offering a new CPU and updated GPU path for dcg. pr450 S Dicks

Bug fixes

  • Updates tl.embedding_density to work with rapids-25.10 pr464 S Dicks

  • Allow for UMAP to run on larger than int32 connectivity graphspr465 S Dicks

Misc

  • Deprecate CUDA-11 and add support for CUDA-13 pr441 S Dicks

0.13.2 2025-09-02#

Features

  • adds support for sparse Truncated SVD in PCA pr438 S Dicks

  • adds support for Truncated SVD in PCA with Dask arrays (sparse and dense) pr438 S Dicks

  • enables out-of-core execution for dense Dask PCA with svd_solver = 'covariance_eigh' the new default pr438 S Dicks

Bug fixes

  • fixes a potential bug where unsorted CSR matrices could lead to instabilities pr438 S Dicks

  • Fixes a small issue with harmony pr444 S Dicks

Misc

  • All of pp.harmony_integrate’s run options are now tested against harmonypy pr444 S Dicks

0.13.1 2025-08-13#

Features

  • adds support for tl.umap to support init_pos in the form of ndarray, paga or obsm[key] pr427 S Dicks

Performance

  • speed up _get_mean_var for the minor axis of csx matrices pr423 S Dicks

  • speed up gr.co_occurrence using a csr-based scheme pr424 S Dicks

  • speed up adj_PV calculation for decoupler_gpu pr429 S Dicks

Bug fixes

  • Fixes a bug where decoupler_gpu would not work for np.ndarray pr429 S Dicks

Misc

  • refactors testing_utils pr427 S Dicks

  • updates to RAPIDS-25.08 pr428 S Dicks

  • expand documentation on out-of-core workloads and Dask pr432 S Dicks

0.13.0 2025-08-06#

Features

  • Add support for aggregate operations on CSC matrices, Fortran-ordered arrays, and Dask with sparse CSR and dense matrices pr395 S Dicks

  • Adds dask support for tl.score_genes & tl.score_genes_cell_cycle pr408 S Dicks

  • Adds dask support for tl.rank_genes_groups_logreg pr413 S Dicks

  • Updates rapids_singlecell.dcg to work with Decoupler 2.0.0 pr418 S Dicks

Performance

  • speed up pp.harmony_integrate for smaller datasets pr421 S Dicks

Bug fixes

  • Fixes a bug for _get_mean_var with dask chunk sizes pr408 S Dicks

Misc

  • Removes wsum pr418 S Dicks

  • Update decoupler-GPU demo notebook pr419 S Dicks

Version 0.12.0#

0.12.7 2025-06-10#

Features

  • Adds algorithm_kwds to pp.neighbors & pp.bbknn to fine-tune ivfflat, ivfpq & nn_descent pr381 S Dicks

Performance

  • Speed up pp.harmony_integrate even more pr379 S Dicks

Bug fixes

  • key_added will now be used as the key for .uns for tl.leiden and tl.louvain pr378 S Dicks

Misc

  • Update the docker to use python=3.13 and rapids-25.06 pr383 S Dicks

  • Update CI to run with rapids-25.06 & rapids-25.06-alpha pr383 S Dicks

0.12.6 2025-05-27#

Features

  • Allow for tl.leiden and tl.louvain to use float64 bit weights pr374 S Dicks

Bug fixes

  • Fix the bug causing pp.harmony_integrate to use the heuristic implementation instead of the benchmark one when colsum_algo is set to "benchmark" pr375 S Dicks

0.12.5 2025-05-23#

Features

  • Optimize performance of pp.harmony_integrate with integrated benchmarking for colsum_algo pr373 S Dicks

Performance

  • Make pp.regress_out more memory efficient pr370 S Dicks

  • Improves performance of pp.harmony_integrate even more for larger datasets pr373 S Dicks

Bug fixes

  • remove random_state from cuml’s PCA and TruncatedSVD pr368 S Dicks

  • fixes a error with pp.harmony_integrate where E didn’t update correctly pr373 S Dicks

Misc

  • adds tests for RAPIDS upcoming release pr368 S Dicks

0.12.4 2025-05-07#

Features

  • theta in pp.harmony_integrate can now be a list or array pr353 S Dicks

Performance

  • replace adata._sanitize for pp.highly_variable_genes. Now only batch_key column will be categorized pr355 S Dicks

  • replace adata._sanitize for tl.embedding_density. Now only groupby column will be categorized pr355 S Dicks

  • Refactored pp.harmony_integrate to be more memory efficient and faster. pr353 S Dicks

Bug fixes

  • Fixes get.X_to_CPU for dask.array pr360 S Dicks

Misc

  • Update notebooks for anndata>0.11.4 pr356 S Dicks

0.12.3 2025-04-11#

Bug fixes

  • Fixed harmony_integrate breakage caused by undocumented changes to fused kernel float handling in CuPy 13.4.1 pr351 S Dicks

0.12.2 2025-04-11#

Features

  • Adds gr.co_occurrence pr342 S Dicks

Misc

  • rsc is now tested with RAPIDS-25.04 pr349 S Dicks

  • rapids-singlecell now installs with RAPIDS-25.04 pr349 S Dicks

  • Updates the docker for RAPIDS-25.04 pr349 S Dicks

0.12.1 2025-03-10#

Features

  • Adds nn_descent algorithm for pp.neighbors pr325 S Dicks

  • Adds theta to tl.leiden pr338 S Dicks

Bug fixes

  • Fixes a bug with tl.kmeans pr338 S Dicks

Misc

  • Updates Notebooks pr325 S Dicks

  • Adds support for rapids-25.02 pr329 S Dicks

  • Updates the docker for rapids-25.02 pr329 S Dicks

  • Handles logging for rapids-25.02 pr337 S Dicks

0.12.0 2025-03-03#

Features

  • Updates pp.filter_genes & pp.filter_cells API to be closer to the scanpy implementation pr324 S Dicks

Bug fixes

  • Fixes a dtype issue with decoupler nets for optimal compatibility pr331 S Dicks

Version 0.11.0#

0.11.1 2025-01-21#

Misc

  • Pin numba<0.61.0 pr319 S Dicks

  • Update Docker to rapids-24.12 and python-3.12 pr318 S Dicks

0.11.0 2024-12-19#

Features

  • Adds support for Multi-GPU out-of-core support through Dask pr179 S Dicks, I Gold & P Angerer

  • use cuvs over raft for pp.neighbors for rapids>=24.12 pr304 S Dicks

  • switched to a different implementation of pp.harmony_integrate based on harmony-pytorch pr308 S Dicks

Misc

  • Update get_random_state for scrublet pr301 S Dicks

Version 0.10.0#

0.10.11 2024-11-12#

Features

  • Adds trim to pp.bbknn to restrict the connectivities pr285 S Dicks & P Angerer

Performance

  • make trim for pp.bbknn even faster without needing to transpose pr290 S Dicks

Misc

  • Adds support for Numpy-2.0 pr277 S Dicks

  • Adds support for rapids-24.10 pr277 S Dicks

  • Updates testing to use rapids-24.10 pr277 S Dicks

  • Updates docker image to use rapids-24.10 pr277 S Dicks

  • tl.UMAP now uses simplicial_set_embedding for rapids>=24.10 pr278 S Dicks

  • Updates docker image to use the default ENTRYPOINT pr292 N Trummer

0.10.10 2024-10-08#

Bug fixes

  • fixes a bug with the parameter dict for pp.neighbors pr270 G Pires

  • fixes a bug with the parameter dict for pp.bbknn pr271 S Dicks

0.10.9 2024-10-01#

Features

  • add key_added parameter to tl.pca, tl.tsne, and tl.umap that allows to control where to put the output within the AnnData object pr244 P Angerer

  • adds pp.bbknn using raft and cuml as the backend pr264 S Dicks

Misc

  • refactor docstrings to work better in RTD pr242 S Dicks

  • remove Conda from CI pr247 S Dicks

  • add cupy as rapids dependency pr254 S Dicks

  • refactored pp.neighbors pr264 S Dicks

0.10.8 2024-08-09#

Features

  • adds tl.score_genes pr235 S Dicks

  • adds tl.score_genes_cell_cycle pr235 S Dicks

  • adds get.X_to_GPU and get.X_to_CPU pr235 S Dicks

  • adds dcg.run_aucell pr236 S Dicks

Misc

  • updates tests to run on rapids-24.08 pr241 S Dicks

  • updates docker to on rapids-24.08 pr241 S Dicks

  • updates docker to run with cuda-12 pr241 S Dicks

0.10.7 2024-07-23#

Features

  • adds decoupler_gpu.run_ulm pr224 S Dicks

Performance

  • adds _sparse2dense for better performance pr220 S Dicks

  • refactors regress_out pr222 S Dicks

  • refactors decoupler_gpu dataloading pr224 S Dicks

  • updates regress_out for better memory use pr227 S Dicks

  • avoid .toarray() in sparse PCA transform pr228 S Dicks

Bug fixes

  • Removes support for older rapids with tl.louvain that cause issues pr226 S Dicks

0.10.6 2024-06-25#

Bug fixes

  • removes .A to be compatible with scipy 1.14.0 pr214 S Dicks

Misc

  • updates tests to work without scanpy.testing pr215 S Dicks

0.10.5 2024-06-11#

Bug fixes

  • fixes an issue with tl.umap and init_pos pr197 S Dicks

  • fixes an issue with pp.highly_variable_genes for flavor = 'seurat_v3' with sparse csc pr199 S Dicks

  • adds AnyRandom to _utils pr200 S Dicks

Misc

  • updates installer for rapids-24.06 pr205 S Dicks

0.10.4 2024-05-14#

Bug fixes

  • fixes the creation of the docker container on release pr193 T Korten (HZDR/Helmholtz AI)

0.10.3 2024-05-13#

Features

  • adds the flavor seurat_v3_paper to pp.highly_variable_genes pr170 S Dicks

  • build docker images in github CI pr177 T Korten (HZDR/Helmholtz AI)

Performance

  • updates the qc_kernel for sparse matrixes to only write once for each major axis pr169 S Dicks

  • replaces sparse matrix operations with an element-wise kernel for seurat_v3 and seurat_v3_paper. This should use less memory. pr172 S Dicks

  • pp.scale now uses cp.clip for all clipping pr173 S Dicks

  • updates pp.highly_variable_genes for the flavors seurat and cell_ranger pr183 S Dicks

  • pp.scale now uses RawKernels for dense and csr pr185 S Dicks

  • updates gr.spatial_autocorr to use a preallocation during the iterations pr188 S Dicks

  • _get_mean_var for dense input now uses cupy.ReductionKernel to improve precision and speed pr190 S Dicks

Bug fixes

  • fixes a bug where the pp.scale would have issues with int64 indexing pr187 S Dicks

0.10.2 2024-04-15#

Features

  • adds the option to return the results for get.aggregate as sparse matrices if the input is sparse pr160 S Dicks

  • adds support for rapids-24.04 pr166 S Dicks

Performance

  • for pp.scale replaces array operation with an elementwise kernel to improve memory footprint pr159 S Dicks

Bug fixes

  • fixes small bugs with pandas in ligrec pr166 S Dicks

Misc

  • moves the notebooks from docs into a submodule pr164 S Dicks

  • moves tests to rapids-24.04 pr166 S Dicks

  • unpinned pandas version pr166 S Dicks

0.10.1 2024-04-03#

Bug fixes

  • updates the behavior of _check_gpu_X for require_cf. It now only works for pearson_residuals calcs and corrects instead of throwing an error pr154 S Dicks

  • Fixes the behavior of pp.scale with mask_obs and max_value. Now only the masked part gets clipped pr158 S Dicks

Misc

  • Updates CI to work with uv pr149 S Dicks

  • Adds Codespell pr155 S Dicks

0.10.0 2024-03-26#

Features

  • added get module pr100 S Dicks

  • switch utils functions to get pr100 S Dicks

  • added get.aggregated to create condensed anndata objects pr100 S Dicks

  • added pp.scrublet and pp.scrublet_simulate_doublets pr129 S Dicks

  • adds the option to return a copied AnnData for get.anndata_to_CPU & get.anndata_to_GPU pr134 S Dicks

  • adds mask argument to pp.scale and pp.pca pr135 S Dicks

  • adds the option to run pp.scale on sparse matrixes zero_center = False without densification pr135 S Dicks

  • updated ruff and now requires parameters by name/keyword in all public APIs pr140 S Dicks

  • adds the option to run pp.harmony with np.float32 pr145 S Dicks

Bug fixes

  • Fixes an issue where pp.normalize and pp.log1p now use copy and inplace correctly pr129 S Dicks

  • changes the graph constructor for tl.leiden and tl.louvain pr143 S Dicks

  • Added a test to handle zero features, that caused issues in the sparse pp.pca pr144 S Dicks

  • Added a test to check if sparse matrices are in canonical format. For now this only affects pp.highly_variable_genes, pp.scale and pp.normalize_pearson_residuals. pr146 S Dicks

Removals

  • Removed cunnData which was deprecated in 0.9.0. Please use AnnData from now on. pr130 S Dicks

Version 0.9.0#

0.9.6#

Bug fixes

Misc

  • Updates Conda yaml file to work with rapids-24.02 pr128 S Dicks

0.9.5#

Bug fixes

  • louvain() now has backward compatibility with older rapids versions pr114 S Dicks

Misc

  • Updates Conda yaml file to work with rapids-23.12 pr114 S Dicks

0.9.4#

Features

  • leiden() now provides random_state parameter for initializing the optimization pr102 J Pintar & S Dicks

  • louvain() now provides threshold parameter for setting the minimum modularity gain between levels pr103 J Pintar & S Dicks

  • added a kernel for sparse sum along the major axis pr112 S Dicks

  • calculate_qc_metrics() now uses less atomics and global memory during kernels pr113 S Dicks

0.9.3#

Features

  • neighbors now works with raft and better supports approximate search with cagra, ivfpq and ivfflat pr89 S Dicks

  • spatial_autocorr now works with sparse data matrices without densifying. It will use the sparse matrix by default. pr93 S Dicks

Bug fixes

  • Fixes an issue where pca didn’t write all parameters pr91 S Dicks

0.9.2#

Bug fixes

  • Fixes implicit conversion issue for Umap and neighbors pr82 S Dicks

0.9.1#

Features

Misc

  • Can now be installed against CUDA11 and CUDA12 with pip pr72 S Dicks

0.9.0#

Features

  • added support for GPU enabled AnnData pr60 S Dicks

  • added support for dense cupy.ndarray pr60 S Dicks

  • added support for 64 bit floats pr60 S Dicks

  • added rapids_singlecell.utils to help with AnnData GPU conversion pr60 S Dicks

  • renamed cunndata_funcs to pp pr60 S Dicks

  • renamed scanpy_gpu to tl pr60 S Dicks

  • switched neighbors() to pp pr60 S Dicks

  • switched harmony_integrate() to pp pr60 S Dicks

  • deprecated rapids_singlecell.cunnData.cunnData pr60 S Dicks

Docs

  • updated Usage_Principles pr60 L Heumos & S Dicks

  • added a release-notes pr60 P Angerer & S Dicks

  • changed notebooks to work with anndata pr60 S Dicks

Bug fixes

  • Fix rapids_singlecell.preprocessing._utils._get_mean_var pr60 S Dicks

  • Fix harmony_integrate() reproducibility pr60 S Dicks

  • Fix dcg to work with decoupler version 1.5.0 pr60 S Dicks

Misc

  • tests now work with anndata

Version 0.8.0#

0.8.1#

Bug fixes

  • fixed rsc.tl.neighbors for rapids-23.08 pr55 S Dicks

Misc

  • switched testing to rapids-23.08 with cuda-11.8

0.8.0#

Features

  • added support for umap() pr47 S Dicks

  • added support for neighbors pr50 S Dicks

Bug fixes