Skip to main content

usdata

Discover U.S. scientific datasets, fetch their files, and keep a reproducible record of where every input came from. Use the same Python SDK or CLI across supported NOAA and USGS datasets.

Pre-alpha. These docs describe the current source checkout. Features marked Unreleased require a source installation; consult the changelog for published versions. Other providers are planned.

Start here

pip install usdata
usdata search precipitation --location Oklahoma
usdata info noaa:ghcn-daily

Search uses a curated registry. Fetching contacts the upstream service; readers open the resulting local files. Provenance and manifests connect those steps.

Source installation

For features marked Unreleased, install this checkout with uv:

git clone https://github.com/jakeryderv/usdata && cd usdata
uv sync --extra pandas
uv run usdata info noaa:coops-water-levels

Run source examples from this checkout with uv run usdata (CLI) or uv run python (Python). The pandas extra enables CSV reading; use --extra radar or --extra netcdf for those formats. For contribution checks, continue with development setup.

Providers

Browse the dataset catalog for current support, release availability, and dataset details. Provider access notes explain agency-specific services; the roadmap describes priorities.

Development

From a source checkout, requires uv and just.

just setup uses the tested Python 3.14.7 pin in .python-version. Older Linux uv Python 3.14 builds can crash during NumPy array operations; see the upstream fix.

just setup     # install toolchain and dependencies
just hooks-install # optional: install fast staged-file checks
just test      # all offline tests
just check     # format, lint, typecheck, offline tests, generated docs, release notices
just check-pandas  # install the CSV extra and run the same checks
just check-radar   # install the radar extra and run the same checks
just check-netcdf  # install the NetCDF4 extra and run the same checks
just notebooks    # launch the optional Jupyter examples environment
just run-notebooks # execute notebooks live in fresh kernels and temporary caches
just docs-serve # build and preview the documentation locally, with reload
just check-docs # validate generated content and build the site strictly
just build     # build wheel and sdist
just smoke     # exercise core and pandas wheel installations outside the checkout
just changes   # preview upcoming release notes
just cleanup 123 # from main: remove PR #123's merged branch and clean worktree
just run search radar

Commit hooks fix and format staged Python files using the locked Ruff version, and check configuration, merge conflicts, and GitHub Actions workflows. Full validation remains just check; just check-hooks runs the non-mutating config and workflow checks alone. Hooks do not rewrite notebooks or raw data fixtures. The first hook run downloads its isolated tools and requires network access.

Offline tests mechanically block network connections. Tests that hit live services run with just test-live; see testing levels and organization. CI checks Python 3.11 and 3.14 on Linux with core-only, pandas, radar, and NetCDF dependency profiles. Installed-wheel checks cover all four profiles on Linux, macOS, and Windows. The full offline and live-service suites run on Linux. just setup restores a core-only development environment; the check-pandas, check-radar, and check-netcdf commands install their respective extras.

Releases: just release minor prepares a release branch. Update release notices, then just release-pr validates and opens a draft for review. Merging the reviewed PR publishes to PyPI and creates the tag and GitHub release. See docs/versioning.md.

See provider access notes, docs/architecture.md for how the pieces fit, architecture decisions for why, and CONTRIBUTING.md to add a dataset.

License

Apache-2.0.

Release files for usdata 0.10.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 usdata 0.10.0
File Size Uploaded
usdata-0.10.0.tar.gz 159.9 kB Details

Built distribution (wheel)

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

Total release size: 336.4 kB

Release files / usdata-0.10.0.tar.gz

Download URL usdata-0.10.0.tar.gz
Size 159.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a6462e61ff008024b0ce16a07ce67fe0a8958dcfa278d7a10bda4b5b8eca60f4
BLAKE2b-256 checksum
How to use checksums
ba2f49cfd2a48751f6151c2d24bc978c1670437f8de64d7960bd3776cf8af57a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / usdata-0.10.0-py3-none-any.whl

Download URL usdata-0.10.0-py3-none-any.whl
Size 176.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e3d18b18d2617772828cffcf3f7ce36381c7d3bca58f5fc5608e9d2f3805623
BLAKE2b-256 checksum
How to use checksums
528291c23e63054d4dad57afa32aec02ae58ef6a1afd8902f266217b2bd43dc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.27.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

This release

0.10.0 This release

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

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