Skip to main content

ECMWF Software EnginE Maturity Level Licence Latest Release

Installation • Documentation

[!IMPORTANT] This software is Graduated and subject to ECMWF's guidelines on Software Maturity.

earthkit-hydro is a Python library for common hydrological functions. It is the hydrological component of earthkit.

Main Features

Adapted from: doc_figure Array backends with xr
  • Catchment delineation
  • Catchment-based statistics
  • Directional flow-based accumulations
  • River network distance calculations
  • Upstream/downstream field propagation
  • Bifurcation handling
  • Custom weighting and decay support
  • Support for PCRaster, CaMa-Flood, HydroSHEDS, MERIT-Hydro and GRIT river network formats
  • Compatible with major array-backends: xarray, numpy, cupy, torch, jax, mlx and tensorflow
  • GPU support
  • Differentiable operations suitable for machine learning

Installation

For a default installation, run

pip install earthkit-hydro

Developer instructions:

For a developer setup (includes linting and test libraries), run

conda create -n hydro python=3.12
conda activate hydro
conda install -c conda-forge rust
git clone https://github.com/ecmwf/earthkit-hydro.git
cd earthkit-hydro
pip install -e .[dev]
pre-commit install

Note: this project is a mixed Rust-Python project with a pure Python fallback. To handle this, the behaviour of the install is based on an environmental variable USE_RUST, with the following behaviour

  • Not set or any other value (default behaviour): Attempts to build with Rust and if failure, skips and falls back to pure Python implementation.
  • USE_RUST=0: Builds pure Python implementation.
  • USE_RUST=1: Builds with Rust and fails if something goes wrong.

Licence

SPDX-FileCopyrightText: 2026- European Centre for Medium-Range Weather Forecasts (ECMWF)
SPDX-License-Identifier: Apache-2.0

See LICENSE for the full licence text, including ECMWF's intergovernmental notice.

Citing

If you use earthkit-hydro in your work, please consider citing

Morrison, O. M. and Carton de Wiart, C.: Introducing earthkit-hydro: an efficient graph-based library for scalable hydrological modelling and analysis, EGU General Assembly 2026, Vienna, Austria, 3–8 May 2026, EGU26-11233, https://doi.org/10.5194/egusphere-egu26-11233, 2026.

@inproceedings{Morrison2026,
  author    = {Morrison, Ois{\'\i}n M. and Carton de Wiart, Corentin},
  title     = {Introducing earthkit-hydro: an efficient graph-based library for scalable hydrological modelling and analysis},
  booktitle = {EGU General Assembly 2026},
  year      = {2026},
  series    = {EGU General Assembly Conference Abstracts},
  volume    = {EGU26-11233},
  address   = {Vienna, Austria},
  month     = may,
  doi       = {10.5194/egusphere-egu26-11233},
  url       = {https://doi.org/10.5194/egusphere-egu26-11233}
}

Metadata

Release files for earthkit-hydro 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for earthkit-hydro 1.4.0
File Size Uploaded
earthkit_hydro-1.4.0.tar.gz 4.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for earthkit-hydro 1.4.0
File
earthkit_hydro-1.4.0-py3-none-any.whl Python 3 none any Details
earthkit_hydro-1.4.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
earthkit_hydro-1.4.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
earthkit_hydro-1.4.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
earthkit_hydro-1.4.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
earthkit_hydro-1.4.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
earthkit_hydro-1.4.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
earthkit_hydro-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
earthkit_hydro-1.4.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
earthkit_hydro-1.4.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
earthkit_hydro-1.4.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
earthkit_hydro-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
earthkit_hydro-1.4.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
earthkit_hydro-1.4.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
earthkit_hydro-1.4.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
earthkit_hydro-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
earthkit_hydro-1.4.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
earthkit_hydro-1.4.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
earthkit_hydro-1.4.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
earthkit_hydro-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
earthkit_hydro-1.4.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 12.5 MB

Release files / earthkit_hydro-1.4.0.tar.gz

Download URL earthkit_hydro-1.4.0.tar.gz
Size 4.2 MB
Tags Source
SHA-256 checksum
How to use checksums
533677c1a61432882c9c509de4a277738879568f79c0be4b775e49acd93f8507
BLAKE2b-256 checksum
How to use checksums
3bc460313e3f7f69a9f534cf115ecf6bf1cebd71292e35f0827ceadd01cdea0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-py3-none-any.whl

Download URL earthkit_hydro-1.4.0-py3-none-any.whl
Size 94.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d8be01b2dedd1a8e62c30de6d6527e0f93118bbb7e8814f4f6e135e3d271d78d
BLAKE2b-256 checksum
How to use checksums
5fb57e8c2e5d95aa0e388cb4a2efec8a8bcf2c71d7dc3203d01e004e7aafaf5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp314-cp314-win_amd64.whl

Download URL earthkit_hydro-1.4.0-cp314-cp314-win_amd64.whl
Size 345.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
49ba6e8bd0dfc8d60a0a84c057ce1903ed405448c365f3227a20f3dbf2e3a973
BLAKE2b-256 checksum
How to use checksums
dfa20d8f2f678a4986bcfdb3dd154f6365414e0429a0af793655de75e3e887ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp314-cp314-win32.whl

Download URL earthkit_hydro-1.4.0-cp314-cp314-win32.whl
Size 335.5 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
4f0422595875cfd0ae016324bd07606b8167202275d59c6d1fa4032ffd70bb98
BLAKE2b-256 checksum
How to use checksums
4ff31d4dbe74d49bdf0e286542c3a40f0770e7b69d5b70847f8f34b106b6e825
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL earthkit_hydro-1.4.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 511.1 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
da1cdc6b702567896a1fcff3b0a9453c8c9f3253e8fa6ca8ec10fca54e8ee233
BLAKE2b-256 checksum
How to use checksums
660a58ddeb3e0ca47c4261c30b8e25e7561e8a57f5b26c1c15c4d90e479560c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL earthkit_hydro-1.4.0-cp314-cp314-macosx_11_0_arm64.whl
Size 455.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cdfb01de0021af7d606a82ec56d46e56831c7abd9f5b910fa2e9076ca3b5a89c
BLAKE2b-256 checksum
How to use checksums
e4dd15dc4f97639d2348b332f97f6f354bee09e4bb5c1575e19458e57d083d24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp313-cp313-win_amd64.whl

Download URL earthkit_hydro-1.4.0-cp313-cp313-win_amd64.whl
Size 335.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
82a3b4f7c736c16e230d19c062d309b4b76c5d213724222d0acafdf6007847ba
BLAKE2b-256 checksum
How to use checksums
b04cc267233da250ec0e61d4cfc3bbeb429d090e98a837eb14d53d3a8eb2595d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp313-cp313-win32.whl

Download URL earthkit_hydro-1.4.0-cp313-cp313-win32.whl
Size 329.6 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
d3ae1e9093a202f1297abe4d028a5dd1ba78d41b6d2435da4af97565551688ba
BLAKE2b-256 checksum
How to use checksums
2f2ad170a4a4849fa672bce8a48015cb84fd1a6cfd1cd1c92bec22942bfc38a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL earthkit_hydro-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 509.9 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0c205276a719c1262ecf22a50c60e94e81e3f7257223cd3133b2b288a715d115
BLAKE2b-256 checksum
How to use checksums
45d7e6767ed0a7db11e829fa5a3ea25804a895b767328a43ec1678962649460f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL earthkit_hydro-1.4.0-cp313-cp313-macosx_11_0_arm64.whl
Size 454.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5f9b917bcc4f7077db6aa0bb7e30f1cee76fdd39f507e2a84a10404a89df26c3
BLAKE2b-256 checksum
How to use checksums
41ddcb087ec7a59c7a1683c8a9f575577ee08599ba277f67fae4bcb05861c894
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp312-cp312-win_amd64.whl

Download URL earthkit_hydro-1.4.0-cp312-cp312-win_amd64.whl
Size 336.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a0b09e67ecbee479d87857f9f9b8568eefb05b49c1119da9ab9828cd2009cd0e
BLAKE2b-256 checksum
How to use checksums
4c8dda397c032d3df701bfeccaa93b1eafe0493658dd29fb8d0473e3434cc2d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp312-cp312-win32.whl

Download URL earthkit_hydro-1.4.0-cp312-cp312-win32.whl
Size 329.7 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
4269889aa271ab14b77a67372ddcb63cde5519a8a1d992243a6449ce853ad8f5
BLAKE2b-256 checksum
How to use checksums
d32179638db8884f19418e326abc2e0bdc0b7e598c27616e829c98eae13389dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL earthkit_hydro-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 509.9 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9f97e083dd2eedc0898483736ed962e1158209a6656df1273528564ca3f2d1ff
BLAKE2b-256 checksum
How to use checksums
1ba329cd1dc29e73c46fef0a4f1456487d233dbbbe4c200aaa021a29d46338f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL earthkit_hydro-1.4.0-cp312-cp312-macosx_11_0_arm64.whl
Size 455.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5c99c43f5a5119833ecb1ece0331e7b62d2182be43e7532fe735bf21e20cf32f
BLAKE2b-256 checksum
How to use checksums
79a60fccfceea968b3745f08984e375776d2a2186774626ac5a02c4296ef97a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp311-cp311-win_amd64.whl

Download URL earthkit_hydro-1.4.0-cp311-cp311-win_amd64.whl
Size 339.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e98985effce1ab607939c32e81f44576daff2622d2769c8391be6cac330a2e43
BLAKE2b-256 checksum
How to use checksums
d5e8792e1f5d1cc31619d6bfc2bc647a8d3ff7ff5c3e20ddc22d5c5658dbd410
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp311-cp311-win32.whl

Download URL earthkit_hydro-1.4.0-cp311-cp311-win32.whl
Size 333.0 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
d49c9a6707980fc85ae2b1fc7907fa79214d70131160fa0e50ec24e711acac9a
BLAKE2b-256 checksum
How to use checksums
d21a5eec73873aeb04631ca79c7cb20d0cea61b1b41f037b7021461ed5173f9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL earthkit_hydro-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 514.2 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0021b8d4aeee210c145416a6a107483a42e5305103c3a1ba35ae7fb3af40d2e9
BLAKE2b-256 checksum
How to use checksums
0584c405081af36bb0dd1526f023a940d79dec8d8218c68c33a88f1cfd3bbc68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL earthkit_hydro-1.4.0-cp311-cp311-macosx_11_0_arm64.whl
Size 459.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
81f69c11e97923e303cb810c3457c6931508aaefa3beeaeb6ab905a729df3f99
BLAKE2b-256 checksum
How to use checksums
c7129a2324d8202a400a02db0e647e02921fcce9a0e64a2495b9b53e1ff6f26a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp310-cp310-win_amd64.whl

Download URL earthkit_hydro-1.4.0-cp310-cp310-win_amd64.whl
Size 339.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
8d20908574d4553ff2b980e5dd05e165f4e997b50451faf9919cd86702434247
BLAKE2b-256 checksum
How to use checksums
5944718c94ce5bcb3bdb541411b21088972bca0c5f374e5f8cdc0df82c7698b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp310-cp310-win32.whl

Download URL earthkit_hydro-1.4.0-cp310-cp310-win32.whl
Size 333.1 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
c2398b88e7b4608cbaf6683155b1d3a2fbcd1beb0c9701651cf25f8093079f1a
BLAKE2b-256 checksum
How to use checksums
bda2db6b68792bbd645b63c8a80b57d810d9010d619aee53a51020cc23bae73e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL earthkit_hydro-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 514.6 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ec45f0b022213044899ca294387d717cb9d08f755f0d55145f0f3b0582d34a48
BLAKE2b-256 checksum
How to use checksums
c90bb026221ae774303088c41e18d889f0da64f2ff2861bab8f410c59c5376ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / earthkit_hydro-1.4.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL earthkit_hydro-1.4.0-cp310-cp310-macosx_11_0_arm64.whl
Size 459.5 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1efd88833581126a213d283134213de0aef51f1e88aa43056841b752802a5ab6
BLAKE2b-256 checksum
How to use checksums
93a184d06bbbd6a76c9e22ea2088c37180efae2fdfe5baa2e1d2cb000e434c3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page