From b300a27fc757930af133b2dba0cd4efbfcf2c5ff Mon Sep 17 00:00:00 2001 From: "Philipp A." Date: Fri, 25 Apr 2025 16:18:00 +0200 Subject: [PATCH 1/2] Support older anndata versions --- src/fast_array_utils/types.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/fast_array_utils/types.py b/src/fast_array_utils/types.py index 8efbe9a..ac88853 100644 --- a/src/fast_array_utils/types.py +++ b/src/fast_array_utils/types.py @@ -95,7 +95,10 @@ if TYPE_CHECKING or find_spec("anndata"): - from anndata.abc import CSCDataset, CSRDataset # type: ignore[import-untyped] + try: + from anndata.abc import CSCDataset, CSRDataset # type: ignore[import-untyped] + except ImportError: # anndata < 0.11 + from anndata import CSCDataset, CSRDataset # type: ignore[import-untyped] else: # pragma: no cover CSRDataset = type("CSRDataset", (), {}) CSCDataset = type("CSCDataset", (), {}) From 11192a051d3a5cb1106e97ed01cbe3676f94db0b Mon Sep 17 00:00:00 2001 From: "Philipp A." Date: Fri, 25 Apr 2025 16:27:18 +0200 Subject: [PATCH 2/2] actually skip them --- src/fast_array_utils/types.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/fast_array_utils/types.py b/src/fast_array_utils/types.py index ac88853..cc78dd9 100644 --- a/src/fast_array_utils/types.py +++ b/src/fast_array_utils/types.py @@ -94,14 +94,14 @@ ZarrArray.__module__ = ZarrGroup.__module__ = "zarr" -if TYPE_CHECKING or find_spec("anndata"): - try: - from anndata.abc import CSCDataset, CSRDataset # type: ignore[import-untyped] - except ImportError: # anndata < 0.11 - from anndata import CSCDataset, CSRDataset # type: ignore[import-untyped] +if TYPE_CHECKING: + from anndata.abc import CSCDataset, CSRDataset # type: ignore[import-untyped] else: # pragma: no cover - CSRDataset = type("CSRDataset", (), {}) - CSCDataset = type("CSCDataset", (), {}) - CSRDataset.__module__ = CSCDataset.__module__ = "anndata.abc" + try: # only exists in anndata 0.11+ + from anndata.abc import CSCDataset, CSRDataset # type: ignore[import-untyped] + except ImportError: + CSRDataset = type("CSRDataset", (), {}) + CSCDataset = type("CSCDataset", (), {}) + CSRDataset.__module__ = CSCDataset.__module__ = "anndata.abc" CSDataset = CSRDataset | CSCDataset """Anndata sparse out-of-core matrices."""