earth2bufr
Rust-based BUFR (Binary Universal Form for the Representation of meteorological data) file parser with Python bindings focused entirely on decoding BUFR messages into in-memory PyArrow tables for ETL and analysis.
Documentation: https://nvidia.github.io/earth2bufr/
Installation
earth2bufr needs Python 3.11+ and a Rust toolchain to build from source.
git clone https://github.com/NVIDIA/earth2bufr.git
cd earth2bufr
# Install with uv (builds the Rust extension)
uv pip install -e .
# Or build the extension in a development environment
uv sync --group dev
uv run maturin develop --release
Prebuilt wheels are built by the build-wheels workflow and ship with
Sigstore signatures. See the
installation guide
for how to verify them.
Quick start
import earth2bufr
# Read a BUFR file into a list of PyArrow RecordBatches
batches = earth2bufr.read_bufr("observations.bufr")
# Keep only some fields
batches = earth2bufr.read_bufr("observations.bufr", projection=["B005001", "B006001"])
# Stream bounded batches
with earth2bufr.open_bufr("observations.bufr") as source:
for batch in source.iter_batches():
...
# Read message headers and table epochs without decoding
info = earth2bufr.get_metadata("observations.bufr")
Development
# Install hooks and run all checks
pre-commit install
pre-commit run --all-files
# Run tests
uv sync --group dev --group test
uv run pytest
# Build the documentation
uv sync --group docs
uv run sphinx-build -b html docs docs/_build/html
See CONTRIBUTING.md for the full workflow.
License
Apache-2.0
Metadata
Release files for earth2bufr 0.1.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 | Provenance | |
|---|---|---|---|---|
| earth2bufr-0.1.0.tar.gz | 392.5 kB | Without provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| earth2bufr-0.1.0-cp311-abi3-win_amd64.whl | CPython 3.11 | abi3 | Windows x86-64 | Details |
| earth2bufr-0.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.11 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| earth2bufr-0.1.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.11 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| earth2bufr-0.1.0-cp311-abi3-macosx_11_0_arm64.whl | CPython 3.11 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 10.8 MB
Release files / earth2bufr-0.1.0.tar.gz
| Download URL | earth2bufr-0.1.0.tar.gz |
|---|---|
| Size | 392.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c6a84d78907c4ad89221e1ccf4cffd36489311a4c098b71773e1daf26c3944fd
|
|
BLAKE2b-256 checksum How to use checksums |
f72971582186b7e7f6e9bb7af6d17b82aea73003641ca6886d2cc3fc144d0c98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / earth2bufr-0.1.0-cp311-abi3-win_amd64.whl
| Download URL | earth2bufr-0.1.0-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
5402b6ebbe57c14d0b92d0669081e7f327e96ce1dbafab65e51f889de643eca2
|
|
BLAKE2b-256 checksum How to use checksums |
180ba559ea3300eb165e829b0853e543c150ff7a7356e11760d4d045437d8fd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / earth2bufr-0.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | earth2bufr-0.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
adba9bfa7c0fd8488a9d63224139800f9f07349a801a0b69c69d78e9bd53b3b5
|
|
BLAKE2b-256 checksum How to use checksums |
a1b1f3408d11fc8ea0e4d5e7bcba8731aae7d8b773c82a2964ba103b6a196322
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / earth2bufr-0.1.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | earth2bufr-0.1.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
2b33794fc78e4fdc28998980fea0cf00d3541f05f87521a38ea10c8b071d8661
|
|
BLAKE2b-256 checksum How to use checksums |
b4fa227479ec73725127ded129fdd04a6826bb927a37ac640c540a877e7103ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / earth2bufr-0.1.0-cp311-abi3-macosx_11_0_arm64.whl
| Download URL | earth2bufr-0.1.0-cp311-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.11 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6dde283b2efee040c3c40400c8031280bd79dfefd62be45686588c6de7267bcd
|
|
BLAKE2b-256 checksum How to use checksums |
4b368705a294d83d00776a7687f8bd35a335d457dbaa28ff26b8ab462b9d959b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Security for earth2bufr 0.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.