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.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 snowtool 0.8.0
File Size Uploaded
snowtool-0.8.0.tar.gz 655.4 kB Details

Built distribution (wheel)

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

Total release size: 1.1 MB

Release files / snowtool-0.8.0.tar.gz

Download URL snowtool-0.8.0.tar.gz
Size 655.4 kB
Tags Source
SHA-256 checksum
How to use checksums
25170f61850d1235fdb6f96f858412907f204632ac5f82745ab0e93622444dea
BLAKE2b-256 checksum
How to use checksums
e819d0314f6e314018dbf8a3be05719d8442e25243bf28d7a6ae103ff08cbcc1
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 8, 2026.

Transparency log

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

Download URL snowtool-0.8.0-py3-none-any.whl
Size 415.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ca10e2cf1aec3728a13543cda39bba8bbcdfaf436c71be1ed73ea8bf446eb3d
BLAKE2b-256 checksum
How to use checksums
8283d692247644d9f8bbf1e23e376dad896a923df2729edb3e63612815d0a61a
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 8, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.2

2 release files

0.8.1

2 release files

This release

0.8.0 This release

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