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.value, value.text)

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(decode=True)
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, value, raw, text, meaning, subset, position, and message.

Code-table and flag-table meanings are included by default in a meaning column populated from the bundled ecCodes codetables files:

print(frame[["descriptor", "raw", "meaning"]].dropna().head())

Use include_meaning to control that column:

with_meaning = ds.to_dataframe()                       # default
compact = ds.to_dataframe(include_meaning=False)       # omit meaning
first = ds.to_dataframe(message=0, include_meaning=True)

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

(2413286, 9)

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(decode=True)                    # includes meaning
compact = ds[0].to_dict(decode=True, include_meaning=False)
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.764 s 45 messages, 2,413,286 values, 149,430 meanings
ecCodes Python unpack + numericValues/stringValues 0.838 s 45 messages, 2,413,286 numeric values, 90 strings
pybufrkit Decoder.process(...) 3.750 s 45 messages, 2,413,286 values
bufrust.open(path).to_dataframe() 3.517 s DataFrame shape (2413286, 9)

The ecCodes and pybufrkit rows use their normal low-level Python decode paths and do not construct a pandas DataFrame or a per-value meaning column. 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 with the default meaning column.

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/.

Code/flag table meanings are exposed by default on high-level conversions:

df = ds.to_dataframe()                                 # includes meaning
df = ds.to_dataframe(include_meaning=False)            # compact columns
record = ds[0].to_dict(decode=True)                    # includes meaning
record = ds[0].to_dict(decode=True, include_meaning=False)

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, value, raw, text, and meaning
  • 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.3.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.3-cp314-cp314-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14Windows x86

bufrust-1.0.3-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.3-cp314-cp314-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

bufrust-1.0.3-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.3-cp313-cp313-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

bufrust-1.0.3-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.3-cp312-cp312-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

bufrust-1.0.3-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.3-cp311-cp311-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

bufrust-1.0.3-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.3-cp310-cp310-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9Windows x86

bufrust-1.0.3-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.3-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.3.tar.gz.

File metadata

  • Download URL: bufrust-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 87b36ca3dafb4ae7b189a61a9a68a447916791bd446406bad3410ee1ca7c00fb
MD5 d5c9f9556041491d07ee3c3456acbefb
BLAKE2b-256 4de16f8f0f8f638c867c2163fb6fc0cfe850774cf2c20dd81cf895909e45979d

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3.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.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 806db66ecb6d762cba8755a894ee366f669756b6adb23a30cc08222cb136e5f2
MD5 c7ed17772722c0db4eef67dd57a11587
BLAKE2b-256 b1aba3efef105679b88094fd82a3a113e35cb768fff0d6a878a915bff3ec69b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp314-cp314-win32.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 8a5a418b5338148712c4873f9568bfba90c0d76ba5bfb413c545ed43d50726ac
MD5 32bddb3ba8b0bd7a27fc243e49370922
BLAKE2b-256 3070f485be732157f7a256638ee75a3cb34ad14069d331863fc9215e7c692aa6

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d21936f09fd597a59799c791d4d1d3b960be31214a442a95cc5676aa055e4725
MD5 c11ad2b3c1889cd58406c26dd305cc04
BLAKE2b-256 bea3ae318c81b3f343dfa6de17ffe05d80503e7d5680974da8ee5f09d8bff149

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 50f69ee7d01da9417ecbb30a8e9ca1f37dee1f9afe29a75a08ac6c65b215e907
MD5 5b5d443a6dc5ae4b9d2689b6a9f5216a
BLAKE2b-256 c9c4dcddab406668e74e96707fa46be0bfc503c3824d092a64812869f27853d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6e9a461e4795b636a870946740047f1da941064d8c5489eae44feddddeeaa0e9
MD5 3039d9d7fc54143dc117adfa7f03f4ac
BLAKE2b-256 2fa512fa53a5ed3c0eda9b8feb204702c64b94a950003c48b32dcd1438e4269f

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp313-cp313-win32.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 3e74f16d118086746fe57bfe6771a38a4bcc701e40c86137035d41668c7fc643
MD5 a84fc3e81808e94478be878c4027c6e9
BLAKE2b-256 15560eb2bc9d0fad47b2cf293f6f6ff1ac1eb57f1207d2e8d676c2485642d416

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9642f08d80b96dc2eb01165553a4cd3ac1f434774248184cee213176315227fd
MD5 fbc89cb204363be6a5afd771ab4d9ca9
BLAKE2b-256 7c52c633c42e6413896c3a65b65ae1af58d84f68c5fe2549309cf40d0795ca4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52bc9bcc140b72e236bc045c8b877f15fe7218744bb15cdc917b20f5f2a960b1
MD5 2c6d8ce1fbb4b9a425a6571181b5cd92
BLAKE2b-256 54bcadc9cc1ee0408d467c34e63f7d25bc25812ecdfe51eb43328862bce2d1c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 68bb90eabedeccfa277e1175fd8cbdc6449bc2105d3bf1f8f818f460635a2386
MD5 b80dd699e0862d1e2e85959dfecc6b87
BLAKE2b-256 c71cf9640c4ebfb55befb15477997b870585750c1c9fb507ca8ecb40871fc011

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp312-cp312-win32.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 4cf2a4d71a614175869580803585e42ae4793438fd9b3556d312383de6ecdd76
MD5 9b86e672fcdf1dd54bf195a118c02b4e
BLAKE2b-256 b557fb3c07c6e1d415167b6e727fc5f52a1f31560110713722828d09d426d397

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 815fd68bd1e18bd1c84480b9146882560babc17fe7f607d889cf27dd591f74a6
MD5 bd4dc6d591631d63ff0eeeb9b7fc4e03
BLAKE2b-256 467c97aaf3720cb213aa67b3215f21cf2cd107e17dbc42c6b1b9b7d17c580e45

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da387572890735800c85923606a5f2276f1813c032f3b6460a01b1b442d8394c
MD5 e7f31428d917642a08a277bd47ab7434
BLAKE2b-256 83f1097b06f094c803b646e03e3e232e6394f1e540b32cdb941fec9f7b83a118

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6a3a7e01ec192cd9e7bead1efe99c2cb664a74c23ca5154fcd74a77da6476e8b
MD5 eaee085e89d7a538e84fc5daac6477fa
BLAKE2b-256 10cb7b286ce633ecfb08530f813592b461d6b56cb7df4f0198ee70f76a2654ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp311-cp311-win32.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 98c04d6eda7d9655a74946c6b04038dd30c13bb2f0fa514966f41ae2520298e3
MD5 455dc027c849c381cd392fd32d0131c1
BLAKE2b-256 94310d947ff03a51c3fde4e590d2a22d30c4f0c484ae491d7968eacce17de4a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3f8aaf3fc9b6afe281cca7808bef44fefab610ddc20cba1f6f1bb89db18d4877
MD5 fca5421c158529fb89f0f3a3ae677d9f
BLAKE2b-256 3f37fe96e45f92cc18d7f742b097f12d7beaa7dbecef3a141bfc9a607a897c36

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 93f1aebd3e4e954074a3018d4bc862e586f67fd5c74ade74182fa12a54e2552c
MD5 248dd31d9e1482b2551a7557bab45ae2
BLAKE2b-256 a33e06c9159309bd6566187f744e7708abe95c2c25be92f0f33c68818b15bb5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c42dff9284073f6493b61627b9d122b96a2aecf48b6161fb7344e2764ace9221
MD5 396ed671780e35e62b6be25ddf68b991
BLAKE2b-256 f3543c837ff21c03c1dd70b465125cd41660e7d7270d576b8a959255edb75660

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp310-cp310-win32.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 785cb879659de1070e28a13a58080a89e33ad9974161867698dd18b006ac24b6
MD5 c93fb54de30c872d6e4983ea29c6c713
BLAKE2b-256 8714093f04f9c437c30c2d746e1e1fd064b0cd351156169d8cca6f2b9cd15945

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dc46c1cdb7877ae54c6aba331def6f1b4048eac8b6eb6c680508b9b958825fe6
MD5 1b20eca077173f74bb9a1ea3d1a6df5d
BLAKE2b-256 11d68e9e5a68b9f3a8cc25f6c2dcf7800ab9335503ced670f62aa0dbf856fd15

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42fba34d72589032c642e00ad6ce2686ecd8c4ce754eb25d93cfb9aa5494b15d
MD5 760b1dbd61102c7f2c67d65a865d0051
BLAKE2b-256 ff507e60a3dbc8bcec9e6a21a87b0260a3540e768baa516dbb57a798fd14aefd

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b55223f5f0385e86e3bb308891998122cd2fc0e843ded2ade8468e00f6fa88f7
MD5 1e88c36ebeb8ad4a8f47976e5a05e997
BLAKE2b-256 b50d88c118d750c93a510384d353a79e2364cc8e76624e8ece5835eb874f7522

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp39-cp39-win32.whl.

File metadata

  • Download URL: bufrust-1.0.3-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.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 ca22574a413f1b1cc4a2d3b7f1d29f116c60f7f9d1e4cab78173937ce6268a06
MD5 2387898805289e5ecb3330a2783a3ec3
BLAKE2b-256 0990dfa21bc960a5eb2069fea0b12b528ff8306f5334aa3b858667ef8ce92539

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4904888cbaac0c927b75156c023659867a60bb54cd6875b22eaeab06eaf9e497
MD5 1c160215f784750f7ea904accce1d49b
BLAKE2b-256 ed41ffd3245a5d9d7df197206cac51b23419dacf8c4050b19d2e5887c342f9b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bufrust-1.0.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ffbe891a4ccab05d90036dc73062e9238d01334cb4bb202c26265aa32e86d8bd
MD5 38ada9393525fe1678c1dfba78db5d0c
BLAKE2b-256 e9139415a28fbd7fadfc45432726e84719ea79005a4ddfd025a2751422a32505

See more details on using hashes here.

Provenance

The following attestation bundles were made for bufrust-1.0.3-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