# This file list software dependencies.
# It can be read by `conda create -n env_name -c conda-forge --file
# requirements.txt`. I recommend setting channel priority to strict.
# `pip` should accept it as well; however, some packages may be spelled
# differently.
# Note that there is a docker repo cryoswath/cryoswath hosting VM
# images.

## cryoswath dependencies #############################################
dask
defusedxml # will be optional in future. used for additional security
geopandas>=1.0.1,<2 # implies among others: shapely
h5py>=3,<4
matplotlib>=3,<4
numpy>=2,<3
packaging<25
pandas>=2,<3
pyarrow<20
pyogrio
pyproj>=3,<4
pytables>=3,<4
python-dateutil>=2,<3
rasterio>=1,<2
rioxarray
scikit-learn>=1,<2
scipy>=1,<2
shapely>=2,<3
statsmodels
tqdm<5
xarray<2025

## cryoswath optional #################################################
# bottleneck # for numpy: speeds up NaN-skipping and rolling window aggregations by a large factor
# cartopy # for plotting
# dask # for working on data chunks
# flox # speeds up, e.g., xarray reduction operations
# ipykernel # to use jupyter notebooks in IDEs
# jupyter # to use jupyter notebooks without IDEs
# matplotlib # for plotting
# numbagg # for numpy: for exponential rolling window operations
# seaborn # for plotting
