Skip to main content

Fast BUFR edition 4 parser and decoder powered by Rust

Project description

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.

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

bufrust-1.0.4.tar.gz (4.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bufrust-1.0.4-cp314-cp314-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.14Windows x86-64

bufrust-1.0.4-cp314-cp314-win32.whl (9.4 MB view details)

Uploaded CPython 3.14Windows x86

bufrust-1.0.4-cp314-cp314-manylinux_2_28_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

bufrust-1.0.4-cp314-cp314-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

bufrust-1.0.4-cp313-cp313-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.13Windows x86-64

bufrust-1.0.4-cp313-cp313-win32.whl (9.4 MB view details)

Uploaded CPython 3.13Windows x86

bufrust-1.0.4-cp313-cp313-manylinux_2_28_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

bufrust-1.0.4-cp313-cp313-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

bufrust-1.0.4-cp312-cp312-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.12Windows x86-64

bufrust-1.0.4-cp312-cp312-win32.whl (9.4 MB view details)

Uploaded CPython 3.12Windows x86

bufrust-1.0.4-cp312-cp312-manylinux_2_28_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

bufrust-1.0.4-cp312-cp312-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

bufrust-1.0.4-cp311-cp311-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.11Windows x86-64

bufrust-1.0.4-cp311-cp311-win32.whl (9.4 MB view details)

Uploaded CPython 3.11Windows x86

bufrust-1.0.4-cp311-cp311-manylinux_2_28_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

bufrust-1.0.4-cp311-cp311-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

bufrust-1.0.4-cp310-cp310-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.10Windows x86-64

bufrust-1.0.4-cp310-cp310-win32.whl (9.4 MB view details)

Uploaded CPython 3.10Windows x86

bufrust-1.0.4-cp310-cp310-manylinux_2_28_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

bufrust-1.0.4-cp310-cp310-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

bufrust-1.0.4-cp39-cp39-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.9Windows x86-64

bufrust-1.0.4-cp39-cp39-win32.whl (9.4 MB view details)

Uploaded CPython 3.9Windows x86

bufrust-1.0.4-cp39-cp39-manylinux_2_28_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

bufrust-1.0.4-cp39-cp39-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file bufrust-1.0.4.tar.gz.

File metadata

  • Download URL: bufrust-1.0.4.tar.gz
  • Upload date:
  • Size: 4.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4.tar.gz
Algorithm Hash digest
SHA256 ebc59dd023d6634a2dad635786e7580f71a75ca19966e5cb2ed46275e68adc4a
MD5 2e2082371bbb1ca3a9bf30339a9c29e7
BLAKE2b-256 0b55bf0f2865a9e2dd6ac54de9869d36dc65ec5a99515db3a1d84c52fcc12ec2

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4.tar.gz:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a64a988214ea0e49c3c1d1f2f92735fe1f278b8906dbd5617e1e414861959727
MD5 d31142dbdae4be342647d7e51868766d
BLAKE2b-256 dedd5a739ebcd1d1912581f9f72aa62db011176c9082d598b954b1f829ee0bb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp314-cp314-win_amd64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp314-cp314-win32.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp314-cp314-win32.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 1e4b7d7c53527ea24be4b19449a281351c243f61512c3e51291ff73fbfa82097
MD5 ef96aee9fa5fa43939623d995c924c81
BLAKE2b-256 378b5063b9f973d747606b0981a3f72c4688e1916ba8ef542d76b6f2e9d43b77

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp314-cp314-win32.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a70934d9c41862650880e6449fcea001ef308651c667c3a4af8af79ce4971730
MD5 2a9419d926eb9850824eed614f2a2241
BLAKE2b-256 3f1cdebf0aee5836c27fda66af9c1b857cd6e58148c6a8e903d64a3db1776a31

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8731c6bc1246dc75b5f0d35342c25fedd6e88adb92c3c1eeefb20e9976ff67d5
MD5 ad2fc99e43f051b7861713fc470ae1dc
BLAKE2b-256 001cf220e01a077963cb046cd31ac7d1bf29ac9bddb187fb74d3a79ba596b05b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c7dbdba303ecd9c12ef1bf25bb9b1c6aa2afad247bb1388c247abdce0fce6004
MD5 7a64d64ba51d120a80d3d2abc3502b9c
BLAKE2b-256 7c4b2e69f6365a439656dd3c8531ea5615b00501a55f7ea187dbde6e06958141

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp313-cp313-win_amd64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp313-cp313-win32.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp313-cp313-win32.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 3d834e588a806705ffaf2e6399a1f16ff5d893246586076cafaaaa8f960598c7
MD5 e5f8b706b022cc4d08eae26806e92244
BLAKE2b-256 dbcf3c40beeb38c1c6b1e2a7370c7bb476801bea35594391e2144e94a10c84d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp313-cp313-win32.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 99c46eab3075142e380efb2d77a5530bad2979a5339fcce310f455253ef2e610
MD5 43576b183e9dbdba61754956de3ff75a
BLAKE2b-256 acfe0b02e302d0237160479f41f7ba4630e591a633e5d7803d2848a2fd80e516

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf772881d6d0e0b3c817c5a47da56e8178c7a4e65aed8cfd1417d40ac724c71c
MD5 441583462379eedad65e7b32b0fb860e
BLAKE2b-256 cca84e17f52aef7b34a2c3dd8a9ac2d68118d0a0389bb3fe26dc0b575c086f3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 9.4 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

Hashes for bufrust-1.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6cccc70a28e8f7e16096a051f62b56ecd62b6be36119b34a056c16c34596175f
MD5 2959171c16749ce2d13494b6f3ed3ae3
BLAKE2b-256 98f6bf6f54cfe4d2993ef034d09f14f608b492d6ca67b31fbf5d0422695e9498

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp312-cp312-win_amd64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp312-cp312-win32.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp312-cp312-win32.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 1c3039663cf9d2b6e1bdbb0ecaf2c2e759824177cde1b926b76ccb0e58a0e65b
MD5 1f09aa68fbbc7354e0d1d0cd4d8bcbb2
BLAKE2b-256 34f3303bedcdc824cc7089aff627d44e9e8d2d768e3fe1662686229a62ac78b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp312-cp312-win32.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9c114954cbdf14493022858dff060f357813d3b1cdb8966b1bc8d3b9c30b5074
MD5 b08ab5e1f3604a4a43c84f5a76c9d9f3
BLAKE2b-256 cebccdee3bc8b521b677499b2c8a13f0ae0a9c231c069cf1ded6f4a0f9442885

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0575cc49d41494d2b1bf94faaa674a330e12a186ee60df1d40123cbfba41045
MD5 29a8153bdece66b38348541163d8db2f
BLAKE2b-256 233f286cb4a8b245cf43cd7c50861089aafe0a9299db9ac761532da1f99d7d3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 da079aa4bec25d19e8824a1674f2fb70162de4538e62b8981982f984ac2ac525
MD5 0c04c7bf9dedafc01e02ad5113cec677
BLAKE2b-256 4152d5783f8a14ecd1655e61fa9b50f6b11e06582a205f56d4ea04360c1104cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp311-cp311-win_amd64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp311-cp311-win32.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp311-cp311-win32.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 887085c120a6e51e48a16cf451d13a0dfe1c103b4669f9c58a46e0c382ba2fa7
MD5 c934b4a405cf092f81e039fe6484dad9
BLAKE2b-256 e9946caa43abed277e3e15c5b68f4744217f203f96ef0c09f670eea805860bdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp311-cp311-win32.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec67b8116b53fd996cb156f9b5991de0040643c87d08d4962365006a8e043bdd
MD5 49d8701679049793b829c64e738ce314
BLAKE2b-256 7198599b4494f2d2bc50bf2a8f1b93407523b0c9af7bc64c86d5222ca494a514

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d10989fa4795f2fab2717ce822caedd6e9442b38a75cfe59712661116dac60cb
MD5 6f9452704c648b9a69d616a92c214b19
BLAKE2b-256 67f7f582dc066292f463b6a16a414539080ec657db6f57002e211cbdce11f721

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d1e22a3ed97bfbeace9d2c29223254913e5aaa38caf73ee8999ff9b14790b341
MD5 50ea7f6914c03c6ede5ee0c6021f2eca
BLAKE2b-256 0a95310663ce21e4e0b76d725ef8b64893e6da884017c528f0c154c1c67c1ac8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp310-cp310-win_amd64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp310-cp310-win32.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp310-cp310-win32.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 82ace12244b7b8d4df6d439d5f53a8ddc6e2e66e25fb264e375aca1e0537df32
MD5 36de6e57c8da4a474403bda9f086c965
BLAKE2b-256 70ce359a9c89826fc687d18e441346754e798520cd82a1b4aa7a6374005a3ece

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp310-cp310-win32.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 16801efe47547f2ac100cf8b14f22968dd429e1f295d162ecf6e65bdf6367021
MD5 69bada59724590d31f2b24ea65cd80ad
BLAKE2b-256 28d014d61c9443fcfb8deac948b3c2ecf8a30044e6a9eab4e36dab484c40c31e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af67141865d3b7003fe015a3d468541d0d546e0a70a4974c200b4c65824c7e32
MD5 ac50e9c7c39ab21dce52a11dd08dc2ed
BLAKE2b-256 4e62c1cbb65a9cd40836fa5191bcc40a5d206fdd51f2c0febd51bf4ffd54c0d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 db84d582e05dde84ee1126fe88ab584a07bd4a6f9cc1b4de625d20c2f137df2e
MD5 e0151abda5faa08585d6863f6b53e372
BLAKE2b-256 29dc1b4d4756877b5dc4ca70f393b937bc014f582defc5d8b84cbed020b9d232

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp39-cp39-win_amd64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp39-cp39-win32.whl.

File metadata

  • Download URL: bufrust-1.0.4-cp39-cp39-win32.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bufrust-1.0.4-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 5190d8079a215183e7e5f198dc233fc39f094ecf8cf9491dd65447c4d2eb9137
MD5 bd4e4faf1177438dd56291deb57df955
BLAKE2b-256 17bfd214aba42e5dc620cde90ef91a86caac4e5d5b62db4d732ca74f9ba4df95

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp39-cp39-win32.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 88b764f52bb66babd32c66be68eba855f47782fea7debea46d662c4ff339762a
MD5 f893e6c098dc3185a42c6049e43bb20a
BLAKE2b-256 84b4cdb4a7a548814484f859af32f7f660381b104a145c3b46c76c5b03768742

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bufrust-1.0.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52056763390f41bdd3c64bcac3535a5dbfb9469abdca85f1ae0ae6c6f962e7fb
MD5 4b2774eb2d92263e60003f9d985c88f2
BLAKE2b-256 4d0221971ad946e930be4741152d98ee28a0f9669498effd8ed221d586f08680

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.4-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: python-wheels.yml on crazyapril/bufrust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page