Snow analysis tool for basin forecasting
Project description
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snowtool-0.2.0.tar.gz.
File metadata
- Download URL: snowtool-0.2.0.tar.gz
- Upload date:
- Size: 412.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
345fe3cd2e340bd4de2b960a97caba451be3b58550769af2e0fdc4e31ba088b8
|
|
| MD5 |
0e1854ec3f62e614b0798e61935fd457
|
|
| BLAKE2b-256 |
8dd0136d06353c0514cab35d0e66e435761c3e4fee2004889c171c8032f0da8f
|
Provenance
The following attestation bundles were made for snowtool-0.2.0.tar.gz:
Publisher:
release.yml on PSU-CSAR/snowtool
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
snowtool-0.2.0.tar.gz -
Subject digest:
345fe3cd2e340bd4de2b960a97caba451be3b58550769af2e0fdc4e31ba088b8 - Sigstore transparency entry: 2155669591
- Sigstore integration time:
-
Permalink:
PSU-CSAR/snowtool@fbbbb15bd8ac30bf813c49eccd4c088ae2acbd40 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/PSU-CSAR
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fbbbb15bd8ac30bf813c49eccd4c088ae2acbd40 -
Trigger Event:
release
-
Statement type:
File details
Details for the file snowtool-0.2.0-py3-none-any.whl.
File metadata
- Download URL: snowtool-0.2.0-py3-none-any.whl
- Upload date:
- Size: 234.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
662d956153082f49b49709ddbae077ea5c4516e548113521d89e970cf0f2587d
|
|
| MD5 |
bcd3b0769395d2d50302252d378c4d08
|
|
| BLAKE2b-256 |
67e3ee2704703cd2c7fd415f6dd4ae0317c1d66576e1cd24f915f6e7e0227b3f
|
Provenance
The following attestation bundles were made for snowtool-0.2.0-py3-none-any.whl:
Publisher:
release.yml on PSU-CSAR/snowtool
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
snowtool-0.2.0-py3-none-any.whl -
Subject digest:
662d956153082f49b49709ddbae077ea5c4516e548113521d89e970cf0f2587d - Sigstore transparency entry: 2155669634
- Sigstore integration time:
-
Permalink:
PSU-CSAR/snowtool@fbbbb15bd8ac30bf813c49eccd4c088ae2acbd40 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/PSU-CSAR
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fbbbb15bd8ac30bf813c49eccd4c088ae2acbd40 -
Trigger Event:
release
-
Statement type: