# 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 — all optional, install manually if needed
# pip install scikit-learn mlflow xgboost optuna

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

# Basic dependencies for vendorized imputegap (non-ML parts)
# NOTE: pycatch22 is NOT listed here — it cannot be reliably installed via pip
# on all platforms.  Install it with conda before using imputation:
#   conda install -c conda-forge pycatch22
# All other imputation extras are available via:
#   pip install climdata[impute]        # base imputation stack
#   pip install climdata[torch]         # PyTorch-based methods (BRITS, GRIN, etc.)
#   pip install climdata[ml]            # scikit-learn / mlflow / xgboost / optuna
#   pip install climdata[impute,torch,ml]  # everything
toml
pytest
xlsxwriter
types-toml
types-setuptools
wheel
statsmodels
plotly
ujson
ipdb
tables
# Optional imputation backends — install via: pip install climdata[impute,torch,ml]
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
