Skip to main content

ECMWF Software EnginE Maturity Level Licence Latest Release

InstallationDocumentation

[!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}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

earthkit_hydro-1.4.0.tar.gz (4.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

earthkit_hydro-1.4.0-py3-none-any.whl (94.9 kB view details)

Uploaded Python 3

earthkit_hydro-1.4.0-cp314-cp314-win_amd64.whl (345.6 kB view details)

Uploaded CPython 3.14Windows x86-64

earthkit_hydro-1.4.0-cp314-cp314-win32.whl (335.5 kB view details)

Uploaded CPython 3.14Windows x86

earthkit_hydro-1.4.0-cp314-cp314-manylinux_2_28_x86_64.whl (511.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.4.0-cp314-cp314-macosx_11_0_arm64.whl (455.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

earthkit_hydro-1.4.0-cp313-cp313-win_amd64.whl (335.6 kB view details)

Uploaded CPython 3.13Windows x86-64

earthkit_hydro-1.4.0-cp313-cp313-win32.whl (329.6 kB view details)

Uploaded CPython 3.13Windows x86

earthkit_hydro-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl (509.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.4.0-cp313-cp313-macosx_11_0_arm64.whl (454.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

earthkit_hydro-1.4.0-cp312-cp312-win_amd64.whl (336.1 kB view details)

Uploaded CPython 3.12Windows x86-64

earthkit_hydro-1.4.0-cp312-cp312-win32.whl (329.7 kB view details)

Uploaded CPython 3.12Windows x86

earthkit_hydro-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl (509.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.4.0-cp312-cp312-macosx_11_0_arm64.whl (455.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

earthkit_hydro-1.4.0-cp311-cp311-win_amd64.whl (339.6 kB view details)

Uploaded CPython 3.11Windows x86-64

earthkit_hydro-1.4.0-cp311-cp311-win32.whl (333.0 kB view details)

Uploaded CPython 3.11Windows x86

earthkit_hydro-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl (514.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.4.0-cp311-cp311-macosx_11_0_arm64.whl (459.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

earthkit_hydro-1.4.0-cp310-cp310-win_amd64.whl (339.7 kB view details)

Uploaded CPython 3.10Windows x86-64

earthkit_hydro-1.4.0-cp310-cp310-win32.whl (333.1 kB view details)

Uploaded CPython 3.10Windows x86

earthkit_hydro-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl (514.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.4.0-cp310-cp310-macosx_11_0_arm64.whl (459.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Hashes for earthkit_hydro-1.4.0.tar.gz
Algorithm Hash digest
SHA256 533677c1a61432882c9c509de4a277738879568f79c0be4b775e49acd93f8507
MD5 a4ab8ccfd8fca9ca59b476094b41e455
BLAKE2b-256 3bc460313e3f7f69a9f534cf115ecf6bf1cebd71292e35f0827ceadd01cdea0a

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8be01b2dedd1a8e62c30de6d6527e0f93118bbb7e8814f4f6e135e3d271d78d
MD5 648a6798d9e651f6c227a7460d4c2b1f
BLAKE2b-256 5fb57e8c2e5d95aa0e388cb4a2efec8a8bcf2c71d7dc3203d01e004e7aafaf5b

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 49ba6e8bd0dfc8d60a0a84c057ce1903ed405448c365f3227a20f3dbf2e3a973
MD5 f44cc844b6ad314cb8cbb5d64590086c
BLAKE2b-256 dfa20d8f2f678a4986bcfdb3dd154f6365414e0429a0af793655de75e3e887ca

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.4.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 4f0422595875cfd0ae016324bd07606b8167202275d59c6d1fa4032ffd70bb98
MD5 5712592514cf92cdfebb9fb1ad1d9325
BLAKE2b-256 4ff31d4dbe74d49bdf0e286542c3a40f0770e7b69d5b70847f8f34b106b6e825

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 da1cdc6b702567896a1fcff3b0a9453c8c9f3253e8fa6ca8ec10fca54e8ee233
MD5 455c7c717120944726d77618cce3bc81
BLAKE2b-256 660a58ddeb3e0ca47c4261c30b8e25e7561e8a57f5b26c1c15c4d90e479560c7

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cdfb01de0021af7d606a82ec56d46e56831c7abd9f5b910fa2e9076ca3b5a89c
MD5 79ffd25443fcbc813f180c13124f3291
BLAKE2b-256 e4dd15dc4f97639d2348b332f97f6f354bee09e4bb5c1575e19458e57d083d24

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 82a3b4f7c736c16e230d19c062d309b4b76c5d213724222d0acafdf6007847ba
MD5 514337cf78a34b357db86aedfec91313
BLAKE2b-256 b04cc267233da250ec0e61d4cfc3bbeb429d090e98a837eb14d53d3a8eb2595d

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.4.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 d3ae1e9093a202f1297abe4d028a5dd1ba78d41b6d2435da4af97565551688ba
MD5 41b371ff0c66be734e635f4e1f0e7cae
BLAKE2b-256 2f2ad170a4a4849fa672bce8a48015cb84fd1a6cfd1cd1c92bec22942bfc38a3

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c205276a719c1262ecf22a50c60e94e81e3f7257223cd3133b2b288a715d115
MD5 3bd29c4c3811308593acd250a85ca86d
BLAKE2b-256 45d7e6767ed0a7db11e829fa5a3ea25804a895b767328a43ec1678962649460f

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f9b917bcc4f7077db6aa0bb7e30f1cee76fdd39f507e2a84a10404a89df26c3
MD5 cd60bb617be2c57b075bd98546ed3789
BLAKE2b-256 41ddcb087ec7a59c7a1683c8a9f575577ee08599ba277f67fae4bcb05861c894

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a0b09e67ecbee479d87857f9f9b8568eefb05b49c1119da9ab9828cd2009cd0e
MD5 dfb7903f0fcef1336b3a3cd4fa4e99d0
BLAKE2b-256 4c8dda397c032d3df701bfeccaa93b1eafe0493658dd29fb8d0473e3434cc2d0

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.4.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 4269889aa271ab14b77a67372ddcb63cde5519a8a1d992243a6449ce853ad8f5
MD5 1adfa6627642c9767d9b224db063ef28
BLAKE2b-256 d32179638db8884f19418e326abc2e0bdc0b7e598c27616e829c98eae13389dc

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9f97e083dd2eedc0898483736ed962e1158209a6656df1273528564ca3f2d1ff
MD5 8943521ca9bfbecf5d02878bb6690c5e
BLAKE2b-256 1ba329cd1dc29e73c46fef0a4f1456487d233dbbbe4c200aaa021a29d46338f8

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c99c43f5a5119833ecb1ece0331e7b62d2182be43e7532fe735bf21e20cf32f
MD5 d3fc9cf5177fef9723c62e16ff615883
BLAKE2b-256 79a60fccfceea968b3745f08984e375776d2a2186774626ac5a02c4296ef97a8

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e98985effce1ab607939c32e81f44576daff2622d2769c8391be6cac330a2e43
MD5 7bf75c653a7a0bbe731b651cd8e08f09
BLAKE2b-256 d5e8792e1f5d1cc31619d6bfc2bc647a8d3ff7ff5c3e20ddc22d5c5658dbd410

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.4.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d49c9a6707980fc85ae2b1fc7907fa79214d70131160fa0e50ec24e711acac9a
MD5 86c99caf0932f1c48557e5401cd834c8
BLAKE2b-256 d21a5eec73873aeb04631ca79c7cb20d0cea61b1b41f037b7021461ed5173f9a

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0021b8d4aeee210c145416a6a107483a42e5305103c3a1ba35ae7fb3af40d2e9
MD5 ac95014cf0e45d00a18f161485e94b7d
BLAKE2b-256 0584c405081af36bb0dd1526f023a940d79dec8d8218c68c33a88f1cfd3bbc68

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81f69c11e97923e303cb810c3457c6931508aaefa3beeaeb6ab905a729df3f99
MD5 eee5f9717a9ba7d4b7cfbcb1d9960d09
BLAKE2b-256 c7129a2324d8202a400a02db0e647e02921fcce9a0e64a2495b9b53e1ff6f26a

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8d20908574d4553ff2b980e5dd05e165f4e997b50451faf9919cd86702434247
MD5 6719bd6c564a7ad89f3137c124496478
BLAKE2b-256 5944718c94ce5bcb3bdb541411b21088972bca0c5f374e5f8cdc0df82c7698b5

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.4.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 c2398b88e7b4608cbaf6683155b1d3a2fbcd1beb0c9701651cf25f8093079f1a
MD5 4ff8b5f84fa940b493aa203f1e8ce7c8
BLAKE2b-256 bda2db6b68792bbd645b63c8a80b57d810d9010d619aee53a51020cc23bae73e

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec45f0b022213044899ca294387d717cb9d08f755f0d55145f0f3b0582d34a48
MD5 c799c15450403863e8547da64e46a938
BLAKE2b-256 c90bb026221ae774303088c41e18d889f0da64f2ff2861bab8f410c59c5376ea

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.4.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1efd88833581126a213d283134213de0aef51f1e88aa43056841b752802a5ab6
MD5 fc48a0aa599e1f16be99af2e120a1f69
BLAKE2b-256 93a184d06bbbd6a76c9e22ea2088c37180efae2fdfe5baa2e1d2cb000e434c3f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4.0 This release

22 files

1.3.0

22 files

1.2.0

26 files

1.1.0

26 files

1.0.0

26 files

0.1.4

32 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page