Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.6] - 2026-07-08#
Fixed#
Harreman: pandas 3.0 always-on copy-on-write broke three in-place mutation sites that relied on
.valuesreturning a writable view:create_modulesraisedValueError: underlying array is read-onlyonnp.fill_diagonal; now forces a real copy viato_numpy(copy=True)run_cell_communication_analysishit the samefill_diagonalfailure on the symmetric LC Z-score matrix; now mutates a copy and writes it back via.loc[:, :]extract_lr_pairsraisedValueError: Length of indexer and values mismatchbecause pandas 3.0’s default Arrow-backed string dtype no longer allows storing variable-length arrays into single-element slots; ligand/receptor columns now useto_numpy(dtype=object, copy=True)to restore plain, guaranteed-writable object-array semantics
[0.1.5] - 2026-07-06#
Added#
Tangram model for mapping scRNA-seq to spatial transcriptomics (
scviva.external.Tangram), a PyTorch reimplementation supporting “cells” and “constrained” cell-to-spot mapping modesHarreman downstream tool for cell-cell communication and metabolic exchange analysis (
scviva.tl.harreman,scviva.pl.harreman), integrating outputs from DestVI, ResolVI, and SCVIVASpatialPredictiveMixin: unified predictive mixin shared by ResolVI and SCVIVA, replacing the ResolVI-onlyResolVIPredictiveMixinscviva.tl/scviva.pltop-level namespace aliases, mirroring scanpy’ssc.tl/sc.plconventionDedicated CI job for optional/slow integration tests (real model training)
Changed#
Package renamed from
spatialvi-toolstoscviva-toolson PyPI (import namescvivaunchanged); docs and install instructions updated accordingly
Fixed#
Tangram: gene-mismatch validation in
setup_mudata, andget_mapper_matrixfiltering underconstrained=TrueHarreman: import/namespace bugs from the initial port that made the package unimportable, plus a broken plotting accessor and a model-recognition constant typo
[0.1.3] - 2026-04-13#
Changed#
Cleanup: dropped dead code (MLflow/JAX settings, a stale config re-export, a trivial method alias, stale in-source dev comments) and simplified the lazy model map
Refactored
SCVIVA’s predictive methods to share a common decoder helper, and tidied up several module-level imports; moved a few internal modules underutils/for consistency with scvi-tools conventions
Fixed#
scikit-learn>=1.4moved from test-only to core dependencies (required by SCVIVA/ResolVI at runtime); removed redundantanndata/scanpytest-extra pins
Documentation#
Added installation guide, FAQ, API reference stubs, developer/contributing guides, and user-guide background/use-case pages
[0.1.2] - 2026-04-12#
Fixed#
RNADeconv.__init__: readmodel_kwargs['ct_weight']instead of the incorrectmodel_kwargs['ct_prop']; the mismatched key caused aKeyErrorwheneverct_weightwas passed, making class-reweighted training unusableJVAE.generative: replacey.type.squeeze(-1)withy.squeeze(-1).long()for the gene-label dispersion branch;y.typeis Python’s built-intype()bound on the tensor object, so any run withdispersion='gene-label'crashed before reaching theone_hotencodingAdded regression tests for both fixes (all 78 tests pass)
[0.1.1] - 2026-04-12#
Added#
GIMVI model for joint imputation of missing genes across paired scRNA-seq and spatial transcriptomics data, based on :cite:p:
Lopez19Stereoscope model for probabilistic cell-type deconvolution of spatial transcriptomics spots (
spatialvi.external.Stereoscope)Tutorials:
gimvi_tutorial,stereoscope_heart_LV_tutorial,cell2location_lymph_node_spatial_tutorial, andtangram_scvi_toolsRegression test suites for GIMVI and Stereoscope (upstream parity tests)
[0.1.0] - 2026-03-25#
Added#
Initial package with DestVI, ResolVI, and scVIVA models
SpatialBaseModelshared base infrastructureSpatialNeighborhoodMixinfor neighbor graph computation (squidpy + RAPIDS backends)SpatialDeconvolutionMixinfor cell-type deconvolutionSpatialData integration via
setup_spatialdata()andfrom_spatialdata()squidpy neighbor computation backend
RAPIDS acceleration backend (
backend="rapids")Custom AnnData fields:
SpatialCoordsField,NeighborhoodGraphField