Skip to main content

snowtool

Snow analysis tool for basin forecasting.

snowtool manages a snowdb — an on-disk directory holding multiple gridded snow datasets (SNODAS, UA SWANN, SPIRES/INSTARR, …) — and answers per-basin queries against it: zonal statistics of snow variables crossed over elevation bands, aspect classes, and forest-cover thresholds. It ships as a CLI and a read-only HTTP API, both sitting on the same core.

A snowdb is a plain directory: a root config, a pourpoints/ catalog, and a data/<dataset>/ tree of per-date COGs. Basins are delineated from pourpoints and burned into per-dataset area-weighted masks; queries reduce datasets over those masks live. Raster I/O is rasterio + async-tiff + griffine — no system GDAL required.

Installation

Requires Python 3.14+. Install as a uv tool:

uv tool install snowtool

Or run from a clone for development — see CONTRIBUTING.md.

Configuration

snowtool reads its snowdb location from the SNOWTOOL_SNOWDB_CONFIG environment variable (or the per-command --config/-C option). Dotenv loading is disabled, so the variable must be set in the environment:

export SNOWTOOL_SNOWDB_CONFIG=/path/to/snowdb/snowdb_conf.json

Usage

The CLI has top-level commands (init, status, doctor, stats) and command groups (dataset, pourpoint, api, windows); run snowtool --help or snowtool <command|group> --help for details. Serve the read-only HTTP API with uvicorn snowtool.api.app:get_app --factory (or snowtool api serve).

See the documentation for full usage, deployment (including Windows/IIS), and generated CLI, HTTP API, and Python API reference.

Contributing

See CONTRIBUTING.md for development setup, testing, and project conventions.

Team members: see the development notes for additional context.

Metadata

Release files for snowtool 0.8.2

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

Source distribution (sdist)

Source distribution for snowtool 0.8.2
File Size Uploaded
snowtool-0.8.2.tar.gz 656.5 kB Details

Built distribution (wheel)

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

Total release size: 1.1 MB

Release files / snowtool-0.8.2.tar.gz

Download URL snowtool-0.8.2.tar.gz
Size 656.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4a7f50964f6b95d09b8902dddeaefa2d7d395677a639a8d36610acab92f07b05
BLAKE2b-256 checksum
How to use checksums
6c3c587ae49d69b5eb25ab15c945428e52eec6f53cf999da5f3280684ecc689d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 13, 2026.

Transparency log

Release files / snowtool-0.8.2-py3-none-any.whl

Download URL snowtool-0.8.2-py3-none-any.whl
Size 415.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d872c9ef9c7e87b5f5cb49ea06af848ac2241afe292a025c52f7441bc607f5f1
BLAKE2b-256 checksum
How to use checksums
5ff9248b4c64b6d8725b270fb152ab51ca95f3322ff5f846f21e4de650fb7990
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.8.2 This release

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

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