diff --git a/src/spatialdata/dataloader/__init__.py b/src/spatialdata/dataloader/__init__.py index 819ab58e..a0196f92 100644 --- a/src/spatialdata/dataloader/__init__.py +++ b/src/spatialdata/dataloader/__init__.py @@ -1,4 +1,21 @@ -try: +from __future__ import annotations + +from typing import TYPE_CHECKING, Any + +import spatialdata + +if TYPE_CHECKING: from spatialdata.dataloader.datasets import ImageTilesDataset -except ImportError: - ImageTilesDataset = None # type: ignore[assignment, misc] + +__all__ = [ + "ImageTilesDataset", +] + + +def __getattr__(attr_name: str) -> ImageTilesDataset | Any: + if attr_name == "ImageTilesDataset": + from spatialdata.dataloader.datasets import ImageTilesDataset + + return ImageTilesDataset + + return getattr(spatialdata.dataloader, attr_name)