Python bindings for the pourpoint watershed delineation engine
Project description
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)
Platform support: Apple Silicon macOS only (macosx_11_0_arm64).
Linux, Intel macOS, and Windows wheels are not yet built. Community
contributions are welcome; see
CONTRIBUTING.md
if you want to help port the build.
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/.
Project details
Release history Release notifications | RSS feed
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 pourpoint-0.1.0.tar.gz.
File metadata
- Download URL: pourpoint-0.1.0.tar.gz
- Upload date:
- Size: 633.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c05c78da875e0e56d30d897ff8e6efeebe4749a2a594d9a04a91a326e91641a
|
|
| MD5 |
4b10d0c39d9c5fed792a2055d34745bd
|
|
| BLAKE2b-256 |
76e7292b63aaa1c7a92a55d88fe79879c1fb36593e025dbb878f594ace598a58
|
Provenance
The following attestation bundles were made for pourpoint-0.1.0.tar.gz:
Publisher:
build-wheels.yaml on CooperBigFoot/pourpoint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pourpoint-0.1.0.tar.gz -
Subject digest:
9c05c78da875e0e56d30d897ff8e6efeebe4749a2a594d9a04a91a326e91641a - Sigstore transparency entry: 2097725417
- Sigstore integration time:
-
Permalink:
CooperBigFoot/pourpoint@285f4f27af703ae0763a30b15e71987095006e67 -
Branch / Tag:
refs/tags/pourpoint-v0.1.0 - Owner: https://github.com/CooperBigFoot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yaml@285f4f27af703ae0763a30b15e71987095006e67 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pourpoint-0.1.0-cp39-abi3-win_amd64.whl.
File metadata
- Download URL: pourpoint-0.1.0-cp39-abi3-win_amd64.whl
- Upload date:
- Size: 48.8 MB
- Tags: CPython 3.9+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a0963cfaf152fbb5aa0122fc0a247721d0bce4d2b389a6727acef3a1d2e6902
|
|
| MD5 |
337c57fac7d98298a2681533fed2aa5d
|
|
| BLAKE2b-256 |
56e143e06bab3e97e48915af3a6ee111506b47540a021c4d615e65679c8b955e
|
Provenance
The following attestation bundles were made for pourpoint-0.1.0-cp39-abi3-win_amd64.whl:
Publisher:
build-wheels.yaml on CooperBigFoot/pourpoint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pourpoint-0.1.0-cp39-abi3-win_amd64.whl -
Subject digest:
6a0963cfaf152fbb5aa0122fc0a247721d0bce4d2b389a6727acef3a1d2e6902 - Sigstore transparency entry: 2097727468
- Sigstore integration time:
-
Permalink:
CooperBigFoot/pourpoint@285f4f27af703ae0763a30b15e71987095006e67 -
Branch / Tag:
refs/tags/pourpoint-v0.1.0 - Owner: https://github.com/CooperBigFoot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yaml@285f4f27af703ae0763a30b15e71987095006e67 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pourpoint-0.1.0-cp39-abi3-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pourpoint-0.1.0-cp39-abi3-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 23.5 MB
- Tags: CPython 3.9+, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04ab90039304779a79edc9b806de03f3265272fd715765f880498dedc7e0259b
|
|
| MD5 |
472930390969fb4e99d934a7f3e1ee22
|
|
| BLAKE2b-256 |
245f00b50989493facf41d707da2eaddcdd1f4821c7651d2c14a924c04974a37
|
Provenance
The following attestation bundles were made for pourpoint-0.1.0-cp39-abi3-manylinux_2_28_x86_64.whl:
Publisher:
build-wheels.yaml on CooperBigFoot/pourpoint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pourpoint-0.1.0-cp39-abi3-manylinux_2_28_x86_64.whl -
Subject digest:
04ab90039304779a79edc9b806de03f3265272fd715765f880498dedc7e0259b - Sigstore transparency entry: 2097726915
- Sigstore integration time:
-
Permalink:
CooperBigFoot/pourpoint@285f4f27af703ae0763a30b15e71987095006e67 -
Branch / Tag:
refs/tags/pourpoint-v0.1.0 - Owner: https://github.com/CooperBigFoot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yaml@285f4f27af703ae0763a30b15e71987095006e67 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pourpoint-0.1.0-cp39-abi3-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pourpoint-0.1.0-cp39-abi3-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 22.4 MB
- Tags: CPython 3.9+, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eff64506a43578ba69c6e0cd117a6d64b4837242af5c30942d85081d4a3b8bdd
|
|
| MD5 |
f14f0311834b7e3103a6208c93fd75f9
|
|
| BLAKE2b-256 |
1bef61f1bbb413671aefa48011e4bbf91a94d9c4d8ae5c9be80e1021672a5b62
|
Provenance
The following attestation bundles were made for pourpoint-0.1.0-cp39-abi3-manylinux_2_28_aarch64.whl:
Publisher:
build-wheels.yaml on CooperBigFoot/pourpoint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pourpoint-0.1.0-cp39-abi3-manylinux_2_28_aarch64.whl -
Subject digest:
eff64506a43578ba69c6e0cd117a6d64b4837242af5c30942d85081d4a3b8bdd - Sigstore transparency entry: 2097726130
- Sigstore integration time:
-
Permalink:
CooperBigFoot/pourpoint@285f4f27af703ae0763a30b15e71987095006e67 -
Branch / Tag:
refs/tags/pourpoint-v0.1.0 - Owner: https://github.com/CooperBigFoot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yaml@285f4f27af703ae0763a30b15e71987095006e67 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pourpoint-0.1.0-cp39-abi3-macosx_11_0_x86_64.whl.
File metadata
- Download URL: pourpoint-0.1.0-cp39-abi3-macosx_11_0_x86_64.whl
- Upload date:
- Size: 23.8 MB
- Tags: CPython 3.9+, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78c193f42b6f12b0d2f01b594f7af19eac1c580a2510d3d46cfc6c3d7f1a7ad8
|
|
| MD5 |
afdafc8bc83dc7cd288442f25e5af60d
|
|
| BLAKE2b-256 |
9bb9e1dfee3e1a354ea0c9bd05d42bc36d61af3984947e272d27715da3fe5f9a
|
Provenance
The following attestation bundles were made for pourpoint-0.1.0-cp39-abi3-macosx_11_0_x86_64.whl:
Publisher:
build-wheels.yaml on CooperBigFoot/pourpoint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pourpoint-0.1.0-cp39-abi3-macosx_11_0_x86_64.whl -
Subject digest:
78c193f42b6f12b0d2f01b594f7af19eac1c580a2510d3d46cfc6c3d7f1a7ad8 - Sigstore transparency entry: 2097725649
- Sigstore integration time:
-
Permalink:
CooperBigFoot/pourpoint@285f4f27af703ae0763a30b15e71987095006e67 -
Branch / Tag:
refs/tags/pourpoint-v0.1.0 - Owner: https://github.com/CooperBigFoot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yaml@285f4f27af703ae0763a30b15e71987095006e67 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pourpoint-0.1.0-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: pourpoint-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 22.6 MB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43a44cba6cabd7d21de43ff26c942014c3b23173b77f49b5a29695aade21725e
|
|
| MD5 |
971c1b7e7e1e44649d8d2edae0ffe156
|
|
| BLAKE2b-256 |
442f6eb63b6bf0cf0d1376b2050413309ec1eb830bafb94aed23bb8ae4edfa3d
|
Provenance
The following attestation bundles were made for pourpoint-0.1.0-cp39-abi3-macosx_11_0_arm64.whl:
Publisher:
build-wheels.yaml on CooperBigFoot/pourpoint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pourpoint-0.1.0-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
43a44cba6cabd7d21de43ff26c942014c3b23173b77f49b5a29695aade21725e - Sigstore transparency entry: 2097726439
- Sigstore integration time:
-
Permalink:
CooperBigFoot/pourpoint@285f4f27af703ae0763a30b15e71987095006e67 -
Branch / Tag:
refs/tags/pourpoint-v0.1.0 - Owner: https://github.com/CooperBigFoot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yaml@285f4f27af703ae0763a30b15e71987095006e67 -
Trigger Event:
release
-
Statement type: