You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
scanpy 1.13 reorganized its plotting internals, breaking spatialdata-plot
on pre-release scanpy. Consolidate every reliance on scanpy internals into
one version-tolerant module, _scanpy_compat, that imports each symbol from
the new location with a fallback to the old:
- palettes default_20/28/102 scanpy.plotting.palettes -> .legacy.palettes
- _add_categorical_legend scanpy.plotting._tools... -> .legacy._tools...
- add_colors_for_categorical_... scanpy.plotting._utils -> .legacy._utils
- vector_friendly() settings._vector_friendly removed in 1.13; default False
Route all src call sites (render.py, utils.py, _color.py, _palette.py) and
the one test that referenced scanpy's palette module (test_palette.py)
through _scanpy_compat. The settings import uses the stable public
`from scanpy import settings`, and the fallbacks catch ModuleNotFoundError
(not the broader ImportError) so a broken-but-present legacy module surfaces
instead of being silently masked.
Behaviour is unchanged: relocated palettes/helpers are frozen copies
(identical values and signatures). vector_friendly() keeps honouring
sc.set_figure_params on older scanpy and defaults to False on >=1.13 where
the flag no longer exists.
Verified: passes on scanpy 1.11.4 (fallback) and 1.13.0a1 (legacy path);
CI py3.14-pre is green (882 passed).
0 commit comments