Standalone all-Rust GOES ABI renderer, tiler, and Python bindings
Project description
goes-abi
Standalone all-Rust GOES ABI renderer, native PNG generator, XYZ tile generator, and Python package.
This package is for people who want the GOES satellite rendering pieces without installing rustwx. It downloads public NOAA GOES ABI Level 2 NetCDF files, reads them with pure Rust dependencies, applies the ABI fixed-grid projection/scaling metadata, and writes PNGs plus JSON manifests.
Features
- GOES-16, GOES-17, GOES-18, and GOES-19 ABI products.
- Native fixed-grid PNG renders for ABI bands and RGB products.
- Native crop/sequence rendering for workflow-friendly regional loops.
- XYZ Web Mercator tile generation from local ABI channel files.
- Python bindings through
maturinand agoes_abiPython module. - No
rustwxcheckout, vendored dependency tree, C NetCDF, C HDF5, or Python geospatial stack required.
Install
Install the Rust CLI directly from GitHub:
cargo install --git https://github.com/FahrenheitResearch/goes-abi
Install the Python package directly from GitHub:
python -m pip install "git+https://github.com/FahrenheitResearch/goes-abi"
From a local checkout:
cargo install --path .
For Python:
python -m pip install .
For editable Python development:
python -m pip install maturin
python -m maturin develop --features python
CLI Examples
Print supported products and outputs:
goes-abi capabilities
Render the latest GOES-19 CONUS Band 13 native PNG:
goes-abi render `
--satellite goes19 `
--sector conus `
--products goes_abi_band_13 `
--width 1400 `
--height 1100 `
--out-dir out `
--cache-dir cache
Render a full-disk native-resolution infrared frame:
goes-abi render `
--satellite goes19 `
--sector full_disk `
--products goes_abi_band_13 `
--width 5424 `
--height 5424 `
--out-dir out `
--cache-dir cache
Render a regional native crop sequence:
goes-abi native-sequence `
--satellite goes19 `
--sector conus `
--product geocolor `
--bounds -127,-111,30,44.5 `
--latest-count 6 `
--out-dir out `
--cache-dir cache
Generate XYZ tiles from local C01/C02/C03 channel files:
goes-abi web-tiles `
--channel1 cache\path\to\C01.nc `
--channel2 cache\path\to\C02.nc `
--channel3 cache\path\to\C03.nc `
--out-dir tiles `
--min-zoom 2 `
--max-zoom 6
Python Example
import goes_abi
report = goes_abi.render_satellite(
satellite="goes19",
abi_product="ABI-L2-CMIPC",
abi_sector="conus",
domain_slug="goes_native",
domain_label="GOES Native",
bounds=(-127.0, -111.0, 30.0, 44.5),
out_dir="out",
cache_dir="cache",
products=["goes_abi_band_13"],
width=1400,
height=1100,
download_glm=False,
png_compression="fast",
)
print(report["artifacts"][0]["png_path"])
Outputs
Every render writes a JSON report next to the PNG/tile output. Reports include scan time, source NOAA S3 keys/URLs, local cache paths, render timing, product metadata, geographic bounds, and generated artifact paths.
Development Checks
cargo fmt --check
cargo test
cargo test --features python
cargo run --bin goes-abi -- capabilities
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 Distributions
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 goes_abi-0.1.0.tar.gz.
File metadata
- Download URL: goes_abi-0.1.0.tar.gz
- Upload date:
- Size: 61.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29a1227f77d3b18e4388ee3d0efb215e8d80bb2937c10a143490190fcbd865a3
|
|
| MD5 |
0a01fc7ef297ae8fd91a5e09e0c32582
|
|
| BLAKE2b-256 |
d2c823110dc38d4be793cea5d1174231fb5af4f218658e99cc0098372426e89e
|
Provenance
The following attestation bundles were made for goes_abi-0.1.0.tar.gz:
Publisher:
publish.yml on FahrenheitResearch/goes-abi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goes_abi-0.1.0.tar.gz -
Subject digest:
29a1227f77d3b18e4388ee3d0efb215e8d80bb2937c10a143490190fcbd865a3 - Sigstore transparency entry: 1515979388
- Sigstore integration time:
-
Permalink:
FahrenheitResearch/goes-abi@d2715479d15eb54abdb8eaada7750fb3ec25f3e2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/FahrenheitResearch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d2715479d15eb54abdb8eaada7750fb3ec25f3e2 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file goes_abi-0.1.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: goes_abi-0.1.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7ea37f8b7b46d2d9955fa4578a370e435477986295017b4350074d6a4947db1
|
|
| MD5 |
c3fee7bbd32608296bf2c9a90c98d513
|
|
| BLAKE2b-256 |
baa22e7815b85e2c4e87cdb36d93d69332e892a25455a77fd9b212c916a0423e
|
Provenance
The following attestation bundles were made for goes_abi-0.1.0-cp312-cp312-win_amd64.whl:
Publisher:
publish.yml on FahrenheitResearch/goes-abi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goes_abi-0.1.0-cp312-cp312-win_amd64.whl -
Subject digest:
b7ea37f8b7b46d2d9955fa4578a370e435477986295017b4350074d6a4947db1 - Sigstore transparency entry: 1515979494
- Sigstore integration time:
-
Permalink:
FahrenheitResearch/goes-abi@d2715479d15eb54abdb8eaada7750fb3ec25f3e2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/FahrenheitResearch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d2715479d15eb54abdb8eaada7750fb3ec25f3e2 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file goes_abi-0.1.0-cp312-cp312-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: goes_abi-0.1.0-cp312-cp312-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dd8e680babf2aad23390921ec6a0648fa57be5bcdcf7fc5d4d3f7424a7ede64
|
|
| MD5 |
092374e0b097e31c361651baebfd8a70
|
|
| BLAKE2b-256 |
12c7c6151a6f6925dc967eacd321ea2ea2952d9fc34efe8a3ad40bb91d25eb1d
|
Provenance
The following attestation bundles were made for goes_abi-0.1.0-cp312-cp312-manylinux_2_35_x86_64.whl:
Publisher:
publish.yml on FahrenheitResearch/goes-abi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goes_abi-0.1.0-cp312-cp312-manylinux_2_35_x86_64.whl -
Subject digest:
4dd8e680babf2aad23390921ec6a0648fa57be5bcdcf7fc5d4d3f7424a7ede64 - Sigstore transparency entry: 1515979563
- Sigstore integration time:
-
Permalink:
FahrenheitResearch/goes-abi@d2715479d15eb54abdb8eaada7750fb3ec25f3e2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/FahrenheitResearch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d2715479d15eb54abdb8eaada7750fb3ec25f3e2 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file goes_abi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: goes_abi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56fe72a4a7281085758923ec415f85c91ee9e063042f0372786c03c05dc4862e
|
|
| MD5 |
f358da460249fa89be2813685bdf57c0
|
|
| BLAKE2b-256 |
fd393eb970e3020a9011dbda2d0a21da8117b92e0758c73a4c7d7f7ee510b6fc
|
Provenance
The following attestation bundles were made for goes_abi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
publish.yml on FahrenheitResearch/goes-abi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goes_abi-0.1.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
56fe72a4a7281085758923ec415f85c91ee9e063042f0372786c03c05dc4862e - Sigstore transparency entry: 1515979642
- Sigstore integration time:
-
Permalink:
FahrenheitResearch/goes-abi@d2715479d15eb54abdb8eaada7750fb3ec25f3e2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/FahrenheitResearch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d2715479d15eb54abdb8eaada7750fb3ec25f3e2 -
Trigger Event:
workflow_dispatch
-
Statement type: