-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Description
Bug Description
Spateo-release v1.1.1 fails to import due to its dependency dynamo-release being incompatible with anndata v0.10+.
Error Message
ImportError: cannot import name 'read' from 'anndata'Full Error Trace
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/anaconda3/lib/python3.11/site-packages/spateo/__init__.py", line 9, in <module>
from . import align, cs, dd, io, pl, pp, sample_data, svg, tdr, tl
File "/anaconda3/lib/python3.11/site-packages/spateo/pl.py", line 1, in <module>
from .plotting import *
File "/anaconda3/lib/python3.11/site-packages/spateo/plotting/__init__.py", line 4, in <module>
from .interactive import *
File "/anaconda3/lib/python3.11/site-packages/spateo/plotting/interactive/__init__.py", line 1, in <module>
from .agg import cellbin_select, contours, select_polygon
File "/anaconda3/lib/python3.11/site-packages/spateo/plotting/interactive/agg.py", line 18, in <module>
from ..static import imshow
File "/anaconda3/lib/python3.11/site-packages/spateo/plotting/static/__init__.py", line 21, in <module>
from .three_d_plot import (
File "/anaconda3/lib/python3.11/site-packages/spateo/plotting/static/three_d_plot/__init__.py", line 1, in <module>
from .align_plots import deformation, multi_models
File "/anaconda3/lib/python3.11/site-packages/spateo/plotting/static/three_d_plot/align_plots.py", line 12, in <module>
from spateo.tdr import (
File "/anaconda3/lib/python3.11/site-packages/spateo/tdr/__init__.py", line 1, in <module>
from .interpolations import (
File "/anaconda3/lib/python3.11/site-packages/spateo/tdr/interpolations/__init__.py", line 3, in <module>
from .interpolation_sparseVFC import kernel_interpolation
File "/anaconda3/lib/python3.11/site-packages/spateo/tdr/interpolations/interpolation_sparseVFC.py", line 6, in <module>
from dynamo.vectorfield.scVectorField import SparseVFC
File "/anaconda3/lib/python3.11/site-packages/dynamo/__init__.py", line 13, in <module>
from . import pp
File "/anaconda3/lib/python3.11/site-packages/dynamo/pp.py", line 4, in <module>
from .preprocessing import *
File "/anaconda3/lib/python3.11/site-packages/dynamo/preprocessing/__init__.py", line 46, in <module>
from .CnmfPreprocessor import CnmfPreprocessor
File "/anaconda3/lib/python3.11/site-packages/dynamo/preprocessing/CnmfPreprocessor.py", line 8, in <module>
from ..data_io import make_dir, read_h5ad
File "/anaconda3/lib/python3.11/site-packages/dynamo/data_io.py", line 7, in <module>
from anndata import read
ImportError: cannot import name 'read' from 'anndata'Root Cause
This is an upstream issue in dynamo-release:
- dynamo-release v1.4.1 uses deprecated
anndata.read()API - anndata v0.10+ removed this function (Dec 2023)
- spateo-release v1.1.1 depends on dynamo-release
- Result: Spateo cannot import with modern anndata versions
The issue is in dynamo, not spateo, but it blocks all spateo users.
Environment
- spateo-release: 1.1.1 (latest)
- dynamo-release: 1.4.1 (dependency)
- anndata: 0.12.2 (latest)
- Python: 3.11.x
- OS: macOS (also affects Linux/Windows)
Reproduction Steps
# Install latest versions
pip install spateo-release
# Try to import
import spateo as st # Fails with ImportErrorMetadata
Metadata
Assignees
Labels
No labels