Skip to main content

GISGEARS

A collection of Python tools for GIS/hydrology raster and vector analysis.

WhiteboxTools: wsdgen depends on the WhiteboxTools executable, which the whitebox Python package downloads automatically the first time it runs.

Installation

pip install gisgears

Features

  • wsdgen: Delineate a watershed from a DEM and an outlet layer (point or line)
  • wsdpyshed: Delineate a watershed and stream network from a DEM and an outlet (point or line) using pysheds (no WhiteboxTools needed)
  • showtif: Display a DEM GeoTIFF with an elevation colormap and hillshade
  • showshp: Display one or more shapefiles overlaid on a single map
  • showtable: Print the attribute table of a shapefile or GeoPackage layer

Usage

Command-line

# List all available commands
gisgears-info

# Delineate a watershed from a point outlet
wsdgen --dem dem.tif --outlet outlet.shp

# Delineate a watershed from a line outlet (e.g. a cross-section), keeping intermediates
wsdgen --dem dem.tif --outlet crosssection.shp --all-outputs

# Use a coarser/finer boundary-smoothing filter
wsdgen --dem dem.tif --outlet outlet.shp --smooth-filter 15

# Delineate with pysheds from a pour point shapefile or x/y coordinates
wsdpyshed --dem dem.tif --outlet pourpoint.shp
wsdpyshed --dem dem.tif --outlet crosssection.shp   # line outlet
wsdpyshed --dem dem.tif --xy 285612.0 2936416.7 --acc-threshold 500 --plot

# Inspect a DEM (prints CRS/size/stats, plots elevation + hillshade)
showtif dem.tif

# Overlay shapefiles on one map, labelling features by a column
showshp WSD/watershed.shp outlet.shp -l Station

# Print an attribute table (selected columns, with geometry as WKT)
showtable thiessen.shp -c Station -g
showtable data.gpkg -l roads -n 20
showtable data.gpkg --list-layers

Python API

from gisgears import wsdgen

# Delineate a watershed (written to WSD/watershed.tif, watershed.shp, watershed_smooth.shp)
wsdgen.delineate_watershed(dem="dem.tif", outlet="outlet.shp")

from gisgears import wsdpyshed

# Same idea with pysheds; also writes dem_clipped.tif and streams.gpkg/.geojson to WSD/
wsdpyshed.delineate_watershed(dem="dem.tif", outlet="pourpoint.shp", acc_threshold=200)

from gisgears import showtif, showshp, showtable

showtif.show_dem("dem.tif")
showshp.show_shapefiles(["WSD/watershed.shp", "outlet.shp"], label="Station")
table = showtable.show_table("thiessen.shp", columns=["Station"])  # returns a DataFrame
layers = showtable.list_layers("data.gpkg")  # [(name, geometry type), ...]

Notes

  • The outlet layer may be a point shapefile (a single manually-marked outlet) or a line shapefile (e.g. a cross-section at the watershed outlet); wsdgen detects the geometry type automatically.
  • By default only the final watershed.tif, watershed.shp and watershed_smooth.shp are written to the WSD/ output directory; pass --all-outputs to also keep intermediate files (breached DEM, D8 pointer, flow accumulation, snapped outlet, etc.) there instead of a temporary folder.
  • wsdpyshed takes a point or line outlet (--outlet, reprojected to the DEM's CRS if needed; pick a feature with --outlet-index) or coordinates (--xy). The pour point is snapped to the nearest cell whose flow accumulation exceeds --acc-threshold (default 200, also used for the stream network) unless --no-snap is given. A line outlet (e.g. a cross-section) is rasterized and the watershed is everything draining to any cell it crosses; if it crosses no stream cell, its highest-accumulation cell is snapped like a point. Outputs go to WSD/ by default: watershed.tif, watershed.shp, dem_clipped.tif, streams.gpkg and streams.geojson; --all-outputs adds the conditioned DEM, flow direction and flow accumulation rasters, and --web-map writes streams_map.html (requires folium and mapclassify).

Metadata

Release files for gisgears 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gisgears 0.4.0
File Size Uploaded Provenance
gisgears-0.4.0.tar.gz 16.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gisgears 0.4.0
File Interpreter ABI Platform
gisgears-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 37.0 kB

Release files / gisgears-0.4.0.tar.gz

Download URL gisgears-0.4.0.tar.gz
Size 16.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7950fd8e10208b6a2afed746f46ac5942a8d4c405e6c1f93df00a4eb4b678230
BLAKE2b-256 checksum
How to use checksums
a9c0b1f3dae11203d8cde08ef61de882dd23b1788baa02a58ef0513338dcf126
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Release files / gisgears-0.4.0-py3-none-any.whl

Download URL gisgears-0.4.0-py3-none-any.whl
Size 20.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc9b348a25e41e1f889ce003cffe547c647e0c0680d23b389335ce38ba82cda7
BLAKE2b-256 checksum
How to use checksums
ab2ab96fb4e36d8e561b9deb690be00904f391245e54317dbd0eb1572f43d3a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Security for gisgears 0.4.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for gisgears-0.4.0.tar.gz

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 Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page