Coverage for src / eo_history / backends.py: 71%

12 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-05-12 02:10 +0000

1import os 

2 

3 

4def get_backend(prefer: str | None = None) -> str: 

5 preferred = prefer or os.environ.get("EO_HISTORY_BACKEND") 

6 candidates = [preferred] if preferred else ["rasterio", "gdal"] 

7 

8 _import_map = {"rasterio": "rasterio", "gdal": "osgeo.gdal"} 

9 

10 for name in candidates: 10 ↛ 17line 10 didn't jump to line 17 because the loop on line 10 didn't complete

11 try: 

12 __import__(_import_map[name]) 

13 return name 

14 except (ImportError, KeyError): 

15 continue 

16 

17 raise ImportError("No raster backend available.")