Skip to main content

bufrust

bufrust is a BUFR edition 4 parser and data decoder written in Rust, with a Python API designed to feel natural in data workflows.

It can:

  • parse one or more BUFR edition 4 messages from files or bytes
  • expose Section 0/1/2/3/4 metadata
  • read unexpanded descriptors from Section 3
  • use bundled ecCodes BUFR definitions, including WMO/local tables and code/flag tables
  • load external ecCodes definitions or local/custom tables when needed
  • load BUFR4-45 CSV-style Table B and Table D files
  • expand Table D sequences and replication descriptors
  • decode Section 4 values for uncompressed and compressed BUFR4 messages
  • provide Python helpers such as bufrust.open(...), Dataset, Message, to_dict(), and pandas-backed to_dataframe()

The Rust core is intentionally small and explicit. The Python layer adds a friendlier interface for interactive use and notebooks.

Status

bufrust is intended as a usable BUFR4 decoding library for Python and Rust. The decoder is covered by the ecCodes BUFR4 numeric and descriptor reference data used during development, plus real ECMWF and JMA/RJTD BUFR fixtures included in this repository.

bufrust bundles the ecCodes BUFR definitions needed for descriptor expansion, value decoding, and code/flag-table meanings. You only need to pass table paths when you want to override the bundled tables with a different ecCodes release or BUFR4-45 CSV files.

Installation

Python, from a wheel:

pip install bufrust

Python, from a local checkout:

pip install maturin
maturin develop

Rust:

[dependencies]
bufrust = "1"

Quick Start In Python

Parse metadata only:

import bufrust

ds = bufrust.open("sample.bufr")

print(ds)
print(ds.metadata[0])
print(ds.descriptors[0])

Decode values using the bundled ecCodes BUFR definitions:

import bufrust

ds = bufrust.open("sample.bufr")
values = ds.decode()

for value in values[:5]:
    print(value.descriptor, value.name, value.data)

Work with multiple BUFR messages:

ds = bufrust.open("multi-message.bufr")

for message in ds:
    print(message.index, message.raw.number_of_subsets, message.descriptors)
    decoded = message.decode()
    print(len(decoded))

Load from bytes:

payload = Path("sample.bufr").read_bytes()
ds = bufrust.loads(payload)

Convert to dictionaries:

record = ds[0].to_dict()
print(record["metadata"])
print(record["values"][0])

DataFrame Workflow

Install the optional pandas extra:

pip install "bufrust[dataframe]"

to_dataframe() is the most convenient way to inspect and filter decoded BUFR data. It returns a long-form table where each decoded BUFR value is one row.

The repository includes real BUFR4 files for examples and regression tests:

tests/fixtures/ecmwf_cyclone_tracks.bufr
tests/fixtures/rjtd_drifting_buoy.bufr
tests/fixtures/rjtd_iucc10.bufr

Decode it directly into pandas:

import bufrust

ds = bufrust.open("tests/fixtures/ecmwf_cyclone_tracks.bufr")
frame = ds.to_dataframe()

print(frame.head())
print(frame.shape)

to_dataframe() returns a long-form table with columns such as descriptor, name, text, value, subset, position, and message.

The DataFrame keeps text-like data and numeric data in separate columns: text is filled from raw_text or raw_meaning, while value is filled from raw_value.

print(frame[["descriptor", "text", "value"]].head())

Use raw=True to include the underlying raw, raw_text, raw_meaning, and raw_value columns:

frame = ds.to_dataframe()
debug = ds.to_dataframe(raw=True)
first = ds.to_dataframe(message=0)

For ecmwf_cyclone_tracks.bufr, this produces 45 BUFR messages and more than 2.4 million decoded rows:

(2413286, 7)

Typical analysis patterns:

# All latitude rows.
latitudes = frame[frame["name"].str.contains("LATITUDE", case=False, na=False)]

# Values from one BUFR message and subset.
track0 = frame[(frame["message"] == 0) & (frame["subset"] == 0)]

# Keep only numeric values.
numeric = frame[frame["value"].notna()]

For large files, decode one message at a time:

ds = bufrust.open("tests/fixtures/ecmwf_cyclone_tracks.bufr")
first = ds.to_dataframe(message=0)

If pandas is not installed, use dictionaries:

record = ds[0].to_dict()
debug = ds[0].to_dict(raw=True)
print(record["values"][0])

Benchmark

The following benchmark uses tests/fixtures/ecmwf_cyclone_tracks.bufr, a 914 KB BUFR4 file containing 45 messages and 2,413,286 decoded values. The bufrust runs include code/flag table meaning lookup.

Indicative median times on a local Windows workstation:

Library / operation Median time Output checked
bufrust.open(path).decode_all() 0.757 s 45 messages, 2,413,286 values, 149,430 meanings
ecCodes Python unpack + numericValues/stringValues 0.772 s 45 messages, 2,413,286 numeric values, 90 strings
pybufrkit Decoder.process(...) 3.743 s 45 messages, 2,413,286 values
bufrust.open(path).to_dataframe() 3.111 s DataFrame shape (2413286, 7)

The ecCodes and pybufrkit rows use their normal low-level Python decode paths and do not construct a pandas DataFrame or per-value text/meaning columns. The ecCodes row calls unpack and reads numericValues/stringValues; it is included as a strong reference point for decode throughput. The bufrust.decode_all() and bufrust.to_dataframe() rows include code/flag table meaning lookup, and the to_dataframe() row also includes pandas allocation for the long-form table. By default that table keeps display text in text and numeric data in value; use raw=True to expose raw_text, raw_meaning, raw_value, and raw.

Python API

The high-level API mirrors common Python data libraries:

ds = bufrust.open(path, definitions=None, table_dir=None)
ds = bufrust.load(path_or_bytes, definitions=None, table_dir=None)
ds = bufrust.loads(bytes_data, definitions=None, table_dir=None)

Use definitions= when you have an ecCodes definitions root containing bufr/tables/... and want to override the bundled tables. bufrust chooses the WMO and local table directories from the message header.

Use table_dir= when you already know the exact table directory containing element.table, sequence.def, and optional codetables/.

Decoded values expose a display-oriented data property. It is chosen in this order: raw_text, then raw_meaning, then raw_value.

record = ds[0].to_dict()                   # descriptor, name, data
metadata = ds[0].to_dict(decode=False)     # skip value decoding
debug = ds[0].to_dict(raw=True)
df = ds.to_dataframe()                     # text and value columns
debug_df = ds.to_dataframe(raw=True)

Important objects:

  • Dataset: a file or byte buffer containing one or more messages
  • Message: one parsed BUFR message and its original bytes
  • DecodedValue: one decoded value with descriptor, name, data, raw_text, raw_meaning, raw_value, and raw
  • TableSet: loaded BUFR Table B/Table D definitions plus code/flag tables
  • Descriptor: an F/X/Y descriptor helper

Low-level functions are also available:

msg = bufrust.parse_file("sample.bufr")
messages = bufrust.parse_all_bytes(payload)

values = bufrust.open("sample.bufr").decode()

Table Definitions

Bundled ecCodes BUFR definitions

For ordinary use, no table path is required:

ds = bufrust.open("sample.bufr")
values = ds.decode()

The bundled definitions are available for inspection:

print(bufrust.builtin_definitions_path())
tables = bufrust.tables_for_message(ds[0])

The bundled files are copied from ecCodes 2.47.0 and include BUFR templates, WMO/local Table B and Table D files, version aliases, and codetables used for code/flag-table meanings. The full ecCodes project is licensed under Apache-2.0; its license and notice are included under python/bufrust/definitions/ECCODES_LICENSE and python/bufrust/definitions/ECCODES_NOTICE.

External ecCodes-style tables

Load one concrete table directory:

tables = bufrust.TableSet.from_eccodes(
    "external/eccodes/definitions/bufr/tables/0/wmo/42"
)
print(tables.expand([307080]))

Decode using an external ecCodes definitions root:

ds = bufrust.open("sample.bufr", definitions="external/eccodes/definitions")
values = ds.decode()

The definitions root should look like:

definitions/
  bufr/
    tables/
      0/
        wmo/
          42/
            element.table
            sequence.def
            codetables/

BUFR4-45 CSV tables

If you have BUFR4-45 CSV files, load the directory containing files named like BUFRCREX_TableB_en_*.csv and BUFR_TableD_en_*.csv:

tables = bufrust.TableSet.from_bufr4_45("external/BUFR4-45")
print(tables.get_element(42001))

Rust API

use bufrust::{decode_values_with_builtin_tables, parse_message, TableSet};

fn main() -> bufrust::Result<()> {
    let bytes = std::fs::read("sample.bufr")?;
    let message = parse_message(&bytes)?;

    println!("edition {}", message.edition);
    println!("descriptors {:?}", message.unexpanded_descriptors);

    let values = decode_values_with_builtin_tables(&bytes)?;

    println!("decoded {} values", values.len());
    Ok(())
}

Descriptor expansion:

use bufrust::TableSet;

let message = bufrust::parse_message(&std::fs::read("sample.bufr")?)?;
let tables = TableSet::from_builtin_definitions(&message)?;
let expanded = tables.expand(&[307080])?;

Development

Run the self-contained test suite:

cargo test

Build the Python wheel:

maturin build --release

Install the local Python package for development:

maturin develop
python -c "import bufrust; print(bufrust.__version__)"

Update versions before tagging a release:

python scripts/bump-version.py vX.Y.Z
git add Cargo.toml Cargo.lock pyproject.toml python/bufrust/__init__.py
git commit -m "Release vX.Y.Z"
git tag vX.Y.Z
git push origin main vX.Y.Z

Optional ecCodes Reference Tests

The default tests do not require files outside this repository.

For deeper compatibility testing, place an ecCodes source tree or extracted definitions/test-data tree inside this repository, then set BUFRUST_ECCODES_ROOT:

$env:BUFRUST_ECCODES_ROOT = "external\eccodes-2.47.0"
cargo test
cargo run --bin check_eccodes_numeric -- external\eccodes-2.47.0

The helper script downloads the BUFR test payloads referenced by ecCodes into external/eccodes-2.47.0/data/bufr:

.\scripts\download-eccodes-bufr-tests.ps1

During development the BUFR4 numeric checker reports:

numeric refs: passed=23 failed=0 unsupported=109

unsupported includes non-BUFR4 fixtures and uegabe.bufr, which ecCodes' own reference script excludes because its numeric reference is incorrect.

Notes And Limitations

  • BUFR editions other than edition 4 are rejected.
  • ecCodes BUFR definitions are bundled. Pass definitions= or table_dir= only when you want to override the bundled tables.
  • to_dataframe() is optional and imports pandas only when called.
  • The current decoded value model is long-form. Higher-level xarray-style dimensions and coordinates can be built on top of this API as the decoder matures.

License

Apache-2.0.

The bundled ecCodes-derived BUFR table files are also Apache-2.0 and retain the ecCodes notice files in python/bufrust/definitions.

Metadata

Release files for bufrust 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bufrust 1.0.4
File Size Uploaded
bufrust-1.0.4.tar.gz 4.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for bufrust 1.0.4
File
bufrust-1.0.4-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
bufrust-1.0.4-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
bufrust-1.0.4-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
bufrust-1.0.4-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
bufrust-1.0.4-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
bufrust-1.0.4-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
bufrust-1.0.4-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
bufrust-1.0.4-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
bufrust-1.0.4-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
bufrust-1.0.4-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
bufrust-1.0.4-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
bufrust-1.0.4-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
bufrust-1.0.4-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
bufrust-1.0.4-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
bufrust-1.0.4-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
bufrust-1.0.4-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
bufrust-1.0.4-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
bufrust-1.0.4-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
bufrust-1.0.4-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
bufrust-1.0.4-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
bufrust-1.0.4-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
bufrust-1.0.4-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
bufrust-1.0.4-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
bufrust-1.0.4-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 229.0 MB

Release files / bufrust-1.0.4.tar.gz

Download URL bufrust-1.0.4.tar.gz
Size 4.8 MB
Tags Source
SHA-256 checksum
How to use checksums
ebc59dd023d6634a2dad635786e7580f71a75ca19966e5cb2ed46275e68adc4a
BLAKE2b-256 checksum
How to use checksums
0b55bf0f2865a9e2dd6ac54de9869d36dc65ec5a99515db3a1d84c52fcc12ec2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp314-cp314-win_amd64.whl

Download URL bufrust-1.0.4-cp314-cp314-win_amd64.whl
Size 9.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a64a988214ea0e49c3c1d1f2f92735fe1f278b8906dbd5617e1e414861959727
BLAKE2b-256 checksum
How to use checksums
dedd5a739ebcd1d1912581f9f72aa62db011176c9082d598b954b1f829ee0bb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp314-cp314-win32.whl

Download URL bufrust-1.0.4-cp314-cp314-win32.whl
Size 9.4 MB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
1e4b7d7c53527ea24be4b19449a281351c243f61512c3e51291ff73fbfa82097
BLAKE2b-256 checksum
How to use checksums
378b5063b9f973d747606b0981a3f72c4688e1916ba8ef542d76b6f2e9d43b77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL bufrust-1.0.4-cp314-cp314-manylinux_2_28_x86_64.whl
Size 9.3 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a70934d9c41862650880e6449fcea001ef308651c667c3a4af8af79ce4971730
BLAKE2b-256 checksum
How to use checksums
3f1cdebf0aee5836c27fda66af9c1b857cd6e58148c6a8e903d64a3db1776a31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp314-cp314-macosx_11_0_arm64.whl

Download URL bufrust-1.0.4-cp314-cp314-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8731c6bc1246dc75b5f0d35342c25fedd6e88adb92c3c1eeefb20e9976ff67d5
BLAKE2b-256 checksum
How to use checksums
001cf220e01a077963cb046cd31ac7d1bf29ac9bddb187fb74d3a79ba596b05b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp313-cp313-win_amd64.whl

Download URL bufrust-1.0.4-cp313-cp313-win_amd64.whl
Size 9.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
c7dbdba303ecd9c12ef1bf25bb9b1c6aa2afad247bb1388c247abdce0fce6004
BLAKE2b-256 checksum
How to use checksums
7c4b2e69f6365a439656dd3c8531ea5615b00501a55f7ea187dbde6e06958141
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp313-cp313-win32.whl

Download URL bufrust-1.0.4-cp313-cp313-win32.whl
Size 9.4 MB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
3d834e588a806705ffaf2e6399a1f16ff5d893246586076cafaaaa8f960598c7
BLAKE2b-256 checksum
How to use checksums
dbcf3c40beeb38c1c6b1e2a7370c7bb476801bea35594391e2144e94a10c84d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL bufrust-1.0.4-cp313-cp313-manylinux_2_28_x86_64.whl
Size 9.3 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
99c46eab3075142e380efb2d77a5530bad2979a5339fcce310f455253ef2e610
BLAKE2b-256 checksum
How to use checksums
acfe0b02e302d0237160479f41f7ba4630e591a633e5d7803d2848a2fd80e516
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp313-cp313-macosx_11_0_arm64.whl

Download URL bufrust-1.0.4-cp313-cp313-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cf772881d6d0e0b3c817c5a47da56e8178c7a4e65aed8cfd1417d40ac724c71c
BLAKE2b-256 checksum
How to use checksums
cca84e17f52aef7b34a2c3dd8a9ac2d68118d0a0389bb3fe26dc0b575c086f3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp312-cp312-win_amd64.whl

Download URL bufrust-1.0.4-cp312-cp312-win_amd64.whl
Size 9.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6cccc70a28e8f7e16096a051f62b56ecd62b6be36119b34a056c16c34596175f
BLAKE2b-256 checksum
How to use checksums
98f6bf6f54cfe4d2993ef034d09f14f608b492d6ca67b31fbf5d0422695e9498
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp312-cp312-win32.whl

Download URL bufrust-1.0.4-cp312-cp312-win32.whl
Size 9.4 MB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
1c3039663cf9d2b6e1bdbb0ecaf2c2e759824177cde1b926b76ccb0e58a0e65b
BLAKE2b-256 checksum
How to use checksums
34f3303bedcdc824cc7089aff627d44e9e8d2d768e3fe1662686229a62ac78b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL bufrust-1.0.4-cp312-cp312-manylinux_2_28_x86_64.whl
Size 9.3 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9c114954cbdf14493022858dff060f357813d3b1cdb8966b1bc8d3b9c30b5074
BLAKE2b-256 checksum
How to use checksums
cebccdee3bc8b521b677499b2c8a13f0ae0a9c231c069cf1ded6f4a0f9442885
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp312-cp312-macosx_11_0_arm64.whl

Download URL bufrust-1.0.4-cp312-cp312-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b0575cc49d41494d2b1bf94faaa674a330e12a186ee60df1d40123cbfba41045
BLAKE2b-256 checksum
How to use checksums
233f286cb4a8b245cf43cd7c50861089aafe0a9299db9ac761532da1f99d7d3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp311-cp311-win_amd64.whl

Download URL bufrust-1.0.4-cp311-cp311-win_amd64.whl
Size 9.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
da079aa4bec25d19e8824a1674f2fb70162de4538e62b8981982f984ac2ac525
BLAKE2b-256 checksum
How to use checksums
4152d5783f8a14ecd1655e61fa9b50f6b11e06582a205f56d4ea04360c1104cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp311-cp311-win32.whl

Download URL bufrust-1.0.4-cp311-cp311-win32.whl
Size 9.4 MB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
887085c120a6e51e48a16cf451d13a0dfe1c103b4669f9c58a46e0c382ba2fa7
BLAKE2b-256 checksum
How to use checksums
e9946caa43abed277e3e15c5b68f4744217f203f96ef0c09f670eea805860bdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL bufrust-1.0.4-cp311-cp311-manylinux_2_28_x86_64.whl
Size 9.3 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ec67b8116b53fd996cb156f9b5991de0040643c87d08d4962365006a8e043bdd
BLAKE2b-256 checksum
How to use checksums
7198599b4494f2d2bc50bf2a8f1b93407523b0c9af7bc64c86d5222ca494a514
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp311-cp311-macosx_11_0_arm64.whl

Download URL bufrust-1.0.4-cp311-cp311-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d10989fa4795f2fab2717ce822caedd6e9442b38a75cfe59712661116dac60cb
BLAKE2b-256 checksum
How to use checksums
67f7f582dc066292f463b6a16a414539080ec657db6f57002e211cbdce11f721
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp310-cp310-win_amd64.whl

Download URL bufrust-1.0.4-cp310-cp310-win_amd64.whl
Size 9.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d1e22a3ed97bfbeace9d2c29223254913e5aaa38caf73ee8999ff9b14790b341
BLAKE2b-256 checksum
How to use checksums
0a95310663ce21e4e0b76d725ef8b64893e6da884017c528f0c154c1c67c1ac8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp310-cp310-win32.whl

Download URL bufrust-1.0.4-cp310-cp310-win32.whl
Size 9.4 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
82ace12244b7b8d4df6d439d5f53a8ddc6e2e66e25fb264e375aca1e0537df32
BLAKE2b-256 checksum
How to use checksums
70ce359a9c89826fc687d18e441346754e798520cd82a1b4aa7a6374005a3ece
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL bufrust-1.0.4-cp310-cp310-manylinux_2_28_x86_64.whl
Size 9.3 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
16801efe47547f2ac100cf8b14f22968dd429e1f295d162ecf6e65bdf6367021
BLAKE2b-256 checksum
How to use checksums
28d014d61c9443fcfb8deac948b3c2ecf8a30044e6a9eab4e36dab484c40c31e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp310-cp310-macosx_11_0_arm64.whl

Download URL bufrust-1.0.4-cp310-cp310-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
af67141865d3b7003fe015a3d468541d0d546e0a70a4974c200b4c65824c7e32
BLAKE2b-256 checksum
How to use checksums
4e62c1cbb65a9cd40836fa5191bcc40a5d206fdd51f2c0febd51bf4ffd54c0d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp39-cp39-win_amd64.whl

Download URL bufrust-1.0.4-cp39-cp39-win_amd64.whl
Size 9.4 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
db84d582e05dde84ee1126fe88ab584a07bd4a6f9cc1b4de625d20c2f137df2e
BLAKE2b-256 checksum
How to use checksums
29dc1b4d4756877b5dc4ca70f393b937bc014f582defc5d8b84cbed020b9d232
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp39-cp39-win32.whl

Download URL bufrust-1.0.4-cp39-cp39-win32.whl
Size 9.4 MB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
5190d8079a215183e7e5f198dc233fc39f094ecf8cf9491dd65447c4d2eb9137
BLAKE2b-256 checksum
How to use checksums
17bfd214aba42e5dc620cde90ef91a86caac4e5d5b62db4d732ca74f9ba4df95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL bufrust-1.0.4-cp39-cp39-manylinux_2_28_x86_64.whl
Size 9.3 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
88b764f52bb66babd32c66be68eba855f47782fea7debea46d662c4ff339762a
BLAKE2b-256 checksum
How to use checksums
84b4cdb4a7a548814484f859af32f7f660381b104a145c3b46c76c5b03768742
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release files / bufrust-1.0.4-cp39-cp39-macosx_11_0_arm64.whl

Download URL bufrust-1.0.4-cp39-cp39-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
52056763390f41bdd3c64bcac3535a5dbfb9469abdca85f1ae0ae6c6f962e7fb
BLAKE2b-256 checksum
How to use checksums
4d0221971ad946e930be4741152d98ee28a0f9669498effd8ed221d586f08680
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.4 This release

25 release files

1.0.3

25 release files

1.0.2

25 release files

1.0.1

25 release files

1.0.0

24 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