# Core runtime dependencies for the geoai-datacubes pipeline.
# The default earthsearch provider (no credentials) only needs the packages
# below the "core" header. The sentinelhub package is only needed if you opt
# into the advanced PROVIDER="sentinelhub" path (which also requires a .env).

# --- core: needed by the default (earthsearch) pipeline ----------------------
requests
rasterio
numpy
matplotlib
tqdm
zarr
lmdb
pystac
pandas
torch
torchvision
pillow

# --- ML / DL stack used by notebooks 01 + 02 + benchmark CLIs ----------------
# Notebook 01 (LR / RF / XGB + U-Net) and notebook 02 (YOLOv8 + OWLv2 +
# HF community detector) together need this stack. Optional for users
# who only run the data-acquisition / tiling pipeline.
scikit-learn
xgboost
joblib
threadpoolctl
ultralytics                # YOLOv8 detector framework used by nb 02
transformers               # for OWLv2 zero-shot detection in nb 02
huggingface_hub            # for downloading pretrained YOLO from HF in nb 02
seaborn                    # nicer figure styling in the diagnostic cells

# --- optional / advanced (Sentinel Hub provider + .env loading) --------------
python-dotenv
sentinelhub

# --- optional (shapefile / geopackage AOI; only needed for AOI={"shapefile":..}) -
geopandas

# --- optional (OpenStreetMap basemap in the tour notebook's AOI plot) --------
# Pulls XYZ basemap tiles; not required by any pipeline module. Skip safely.
contextily
