0Install hillgen
One command installs hillgen plus GDAL, the PMTiles CLI, and Python dependencies. Works on macOS and Linux.
After install, verify with hillgen --version and browse styles with hillgen themes.
1Contribute intermediates
Every hillgen run downloads a DEM, reprojects it, computes hillshade, and styles it. With --contribute, those expensive intermediate files are uploaded to a shared cache so the next person generating the same area gets instant reuse.
How it works
- Authenticate with your GitHub account via the gh CLI — no AWS account needed.
hillgenexchanges your GitHub token for a short-lived presigned S3 URL through a Lambda broker atapi.scriptedrelief.com.- Your GitHub username must be on the contributor allowlist. Open a GitHub issue to request access.
- Intermediates are derived from public-domain data (USGS, state LiDAR programs) — no licensing concerns.
Quick start
2Publish to the gallery
Share finished PMTiles maps on the Community Gallery. Each submission gets a preview image, title, caption, and credit line, and is browsable on an interactive map.
Get a contributor key
Gallery publishing currently uses a direct-upload contributor key (AWS credentials scoped to the gallery prefix). Open an issue or ping @emuehlstein to request one.
Publish a map
Add --dry-run to validate the PMTiles file without uploading.
3Contribute code, themes, or DEM sources
Pull requests are welcome. The repo follows a standard fork-and-PR flow with tests run via pytest.
Good first contributions
- Themes — add a color ramp under
hillgen/themes/ramps/and register it inhillgen/themes/registry.py. - State LiDAR sources — implement a new DEM source under
hillgen/sources/following the pattern inwi_dnr_lidar.pyorigic_indiana_lidar.py. - Bug fixes & docs — see open issues for anything labeled good first issue.