Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 26 additions & 4 deletions src/spatialdata/dataloader/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
try:
from spatialdata.dataloader.datasets import ImageTilesDataset
except ImportError:
ImageTilesDataset = None # type: ignore[assignment, misc]
from __future__ import annotations

from typing import TYPE_CHECKING, Any

if TYPE_CHECKING:
from spatialdata.dataloader.datasets import ImageTilesDataset as _ImageTilesDataset


class ImageTilesDataset: # noqa: D101
_target_class: type[_ImageTilesDataset] | None = None

def __new__(cls, *args: Any, **kwargs: Any) -> _ImageTilesDataset: # noqa: D102
if cls._target_class is None:
try:
from spatialdata.dataloader.datasets import (
ImageTilesDataset as ActualImageTilesDataset,
)

cls._target_class = ActualImageTilesDataset

except ImportError as error:
raise ImportError(
"ImageTilesDataset could not be imported. This usually means the 'torch' dependency is missing."
) from error

return cls._target_class(*args, **kwargs)
Loading