Dependencies#

HydroMT builds on the latest packages in the scientific and geospatial python eco-system including:

  • Core libraries: xarray, rioxarray, pandas, geopandas, numpy, pyflwdir, dask, numba

  • Geospatial libraries: affine, pyproj, shapely, xugrid

  • Statistics: bottleneck, scipy

  • File I/O: fsspec, mercantile, netCDF4, pooch, pyogrio, pyarrow, pystac, rasterio, requests, universal-pathlib, xmltodict, zarr

  • Configuration and CLI tools: click, importlib-metadata, pydantic, pydantic-settings, pyyaml

  • System and support libraries: packaging, toml, tomli-w

  • Other (indirect) dependencies: aiohappyeyeballs, aiohttp, aiosignal, annotated-types, asciitree, async-timeout, attrs, branca, certifi, cftime, charset-normalizer, click-plugins, cligj, cloudpickle, contourpy, cycler, fasteners, folium, fonttools, frozenlist, geoalchemy2, geographiclib, geopy, greenlet, idna, importlib-resources, jinja2, joblib, kiwisolver, llvmlite, locket, mapclassify, markupsafe, matplotlib, multidict, networkx, numba-celltree, numcodecs, partd, pillow, platformdirs, propcache, psycopg-binary, pydantic-core, pyparsing, python-dateutil, python-dotenv, pytz, scikit-learn, six, sqlalchemy, threadpoolctl, toolz, typing-extensions, typing-inspection, tzdata, urllib3, xyzservices, yarl, zipp

HydroMT also comes with additional optional dependencies that can be installed to enable extra functionality:

  • io: gcsfs, fastparquet, openpyxl, pillow, s3fs

  • gdal: gdal

  • extra: matplotlib, pyet

  • examples: cartopy, jupyterlab, notebook

  • slim: gcsfs, fastparquet, openpyxl, pillow, s3fs, matplotlib, pyet, cartopy, jupyterlab, notebook

You can use pip to install these extra dependencies, e.g.,

pip install "hydromt[slim]"