Plugin icon

basinkit

Plugin ID: 6156

Click a river anywhere on Earth and get an analysis-ready basin package: elevation, terrain surfaces, land cover, soil, rainfall, surface water, rivers, full Horton-Strahler morphometry, a grade for whether the elevation model can carry any of it, a quality indicator for every other layer, and an eight-page report.

Download latest
Versions JSON
Latest version

Click a point on any river in the world and get the basin draining into it, then pull DEM, land cover, soil, rainfall, surface water, rivers and lakes for that basin -- clipped and masked to the polygon, not to its bounding box. No account is needed for any of it. Delineation is validated blind against 2,550 gauges in 99 countries on six continents, whose catchment areas are published by the agencies that operate them, and the plugin reports which accuracy regime an answer falls in rather than quoting a single figure: 0.3 percent median area error above 100,000 square kilometres, 1.7 percent from 2,000 to 10,000. Below about 2,000 square kilometres the DEM backend is the right instrument, and the plugin says so at the moment it matters and switches to it where the evidence supports the switch.
Other plugins delineate from a clicked point, and Sen Hydro does it well through the same public mghydro service this plugin can use. Three things here are different. The data: elevation, land cover, soil, rainfall, surface water, rivers and lakes come back as layers clipped to the polygon, not as a report. The morphometry: the full Horton-Strahler-Schumm set from one algorithm, with Strahler streams counted as streams rather than as the reaches a river dataset splits them into. And the offline path: the default backend walks the HydroBASINS level-12 graph from a cached local copy, so after the first download it needs no network at all. Every algorithm is a Processing algorithm, so batch mode, the Model Builder and qgis_process all work.
SETUP: the Python package needs Python 3.10, as geopandas 1.0 and rasterio both do, and what matters is the Python your QGIS was built against rather than the QGIS version itself. QGIS 3.34 LTR and 3.40 both ship a new enough one on every platform. The Windows and macOS builds of 3.28 shipped Python 3.9, where pip finds no release of basinkit at all, while the Debian and Ubuntu packages of the same 3.28 run on the distribution's own 3.11, where it installs normally -- so 3.28 is still offered, and the plugin answers the real question at load time by reading the running Python and saying what it found. If it reports one older than 3.10, update QGIS to 3.34 or newer. This plugin runs on the Python package "basinkit", which is installed once with pip into the Python that QGIS itself uses. The plugin detects whether it is present and prints the exact command for your installation, so setup is a single copy and paste. The surest route on every platform is from the QGIS Python Console, which installs into the interpreter QGIS imports from; note that "!pip install" works only in Jupyter, not in the QGIS console. See the plugin homepage for details.
LICENCE: the plugin is GPL-3.0-or-later. The basinkit Python package it
calls is Apache-2.0. Neither licence grants the use of the name
basinkit; a fork must carry its own.

CITATION: if basinkit contributes to published work, please cite
Kaushik, P. (2026), basinkit, doi.org/10.5281/zenodo.22181933, and
the datasets the run used. Every algorithm's help panel prints it.

THANKS: Vitor Castellar tested the QGIS algorithms against his own
reference delineations and reported the boundary and CRS failures
fixed in 0.8.3 and 0.8.4.

Version QGIS >= QGIS <= Date
0.9.2 - 3.28.0 4.99.0 88 Praddy-GByte 2026-10-17T20:33:51.663251+00:00
0.8.4 - 3.28.0 4.99.0 389 Praddy-GByte 2026-10-04T14:09:12.269045+00:00
0.8.0 - 3.28.0 4.99.0 171 Praddy-GByte 2026-09-29T16:29:23.833442+00:00
0.7.0 - 3.28.0 4.99.0 384 Praddy-GByte 2026-09-23T19:58:42.063433+00:00
0.6.1 - 3.28.0 4.99.0 441 Praddy-GByte 2026-09-21T13:50:50.448489+00:00
0.5.0 - 3.28.0 4.99.0 144 Praddy-GByte 2026-09-12T11:55:17.112839+00:00
0.4.0 - 3.28.0 4.99.0 177 Praddy-GByte 2026-09-04T17:14:04.032895+00:00
0.3.2 - 3.28.0 4.99.0 151 Praddy-GByte 2026-09-01T09:33:09.883848+00:00