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.
- Quick start and documentation
- Fetch and analyze data
- Runnable examples with saved outputs
- Readers and reproducible manifests
Providers
| Provider | Available | Stub | Planned | Next up (unassigned) | Datasets |
|---|---|---|---|---|---|
| NOAA | 6 | 0 | 23 | — | ghcn-daily, gsom, storm-events, nexrad-level2, goes-abi, coastwatch-sst, +23 planned |
| USGS | 1 | 0 | 2 | — | water-daily, +2 planned |
| Census Bureau | 0 | 0 | 1 | — | +1 planned |
| EPA | 0 | 0 | 1 | — | +1 planned |
| FEMA | 0 | 0 | 1 | — | +1 planned |
| NASA | 0 | 0 | 1 | — | +1 planned |
| USDA | 0 | 0 | 1 | — | +1 planned |
Available datasets are in code, stubs in italics; planned ones are counted. Available means implemented in this source checkout; consult the releases for published support. Provider pages link access notes to the generated dataset catalog; the roadmap explains future priorities.
Development
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.
git clone https://github.com/jakeryderv/usdata && cd usdata
just setup # install toolchain and dependencies
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 run search radar
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 opens a version-bump PR; merging it 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
Release files for usdata 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| usdata-0.9.0.tar.gz | 156.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| usdata-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 328.9 kB
Release files / usdata-0.9.0.tar.gz
| Download URL | usdata-0.9.0.tar.gz |
|---|---|
| Size | 156.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ee7b062cbe79d70a86d5d927357f4a74ad12d87e3f64f07affc68c55caf77e2
|
|
BLAKE2b-256 checksum How to use checksums |
2ae6e62abe719f7bd2a95095d6d312e7d20f43ca553cc15cf9fb76e3381bcd85
|
| 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.9.0-py3-none-any.whl
| Download URL | usdata-0.9.0-py3-none-any.whl |
|---|---|
| Size | 172.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a3939674414512c53f825e07f7326137795478df83be621b8ebe29645a283c8
|
|
BLAKE2b-256 checksum How to use checksums |
2c8d554689959eb5b1e7c84fe15302500f8ddcaeed288ad14629ce2930b91e7f
|
| 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}
|