[!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
- 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}
}
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file earthkit_hydro-1.4.0.tar.gz.
File metadata
- Download URL: earthkit_hydro-1.4.0.tar.gz
- Upload date:
- Size: 4.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
533677c1a61432882c9c509de4a277738879568f79c0be4b775e49acd93f8507
|
|
| MD5 |
a4ab8ccfd8fca9ca59b476094b41e455
|
|
| BLAKE2b-256 |
3bc460313e3f7f69a9f534cf115ecf6bf1cebd71292e35f0827ceadd01cdea0a
|
File details
Details for the file earthkit_hydro-1.4.0-py3-none-any.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-py3-none-any.whl
- Upload date:
- Size: 94.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8be01b2dedd1a8e62c30de6d6527e0f93118bbb7e8814f4f6e135e3d271d78d
|
|
| MD5 |
648a6798d9e651f6c227a7460d4c2b1f
|
|
| BLAKE2b-256 |
5fb57e8c2e5d95aa0e388cb4a2efec8a8bcf2c71d7dc3203d01e004e7aafaf5b
|
File details
Details for the file earthkit_hydro-1.4.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 345.6 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49ba6e8bd0dfc8d60a0a84c057ce1903ed405448c365f3227a20f3dbf2e3a973
|
|
| MD5 |
f44cc844b6ad314cb8cbb5d64590086c
|
|
| BLAKE2b-256 |
dfa20d8f2f678a4986bcfdb3dd154f6365414e0429a0af793655de75e3e887ca
|
File details
Details for the file earthkit_hydro-1.4.0-cp314-cp314-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp314-cp314-win32.whl
- Upload date:
- Size: 335.5 kB
- Tags: CPython 3.14, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f0422595875cfd0ae016324bd07606b8167202275d59c6d1fa4032ffd70bb98
|
|
| MD5 |
5712592514cf92cdfebb9fb1ad1d9325
|
|
| BLAKE2b-256 |
4ff31d4dbe74d49bdf0e286542c3a40f0770e7b69d5b70847f8f34b106b6e825
|
File details
Details for the file earthkit_hydro-1.4.0-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 511.1 kB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da1cdc6b702567896a1fcff3b0a9453c8c9f3253e8fa6ca8ec10fca54e8ee233
|
|
| MD5 |
455c7c717120944726d77618cce3bc81
|
|
| BLAKE2b-256 |
660a58ddeb3e0ca47c4261c30b8e25e7561e8a57f5b26c1c15c4d90e479560c7
|
File details
Details for the file earthkit_hydro-1.4.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 455.9 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdfb01de0021af7d606a82ec56d46e56831c7abd9f5b910fa2e9076ca3b5a89c
|
|
| MD5 |
79ffd25443fcbc813f180c13124f3291
|
|
| BLAKE2b-256 |
e4dd15dc4f97639d2348b332f97f6f354bee09e4bb5c1575e19458e57d083d24
|
File details
Details for the file earthkit_hydro-1.4.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 335.6 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82a3b4f7c736c16e230d19c062d309b4b76c5d213724222d0acafdf6007847ba
|
|
| MD5 |
514337cf78a34b357db86aedfec91313
|
|
| BLAKE2b-256 |
b04cc267233da250ec0e61d4cfc3bbeb429d090e98a837eb14d53d3a8eb2595d
|
File details
Details for the file earthkit_hydro-1.4.0-cp313-cp313-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp313-cp313-win32.whl
- Upload date:
- Size: 329.6 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3ae1e9093a202f1297abe4d028a5dd1ba78d41b6d2435da4af97565551688ba
|
|
| MD5 |
41b371ff0c66be734e635f4e1f0e7cae
|
|
| BLAKE2b-256 |
2f2ad170a4a4849fa672bce8a48015cb84fd1a6cfd1cd1c92bec22942bfc38a3
|
File details
Details for the file earthkit_hydro-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 509.9 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c205276a719c1262ecf22a50c60e94e81e3f7257223cd3133b2b288a715d115
|
|
| MD5 |
3bd29c4c3811308593acd250a85ca86d
|
|
| BLAKE2b-256 |
45d7e6767ed0a7db11e829fa5a3ea25804a895b767328a43ec1678962649460f
|
File details
Details for the file earthkit_hydro-1.4.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 454.9 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f9b917bcc4f7077db6aa0bb7e30f1cee76fdd39f507e2a84a10404a89df26c3
|
|
| MD5 |
cd60bb617be2c57b075bd98546ed3789
|
|
| BLAKE2b-256 |
41ddcb087ec7a59c7a1683c8a9f575577ee08599ba277f67fae4bcb05861c894
|
File details
Details for the file earthkit_hydro-1.4.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 336.1 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0b09e67ecbee479d87857f9f9b8568eefb05b49c1119da9ab9828cd2009cd0e
|
|
| MD5 |
dfb7903f0fcef1336b3a3cd4fa4e99d0
|
|
| BLAKE2b-256 |
4c8dda397c032d3df701bfeccaa93b1eafe0493658dd29fb8d0473e3434cc2d0
|
File details
Details for the file earthkit_hydro-1.4.0-cp312-cp312-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp312-cp312-win32.whl
- Upload date:
- Size: 329.7 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4269889aa271ab14b77a67372ddcb63cde5519a8a1d992243a6449ce853ad8f5
|
|
| MD5 |
1adfa6627642c9767d9b224db063ef28
|
|
| BLAKE2b-256 |
d32179638db8884f19418e326abc2e0bdc0b7e598c27616e829c98eae13389dc
|
File details
Details for the file earthkit_hydro-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 509.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f97e083dd2eedc0898483736ed962e1158209a6656df1273528564ca3f2d1ff
|
|
| MD5 |
8943521ca9bfbecf5d02878bb6690c5e
|
|
| BLAKE2b-256 |
1ba329cd1dc29e73c46fef0a4f1456487d233dbbbe4c200aaa021a29d46338f8
|
File details
Details for the file earthkit_hydro-1.4.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 455.0 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c99c43f5a5119833ecb1ece0331e7b62d2182be43e7532fe735bf21e20cf32f
|
|
| MD5 |
d3fc9cf5177fef9723c62e16ff615883
|
|
| BLAKE2b-256 |
79a60fccfceea968b3745f08984e375776d2a2186774626ac5a02c4296ef97a8
|
File details
Details for the file earthkit_hydro-1.4.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 339.6 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e98985effce1ab607939c32e81f44576daff2622d2769c8391be6cac330a2e43
|
|
| MD5 |
7bf75c653a7a0bbe731b651cd8e08f09
|
|
| BLAKE2b-256 |
d5e8792e1f5d1cc31619d6bfc2bc647a8d3ff7ff5c3e20ddc22d5c5658dbd410
|
File details
Details for the file earthkit_hydro-1.4.0-cp311-cp311-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp311-cp311-win32.whl
- Upload date:
- Size: 333.0 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d49c9a6707980fc85ae2b1fc7907fa79214d70131160fa0e50ec24e711acac9a
|
|
| MD5 |
86c99caf0932f1c48557e5401cd834c8
|
|
| BLAKE2b-256 |
d21a5eec73873aeb04631ca79c7cb20d0cea61b1b41f037b7021461ed5173f9a
|
File details
Details for the file earthkit_hydro-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 514.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0021b8d4aeee210c145416a6a107483a42e5305103c3a1ba35ae7fb3af40d2e9
|
|
| MD5 |
ac95014cf0e45d00a18f161485e94b7d
|
|
| BLAKE2b-256 |
0584c405081af36bb0dd1526f023a940d79dec8d8218c68c33a88f1cfd3bbc68
|
File details
Details for the file earthkit_hydro-1.4.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 459.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81f69c11e97923e303cb810c3457c6931508aaefa3beeaeb6ab905a729df3f99
|
|
| MD5 |
eee5f9717a9ba7d4b7cfbcb1d9960d09
|
|
| BLAKE2b-256 |
c7129a2324d8202a400a02db0e647e02921fcce9a0e64a2495b9b53e1ff6f26a
|
File details
Details for the file earthkit_hydro-1.4.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 339.7 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d20908574d4553ff2b980e5dd05e165f4e997b50451faf9919cd86702434247
|
|
| MD5 |
6719bd6c564a7ad89f3137c124496478
|
|
| BLAKE2b-256 |
5944718c94ce5bcb3bdb541411b21088972bca0c5f374e5f8cdc0df82c7698b5
|
File details
Details for the file earthkit_hydro-1.4.0-cp310-cp310-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp310-cp310-win32.whl
- Upload date:
- Size: 333.1 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2398b88e7b4608cbaf6683155b1d3a2fbcd1beb0c9701651cf25f8093079f1a
|
|
| MD5 |
4ff8b5f84fa940b493aa203f1e8ce7c8
|
|
| BLAKE2b-256 |
bda2db6b68792bbd645b63c8a80b57d810d9010d619aee53a51020cc23bae73e
|
File details
Details for the file earthkit_hydro-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 514.6 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec45f0b022213044899ca294387d717cb9d08f755f0d55145f0f3b0582d34a48
|
|
| MD5 |
c799c15450403863e8547da64e46a938
|
|
| BLAKE2b-256 |
c90bb026221ae774303088c41e18d889f0da64f2ff2861bab8f410c59c5376ea
|
File details
Details for the file earthkit_hydro-1.4.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.4.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 459.5 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1efd88833581126a213d283134213de0aef51f1e88aa43056841b752802a5ab6
|
|
| MD5 |
fc48a0aa599e1f16be99af2e120a1f69
|
|
| BLAKE2b-256 |
93a184d06bbbd6a76c9e22ea2088c37180efae2fdfe5baa2e1d2cb000e434c3f
|