Skip to content

Commit

Permalink
ensure optional dependencies aren't imported
Browse files Browse the repository at this point in the history
  • Loading branch information
TomNicholas committed Oct 19, 2024
1 parent 55d152d commit f6c75da
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 5 deletions.
10 changes: 9 additions & 1 deletion virtualizarr/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,16 @@
from xarray import Dataset
from xarray.core.indexes import Index

from virtualizarr.readers import *
from virtualizarr.manifests import ManifestArray
from virtualizarr.readers import (
DMRPPVirtualBackend,
FITSVirtualBackend,
HDF5VirtualBackend,
KerchunkVirtualBackend,
NetCDF3VirtualBackend,
TIFFVirtualBackend,
ZarrV3VirtualBackend,
)
from virtualizarr.utils import _FsspecFSFromFilepath, check_for_collisions

# TODO add entrypoint to allow external libraries to add to this mapping
Expand Down
10 changes: 10 additions & 0 deletions virtualizarr/readers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,13 @@
from virtualizarr.readers.netcdf3 import NetCDF3VirtualBackend
from virtualizarr.readers.tiff import TIFFVirtualBackend
from virtualizarr.readers.zarr_v3 import ZarrV3VirtualBackend

__all__ = [
"DMRPPVirtualBackend",
"FITSVirtualBackend",
"HDF5VirtualBackend",
"KerchunkVirtualBackend",
"NetCDF3VirtualBackend",
"TIFFVirtualBackend",
"ZarrV3VirtualBackend",
]
3 changes: 2 additions & 1 deletion virtualizarr/readers/fits.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from typing import Iterable, Mapping, Optional

from kerchunk.fits import process_file
from xarray import Dataset
from xarray.core.indexes import Index

Expand All @@ -27,6 +26,8 @@ def open_virtual_dataset(
indexes: Mapping[str, Index] | None = None,
reader_options: Optional[dict] = None,
) -> Dataset:
from kerchunk.fits import process_file

# handle inconsistency in kerchunk, see GH issue https://github.com/zarr-developers/VirtualiZarr/issues/160
refs = KerchunkStoreRefs({"refs": process_file(filepath, **reader_options)})

Expand Down
3 changes: 2 additions & 1 deletion virtualizarr/readers/hdf5.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from typing import Iterable, Mapping, Optional

from kerchunk.hdf import SingleHdf5ToZarr
from xarray import Dataset
from xarray.core.indexes import Index

Expand All @@ -27,6 +26,8 @@ def open_virtual_dataset(
indexes: Mapping[str, Index] | None = None,
reader_options: Optional[dict] = None,
) -> Dataset:
from kerchunk.hdf import SingleHdf5ToZarr

drop_variables, loadable_variables = check_for_collisions(
drop_variables,
loadable_variables,
Expand Down
3 changes: 2 additions & 1 deletion virtualizarr/readers/netcdf3.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from typing import Iterable, Mapping, Optional

from kerchunk.netCDF3 import NetCDF3ToZarr
from xarray import Dataset
from xarray.core.indexes import Index

Expand All @@ -27,6 +26,8 @@ def open_virtual_dataset(
indexes: Mapping[str, Index] | None = None,
reader_options: Optional[dict] = None,
) -> Dataset:
from kerchunk.netCDF3 import NetCDF3ToZarr

drop_variables, loadable_variables = check_for_collisions(
drop_variables,
loadable_variables,
Expand Down
3 changes: 2 additions & 1 deletion virtualizarr/readers/tiff.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import warnings
from typing import Iterable, Mapping, Optional

from kerchunk.tiff import tiff_to_zarr
from xarray import Dataset
from xarray.core.indexes import Index

Expand Down Expand Up @@ -29,6 +28,8 @@ def open_virtual_dataset(
indexes: Mapping[str, Index] | None = None,
reader_options: Optional[dict] = None,
) -> Dataset:
from kerchunk.tiff import tiff_to_zarr

drop_variables, loadable_variables = check_for_collisions(
drop_variables=drop_variables, loadable_variables=loadable_variables
)
Expand Down

0 comments on commit f6c75da

Please sign in to comment.