Delta Hydro

pysheds

Stable

Watershed delineation in pure Python — DEM conditioning to catchment boundary in a dozen lines.

Pricing
Open Source
License
GPL-3.0
Commercial use
Permitted
Ecosystem
Python, NumPy
Platform
Windows, macOS, Linux

Install

pip install pysheds

About pysheds

pysheds implements the core DEM hydrology chain — pit filling, depression resolution, flow direction (D8 and D-infinity), flow accumulation, catchment delineation, and distance-to-outlet — as a NumPy/Numba-accelerated Python library with a deliberately small API. Read a DEM, snap a pour point, extract a catchment: about ten lines.

For embedding delineation inside a larger Python application or batch-processing hundreds of outlets, pysheds is the lightest-weight serious option. It doesn't try to be a full terrain suite (no breaching, no lidar); WhiteboxTools complements it where conditioning gets difficult.

Where it fits in the workflow

TerrainCatchmentRainfallRunoffRoutingHydraulicsMappingReporting

Appears in collections

Alternatives to pysheds

Ranked by the topics, categories and workflow stages they share with pysheds.

HydroMT

Open Source

Deltares' Python framework that builds ready-to-run hydrological models from global and local datasets.

Hydrology & Catchment AnalysisActivePython HydrologyDEM Processing