pourpoint
pourpoint is the Python package for the pourpoint watershed delineation engine.
Give it a point on a river and it returns the whole upstream watershed as a
polygon. It reads HFX datasets, which are folders of pre-built river-network
files. Only HFX v0.3.0 datasets load; older versions report a clear unsupported
format error.
The wheel bundles the full native stack, including GDAL, PROJ, GEOS, libtiff, SQLite, and more, so no system GDAL install is needed.
Install
uv add pourpoint
(or pip install pourpoint)
Prebuilt wheels are published for:
- macOS (Apple Silicon + Intel)
- Linux (x86_64 + aarch64)
- Windows (x86_64)
as macosx_11_0_arm64, macosx_11_0_x86_64, manylinux_2_28_x86_64, manylinux_2_28_aarch64, win_amd64.
Zero-download quickstart
Use the hosted public GRIT (Global River Topology) dataset without downloading it first:
import pourpoint
# No local dataset: this reads the hosted GRIT dataset over the network.
engine = pourpoint.Engine("https://basin-delineations-public.upstream.tech/grit/hfx-v0.3.0/")
result = engine.delineate(lat=47.3769, lon=8.5417)
print(result.area_km2)
The engine fetches only the pieces of the dataset it needs, so the full dataset never lands on your machine. The one public dataset hosted today is GRIT 2.0.0 (the source river network), compiled to HFX v0.3.0 (the format version). To use a different HFX dataset, change the URL and nothing else in your code changes.
Local quickstart
import pourpoint
engine = pourpoint.Engine("/path/to/hfx/dataset")
result = engine.delineate(lat=47.3769, lon=8.5417)
print(result.area_km2)
Engine accepts local paths and remote dataset URLs such as s3:// and
https://. For constructor options such as snap search radius and geometry
repair, see the
Tuning Knobs
section of API.md.
Reuse the Engine
The first open fetches dataset metadata over the network and is slower, so keep the engine around and reuse it. Repeated delineations in the same session reuse data already fetched, so overlapping watersheds are faster.
Going further
Logging and verbose output, batch delineation with a progress callback, the
staged step-by-step API, and GeoParquet export are documented in
API.md
and on the docs site at https://cooperbigfoot.github.io/pourpoint/.
What it does
- Finds the catchment your point sits in.
- Gathers every catchment upstream.
- Merges them into one watershed polygon.
- Returns the geometry plus geodesic area in km².
API Reference
For the full developer-oriented API surface, including argument types, return types, and the exception hierarchy, see API.md.
Links
- Source & issues: https://github.com/CooperBigFoot/pourpoint
- HFX dataset spec: https://github.com/CooperBigFoot/hfx
- License: MIT for
pourpoint; bundled native libraries retain their own licenses. SeeLICENSES/.
Metadata
Release files for pourpoint 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pourpoint-0.3.0.tar.gz | 739.8 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pourpoint-0.3.0-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| pourpoint-0.3.0-cp39-abi3-manylinux_2_28_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| pourpoint-0.3.0-cp39-abi3-manylinux_2_28_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.28+ ARM64 | Details |
| pourpoint-0.3.0-cp39-abi3-macosx_11_0_x86_64.whl | CPython 3.9 | abi3 | macOS 11.0+ x86-64 | Details |
| pourpoint-0.3.0-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 140.9 MB
Release files / pourpoint-0.3.0.tar.gz
| Download URL | pourpoint-0.3.0.tar.gz |
|---|---|
| Size | 739.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7393788dfcce173a5fd0944a04addb175eb5018ce83d94b45ca59b187c6ae7ac
|
|
BLAKE2b-256 checksum How to use checksums |
2bad6a2489f9863d8110a934df0f82fd4dc5ee454e7f016c9c7032597227379b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / pourpoint-0.3.0-cp39-abi3-win_amd64.whl
| Download URL | pourpoint-0.3.0-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 48.7 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
205977f0a86b632b0f15b2bf314f2acc4149c7579f5db73c41e8ade3ac5dedd0
|
|
BLAKE2b-256 checksum How to use checksums |
5bf461c5ace0ac139229d60d62cdaeea943e2ef53869860f8fbb6e811feaa301
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / pourpoint-0.3.0-cp39-abi3-manylinux_2_28_x86_64.whl
| Download URL | pourpoint-0.3.0-cp39-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 23.3 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
1ecf0ea1ae684935a9ba7114f1c5c4960f26c551fc0f2c286afbd966c9230b87
|
|
BLAKE2b-256 checksum How to use checksums |
1dacfff6abaa75155fe71a090a809fab2c84215ff506a2ecc4bbbec06fdf125d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / pourpoint-0.3.0-cp39-abi3-manylinux_2_28_aarch64.whl
| Download URL | pourpoint-0.3.0-cp39-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 22.3 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
3d5ce30a9f9b0cbdd0a595cdb269c891bd59e300549506e4f28b3d21059caa8d
|
|
BLAKE2b-256 checksum How to use checksums |
79ce1a06fec6da1ac9b556469c4974eb320ae7daa68d056b63f1f0246a72ab09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / pourpoint-0.3.0-cp39-abi3-macosx_11_0_x86_64.whl
| Download URL | pourpoint-0.3.0-cp39-abi3-macosx_11_0_x86_64.whl |
|---|---|
| Size | 23.5 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
3f5638a6a7f921bc850e3e3a43c74746a9b0770fdae84767dab8d95e34f01327
|
|
BLAKE2b-256 checksum How to use checksums |
82b3d12d7e2cee637f9c6ce867e71901c46389562e452bcca85d93bcf7e86e09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / pourpoint-0.3.0-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | pourpoint-0.3.0-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 22.3 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a79ebc38be0cdc39247fd07eb608750536c982999954bd68e3ccf5599fefdabe
|
|
BLAKE2b-256 checksum How to use checksums |
974d5ca805d6767e9fe075cc2443e7307b5d06e65af55719e10a513084ad2d79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency log