# Core scientific stack
# ipython
# jupyter
openpyxl
pandas
geopandas
rioxarray
dask[complete]
cartopy
colormaps
matplotlib
scipy
# h5netcdf
# netCDF4
pymannkendall
tqdm
zarr
# ipyleaflet
wetterdienst
pint-pandas
cdsapi
isimip-client

# Workflow + config
hydra-core
aiohttp
requests
gcsfs
dask-jobqueue
seaborn

# Earth Engine / remote sensing
earthengine-api
geemap
xarray
xesmf
intake
intake-esm

# Climate/statistics packages
xsdba 
xclim
pyarrow
fastparquet

# ML stack (basic, non-torch)
mlflow
scikit-learn
xgboost  # GPU support may not work in Colab, CPU version installs fine
optuna

# Dev tools
gitpython
beautifulsoup4
google-auth
google-api-python-client
# ipdb

# Basic dependencies for vendorized imputegap (non-ML parts)
toml
shap
pycatch22
scikit-optimize
pyswarms
pytest
xlsxwriter
types-toml
types-setuptools
wheel
statsmodels
plotly
ujson
ipdb
tables
MissForest
lightgbm
einops
ray
fire
fastdtw
pyqt5

# Note: PyTorch packages (torch, torchvision, torchaudio, torch-geometric, etc.) 
# and TensorFlow are OPTIONAL and only needed for advanced imputation functionality.
# To install them with CPU support, run:
#   pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
#   pip install torch-cluster -f https://data.pyg.org/whl/torch-2.3.1+cpu.html
#   pip install pytorch-lightning torchmetrics lightning torchcde reformer-pytorch
#   pip install tensorflow darts sktime prophet tsfel tsfresh transformers timm
# For full imputation support, see: docs/installation.md#optional-imputation-dependencies
