0.12.0b6
Pre-release
Pre-release
Release Notes - InSituPy 0.12.0b6
PyPI: pip install insitupy-spatial==0.12.0b6
Summary
Multi-unit-layer support for the napari viewer, several data-integrity fixes, and a fail-fast
guard against accidentally re-constructing an InSituData on top of an already-saved project.
New Features
- Multiple named spatial units layers -
InSituData.unitsnow holds a
MultiSpatialUnitsDatacontainer, so a sample can carry more than one units layer (e.g.
Visium spots and niches) viaadd_units(data, key=...);crop()now crops all of them. - napari viewer - units layer selector to switch between multiple unit keys; searchable
type-ahead on the cells/units key fields; "Show" buttons gated on a valid selection.
Bug Fixes
- Fixed
InSituData(path)silently fabricating a new UID on a saved-project path; now raisesInSituDataConstructorPathErrorpointing atInSituData.read(). - Fixed cells/units shifting relative to the image after crop-by-region (negative shape bounds weren't clamped).
- Fixed
build_table()/to_anndata()silently dropping a sample when two samples shared alabel_colvalue. - Hardened
autodetect_obs_namesmatching so it no longer truncates barcodes or fails onconcat_on_diskoutput. - Fixed
InSituExperimentsubsetting inconsistency:__getitem__/query()now always return a view, and.filters.apply()now actually deep-copies. - Fixed the napari transcript viewer's thread-race
IndexErrorand a point-size inconsistency. - Fixed a zoom-out border artifact on cells-as-points and Transcripts layers (napari 0.7 default).
- Fixed cell/nucleus label mis-coloring in the napari viewer after filtering without
sync(). - Fixed a hidden units layer staying hidden after re-selecting its key.
- Fixed two bugs in the units save/load path (missing attribute; mismatched on-disk format).
Breaking Changes
build_table()/to_anndata()unique-obs_namesshape unified: both methods now append the uid ("{name}-{uid}") instead ofin_memoryprepending a positional index.import_from_anndata'sstrip_uid_prefixparameter renamed toautodetect_obs_names(no deprecated alias).
Dependency Changes
- napari bumped to
>=0.7.0,<0.8.0. - Python floor raised to
>=3.12.0,<4.0(required byzarr>=3.2.1).
Internal
- Stopped tracking
.mcp.json; documented self-serve MCP client setup for contributors. - Revised the MCP Server tutorial; synced its Python version reference to 3.13.
Full Changelog: 0.12.0b5...0.12.0b6