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.1

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.1
File Size Uploaded
snowtool-0.8.1.tar.gz 655.6 kB Details

Built distribution (wheel)

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

Total release size: 1.1 MB

Release files / snowtool-0.8.1.tar.gz

Download URL snowtool-0.8.1.tar.gz
Size 655.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c501e025eeb9f2487dbdd769042e3dc2a4b9416fa88972769866f107cd99db50
BLAKE2b-256 checksum
How to use checksums
1f6ab0bf5962f1ff07971fd051cf435e945e433351633c7864fbce77be364662
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 9, 2026.

Transparency log

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

Download URL snowtool-0.8.1-py3-none-any.whl
Size 415.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3159607a7d2061a7e172b93f8e5835b1df346f654f1c04d0f9f17a122b5f4ae4
BLAKE2b-256 checksum
How to use checksums
9b77f35e7a31d98fab20b5c9c9de0fc1ea1dfdbd4f24e48102fd76c00d2fe025
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 9, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.2

2 release files

This release

0.8.1 This release

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