Skip to main content

Fast Apache Thrift bindings for Python powered by Rust and PyO3.

Project description

thriftrs2

PyPI Python License Rust

A fast, Rust-powered Apache Thrift toolkit for Python.

Features · Quick Start · Documentation · Changelog


About

thriftrs2 brings native Rust performance to Python Thrift workflows through PyO3. It provides an end-to-end toolkit: parse .thrift IDL files, serialize and deserialize structs, and run RPC clients and servers — all with a Python-first API that feels idiomatic.

Status: alpha. The core serialization, IDL parsing, and RPC paths are stable enough for evaluation; the API may still shift before 1.0.

Why another Thrift library?

Existing Python Thrift libraries are pure-Python and carry a serialization bottleneck. thriftrs2 replaces the hot path (parsing, ser/de, RPC framing) with compiled Rust, while keeping the user-facing API in Python where flexibility matters.

Features

Category What's included
IDL parser struct, service, enum, union, exception, const, typedef, include, namespace, throws, annotations, field defaults, extends inheritance
Protocols Binary, Compact, JSON (TJSON field-id format)
Serialization serialize / deserialize for structs; dumps / loads for JSON text
Transports TBufferedTransport, TFramedTransport
RPC client Context-manager based, sync call() with automatic request/response framing
RPC server Multi-threaded (configurable workers), sync handler dispatch, oneway support
Compatibility Reads thriftpy2 JSON envelopes; runs structured benchmarks against thriftpy2

Quick Start

Installation

pip install thriftrs2

Requires Python ≥ 3.9.

1. Load a Thrift file

from thriftrs2 import load

mod = load("example.thrift")
# mod.User       → struct type
# mod.UserService → service type

2. Serialize and deserialize

from thriftrs2 import serialize, deserialize

user = {"id": 1, "name": "Alice", "email": "alice@example.com", "age": 30}

blob = serialize(mod.User, user)
restored = deserialize(mod.User, blob)
assert restored == user

Protocol selection:

from thriftrs2 import ProtocolType

blob = serialize(mod.User, user, proto=ProtocolType.Compact)
restored = deserialize(mod.User, blob, proto=ProtocolType.Compact)

# JSON helpers
from thriftrs2 import dumps, loads
text = dumps(mod.User, user)
restored = loads(mod.User, text)

3. RPC client

from thriftrs2 import make_client, TBufferedTransport, ProtocolType

with make_client(
    mod.UserService,
    "127.0.0.1", 9090,
    TBufferedTransport.transport_type,
    protocol=ProtocolType.Binary,
) as client:
    user = client.call("get_user", user_id=1)

4. RPC server

from thriftrs2 import make_server

class Handler:
    def get_user(self, user_id):
        return mod.User(id=user_id, name="Alice", email="alice@example.com", age=30)

server = make_server(
    mod.UserService, Handler(),
    transport=TBufferedTransport.transport_type,
    protocol=ProtocolType.Binary,
    workers=4,
)
server.serve_forever("127.0.0.1", 9090)

Architecture

 ┌──────────────────────────────────────────┐
 │              Python API                   │
 │  load()  serialize()  make_client()  ...  │
 └──────────────┬───────────────────────────┘
                │ PyO3
 ┌──────────────┴───────────────────────────┐
 │              Rust Core                    │
 │  ┌──────────┐ ┌──────────┐ ┌───────────┐ │
 │  │  Parser  │ │ Protocol │ │   Python   │ │
 │  │  (nom)   │ │ (bin/cmp │ │  bindings  │ │
 │  │          │ │  /json)  │ │            │ │
 │  └──────────┘ └──────────┘ └───────────┘ │
 │  ┌──────────────────────────────────────┐ │
 │  │     Client / Server (tokio)          │ │
 │  └──────────────────────────────────────┘ │
 └──────────────────────────────────────────┘
  • Parser — Nom-based .thrift IDL parser producing an AST
  • Protocol — Binary, Compact, and JSON read/write with correct framing
  • Client/Server — Tokio-powered async I/O behind a sync Python API

Project Structure

thriftrs2/
├── src/
│   ├── lib.rs                  # PyO3 module entry point
│   ├── parser/                 # IDL parser (lexer, AST, grammar)
│   ├── protocol/               # Binary, Compact, JSON ser/de
│   └── python/                 # PyO3 bindings (client, server, types, parser wrappers)
├── python/
│   └── thriftrs2/              # Python package layer
│       ├── __init__.py         # Public API re-exports
│       ├── loader.py           # load(), make_client(), make_server()
│       └── protocol.py         # Python-side protocol helpers
├── examples/                   # Runnable examples & benchmarks
│   ├── example.thrift          # Sample IDL
│   ├── test.py                 # Struct round-trip
│   ├── test_protocols.py       # Protocol comparison
│   ├── client_example.py       # RPC client
│   ├── server_example.py       # RPC server
│   ├── ocr_client.py           # Larger service client
│   ├── ocr_server.py           # Larger service server
│   ├── benchmark.py            # Serialization micro-benchmark
│   └── benchmark_all.py        # Full matrix: ser/de + RPC vs thriftpy2
├── python/tests/               # pytest + cargo test suites
├── docs/USER_GUIDE.md          # Detailed user guide
├── Cargo.toml                  # Rust crate manifest (version source of truth)
├── pyproject.toml              # Python build config (maturin)
└── CHANGELOG.md                # Keep a Changelog

Performance

Results from benchmark_all.py (500 ser/de, 1K RPC iterations, 50 warmup, 3 runs, on AMD Ryzen 9950X3D). All comparisons vs thriftpy2.

Struct deserialization — all protocols

Deserialize + to_dict(), ops/s (higher = better):

Shape Wire bytes (Bin/Cmp/JSON) Binary Compact JSON JSON vs tp2
simple 21 / 11 / 36 B 1,610,845 1,501,299 1,155,703 3.3×
complex 641 / 460 / 986 B 233,622 227,657 113,934 2.4×
large 8.0 / 6.0 / 11.5 KB 18,576 18,619 8,199 3.0×
xlarge 65.8 / 47.6 / 100.5 KB 2,072 2,111 796 2.2×

Binary and Compact are neck-and-neck; Compact payloads are ~30% smaller. JSON deserialization uses a direct serde_json::Value → Python conversion path that skips the intermediate ThriftValue tree.

JSON serialize / deserialize — vs thriftpy2

Shape Payload Serialize vs tp2 Deserialize vs tp2
simple 36 B 3,108,918 ops/s 10.1× 1,143,568 ops/s 3.3×
complex ~1 KB 131,788 ops/s 5.6× 76,620 ops/s 2.4×
large ~11 KB 7,155 ops/s 2.9× 8,566 ops/s 3.0×
xlarge ~100 KB 776 ops/s 2.9× 646 ops/s 2.2×

Serialization runs 2.9–10.1× faster. Deserialization leads 2.2–3.3× across all payload sizes, reversing the pre-optimization gap at large payloads.

RPC: get_batch (~11 KB) — throughput (req/s) and speedup

Protocol Transport Conc=1 Conc=4 Conc=16 Conc=64
Binary Buffered 13,233 (547×) 15,009 (155×) 11,739 (31×) 10,393 (7.1×)
Binary Framed 15,480 (1.36×) 13,548 (1.59×) 12,221 (1.69×) 10,750 (1.40×)
JSON Buffered 1,335 (1.15×) 1,457 (1.33×) 1,147 (1.22×) 1,161 (1.33×)
JSON Framed 1,454 (1.25×) 1,442 (1.35×) 1,209 (1.26×) 1,158 (1.36×)

Values are throughput (requests / second) with speedup vs thriftpy2. All rows include thriftpy2 comparison (both Buffered and Framed transports). Binary Framed achieves the highest single-connection throughput for large payloads. Under concurrency, both Buffered and Framed Binary deliver ~10K+ req/s sustained. See the full matrix including get_simple, get_complex, save_complex, and save_batch by running:

# CI smoke (fast)
python examples/benchmark_all.py --ci-smoke

# Full matrix
python examples/benchmark_all.py \
    --ser-iterations 500 \
    --rpc-iterations 1000 \
    --warmup 50 \
    --rpc-concurrency 1 4 16 64 \
    --runs 3

Known Limitations

These are tracked gaps, not permanent design decisions:

  • JSON output envelope — Reads thriftpy2 JSON envelopes but does not yet emit them
  • Exception types — Declared Thrift exceptions are decoded and raised as RuntimeError rather than dedicated Python exception classes
  • Multi-file namespacesinclude resolves types across files but does not yet enforce a full scoped namespace model for same-name types
  • Benchmarks — Smoke mode is suitable for CI; production-grade numbers should use --runs 3 with adequate warmup

See open issues for the current backlog.

Development

# Setup
pip install maturin pytest
maturin develop --release

# Run tests
python -m pytest -q
cargo test
cargo check

# Rebuild after Rust changes
maturin develop --release

Contributing

Contributions are welcome. The project is early-stage, so starting with an issue to discuss scope is recommended before investing in large changes.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes and add tests
  4. Run python -m pytest -q && cargo test
  5. Open a pull request

License

MIT — see LICENSE.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

thriftrs2-0.1.0-cp314-cp314-win_amd64.whl (538.8 kB view details)

Uploaded CPython 3.14Windows x86-64

thriftrs2-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl (739.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

thriftrs2-0.1.0-cp314-cp314-manylinux_2_28_aarch64.whl (718.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

thriftrs2-0.1.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.3 MB view details)

Uploaded CPython 3.14macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

thriftrs2-0.1.0-cp313-cp313-win_amd64.whl (542.9 kB view details)

Uploaded CPython 3.13Windows x86-64

thriftrs2-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl (742.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

thriftrs2-0.1.0-cp313-cp313-manylinux_2_28_aarch64.whl (721.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

thriftrs2-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (742.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

thriftrs2-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (721.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

thriftrs2-0.1.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

thriftrs2-0.1.0-cp312-cp312-win_amd64.whl (541.9 kB view details)

Uploaded CPython 3.12Windows x86-64

thriftrs2-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl (741.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

thriftrs2-0.1.0-cp312-cp312-manylinux_2_28_aarch64.whl (721.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

thriftrs2-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (741.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

thriftrs2-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (721.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

thriftrs2-0.1.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

thriftrs2-0.1.0-cp311-cp311-win_amd64.whl (536.8 kB view details)

Uploaded CPython 3.11Windows x86-64

thriftrs2-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (736.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

thriftrs2-0.1.0-cp311-cp311-manylinux_2_28_aarch64.whl (716.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

thriftrs2-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (735.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

thriftrs2-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (716.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

thriftrs2-0.1.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

thriftrs2-0.1.0-cp310-cp310-win_amd64.whl (536.4 kB view details)

Uploaded CPython 3.10Windows x86-64

thriftrs2-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (735.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

thriftrs2-0.1.0-cp310-cp310-manylinux_2_28_aarch64.whl (716.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

thriftrs2-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (735.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

thriftrs2-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (716.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

thriftrs2-0.1.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

thriftrs2-0.1.0-cp39-cp39-win_amd64.whl (537.8 kB view details)

Uploaded CPython 3.9Windows x86-64

thriftrs2-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl (737.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

thriftrs2-0.1.0-cp39-cp39-manylinux_2_28_aarch64.whl (718.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

thriftrs2-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (737.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

thriftrs2-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (718.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

thriftrs2-0.1.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file thriftrs2-0.1.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: thriftrs2-0.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 538.8 kB
  • 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 thriftrs2-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c4ba2f0a6e9a3a9d9d3975a839ca8fa08ee910f5e0942de4b586e5df2a1caef4
MD5 0d0bd7111428138c8e7b60ae5a303c4b
BLAKE2b-256 61db8ffa4a94157a5c25c48cc7918dcf2408ad98cdeaf4f901555b498925648b

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp314-cp314-win_amd64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 16d4bc6b74a610cac90aaf977c894cc1a652ff214c50777de5322d1e68c00b8f
MD5 4caf423aabd06e76937745614179b1b4
BLAKE2b-256 7f30cadd62f72ec402733ec66cb74e08de2f351b2cd3ff883b1ae47f514ab926

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6771ce66ca1043f490b844ed217652583522867f29eee74bbc390747a1d2b264
MD5 202307fb17234f436519c51759100440
BLAKE2b-256 6a0d552824c1d5e471870c903a5f77d61397f90962cd071b0996e5259c42479a

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 30bf3fcbe35a7fe380af286b6810386f84700ac0a84359b4ff9d643fa20f7333
MD5 4724db68662e22ce9dfc4c83ba34feb3
BLAKE2b-256 21a6765f44278437c64b2f88ae173f42dd2db1f1bc6a788dfabad99c5cdaeebf

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: thriftrs2-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 542.9 kB
  • 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 thriftrs2-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8ccf9057f3b3ee2a7a1befb2564168483ec313ef2148289c58eba9f2cc8dbecc
MD5 18b99d3b30f9740d77c37ed2b3640c6d
BLAKE2b-256 9948beb32e2d02df85eb35909494d9361ba9102abbaf36f168b99b1453f5b921

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 319a0bcc3782a7b8d9b11b59bf67c92e91b2d224ae2c6d45c52457c88341952b
MD5 d2b1e5485b7085ee14651951cb4e1ec2
BLAKE2b-256 848a6762b924f1621032ff10fa975f94a7894a791e02f4d34565709258551f34

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 767cd6cea39e47378a4b930706aa59aa16931e1320b628b38e7043f06f7b8c24
MD5 1c78c41833c125f8e0727a248b1edfc4
BLAKE2b-256 3eeb1f84601e08a1dcdcdd8869adf56aa4d0f41163cb506fa9569def32838ec8

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4a1708cb1cfa2bda6e7f4fe77a4e51b77d47aae8e268b607213dab606f982fd
MD5 829011fabffb633b5535ffc53f919e9c
BLAKE2b-256 e1846f5e665209f65cdc9e410bf50800cd6cf94ab83b4e59a3fb405971a823d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 495361af04fb8e8fa631bf07f9f1cefdad77d0e818c8f363b949b591ff8e4b51
MD5 da7715d52466aeb2a268c9c52fef9749
BLAKE2b-256 584dee846174f58060e3b985dbb0a34b789f912322fe3111c97c1983439f62bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 cf7110de43fda2f223c865f72ed7b9dca9c83ecc200c6b250d92c6f302a58445
MD5 fdbe02e78a0bef0842837cd0dcaab409
BLAKE2b-256 8951a15999a42b16734518bdc779c7a057029ba0f75129ebefa72ccfff1a229d

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: thriftrs2-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 541.9 kB
  • 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 thriftrs2-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aec0a79ebf7ef477e8ca1fcadba9efc93f323dabd365638ac6fe109652a7cf81
MD5 54849122d9f8fe9a92715fb75fa2af1f
BLAKE2b-256 4ac63b51a98e10863ec487c816c3807632b73e6547e1a2b042388aaec0d32927

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8d6e3db0275dd48ee1dccedd00a6c5497f9cdd2e30749824fc990d009d8abd0a
MD5 eb805946fb0f6ee8a0dea730c7cf134d
BLAKE2b-256 c67024ee7f2a91710e39dd71786a7aafcda221af2a733fdc50d3115f00ce0db7

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c1680bda1914af4868d8937b1710da641c42f42747ae46d2df2512d28fc8b569
MD5 e0527bc662f9d4ffda60f3ad0790d481
BLAKE2b-256 a64a2e0c3624887ab1b37155f96a0c25566c29e480f82837a123f9724084f1ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a7d2f94e4b5e664b10658997f0e316598fd98e8d6ad3e1a22de8bf87e01d2728
MD5 5d48bc0d3fefa7038a42fdefd333bd08
BLAKE2b-256 3ad3709c1b4efbebee6af4060f588381b984a0ee8f7cf78d982417ce643a6009

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 46d6974535061971a1534b6c7fc7a6b3bf4e6764dd973a208607d833cb1ed26e
MD5 cbe1b2b1ee83289e6e8ada13615b7890
BLAKE2b-256 11dbac7c16f2bcbf110f7ff3840edde346f86866be8b47fce78cf8a0232aff8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 044df27b4ef1f476af163b0e127cbbab50c433f7605e2805abb70e793c4a762a
MD5 49a140c69c2ca941daec99675ca3f438
BLAKE2b-256 f782971c9c989156649f49e01dcdea20c1420161c80f94222e7a8579ddd1004e

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: thriftrs2-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 536.8 kB
  • 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 thriftrs2-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dbea050151aaebf67912e50fa3fe6cc934bec2a81770caf23008541dddc32b87
MD5 09d1db7411717c6110de196cfec03e68
BLAKE2b-256 f519f4a13f13b52090845c63a2294a7ac215f89c8e83ef91f5910f5b096e6e59

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c5f4700b1b4890a20f6b9b5fbc551050b1057e2ab905772b7b3ae69a9837695f
MD5 595911cbf74563d8b64e4aa1e5061733
BLAKE2b-256 17276496311761785956ccab8d2f09e20a03eb3d58a1402d456717dd50a13559

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b9344628f4c94956b0b787b38575004c8221679ef098202d4ec2b25796ffaeb4
MD5 0951f76d98b309fad1a48583243c7c6b
BLAKE2b-256 28938566674f73da98fb3d43b206fc4a3bfc3d91ac1128bfcab0f214117319c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ce19cbfada07009a24f72a06af05c06f170ab7cdd29216ade718c5c2d1dc3e4
MD5 fef8af9f4f24b7255cff0ee38393b9d7
BLAKE2b-256 c8fdccf5648250bee03498491ef582c314c606fcf4a34be14a9760a8912ca717

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9900f63dce0f1f5dea58a48144a5bc78be5ce298f49eed31e5d0b3bf78658e41
MD5 7edb1f1c11255a1463e49e79d8088580
BLAKE2b-256 a2ff9db3ba5b9e9623f6695e273adf5d62607d46a52fc4cca74c3d10a9508b07

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 392b956c009fc471955030b64604a15e73b81fe0b5b59abff3b54df4d426ed5a
MD5 494937739b98bed137ed6ef41e5e1b87
BLAKE2b-256 61f0f5283f5ccfac70494029a88eee410b2817abc783c485d0d93508bacfb4af

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: thriftrs2-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 536.4 kB
  • 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 thriftrs2-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7383178a4579ea5b0accddd115ba0cb5e2d05e83491b4f8985fe6a3555a41e1b
MD5 3c24e6ae2f65a337c094abd72314e647
BLAKE2b-256 e0c3a0f799676d84ad5600d9d4e24428f5b71136a531574cadef2bcec3b5e410

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9d7fe6d35816f0d9b82e3938d60e436f79260870ec5b8bd5148a9ad87e4752f7
MD5 a0e83ca9d6323dea0e91c1597601eacf
BLAKE2b-256 4a745e3cbc795d754abf6e0e5220a061309943191b4f9086830627b425b273c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c69dd59256fea4ebc8cd224ee474d59c216322acbffda95886f9f1423d010feb
MD5 0f6f7fcb1b21c215135fa9eac60c5dc3
BLAKE2b-256 1536ce5a4f0a111d6fef00014f41c3c94b83d2a2e147e2a3725c84c887a4867c

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d0316d984655f5f6ff54a794e7efa7684f12e93f1932c73340dfd4f98001338
MD5 5061f6870ab2a82d2272959ed0f36976
BLAKE2b-256 927a47b010b10363a2bc27e55284d392c7c18b1589ceccfc1c82308335b119b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7bd669ab653478df7e3551b8f8858bf354cd5dd09d8315c287d8fa4226f3a23c
MD5 17b28ad8dd76571b434bf8ee424e6ed7
BLAKE2b-256 601d6f513177f4e79fce8e20df4395f345650a29169fca5411569fe7ed833fa9

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 9df5b9b5a24c1d8a57658d5349790447b5de398a9c62ac5c6e8863149faaab85
MD5 19f400bca93b71dfdfeb02f87acd7600
BLAKE2b-256 2b3ba55051b66688167d5e4e7035d8a1c99e4ffc1849039315ae570c7e40e2ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: thriftrs2-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 537.8 kB
  • 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 thriftrs2-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e6af2a9500b2f6fac5cd008b445b85cac32c05cf5d18fd62362f9069191b76b1
MD5 0cdc6d716fe78ebd837de47cda2b9c26
BLAKE2b-256 852e8688eefeea4594ce1f564e5ac2aa2321a8324ab1d060a70725b7a45e7f5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp39-cp39-win_amd64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b32f3e7333d071f0fb1a1f15928dc29409af566167691ced2629f4643fd18ae9
MD5 ae45debf3c5e45c12b5cdd4edd105b8d
BLAKE2b-256 3583e4dc2fe74df08b81be6b7738beaa9dc8036c9d2c4c3058c3b178f7b87e3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 48191daa651b96feb1878e0b185e6295aa8daa26d47c9910fd248b938023168c
MD5 344e44dfb84a7900f64433bb534684fc
BLAKE2b-256 0d24dbfe02ce38793fc529aeb7444b1bdb1f872fc4faf381160d20a0a3cdb0c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp39-cp39-manylinux_2_28_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6534902ce36f9589c6d0e3954195851f9111e7d6949ede23640d558ef7ddeb08
MD5 acfddcd1faebdd7094f007a8f908b587
BLAKE2b-256 b93b6f83e060a34fbfbc092c20458ec941b6b1b83fb5dd9301f0c852371d1bb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 af2af08f97558136d92d48a3cd69da09c746ff32fd3bd7946fa186e15f97bedb
MD5 47fe1e4e78a883782b3cef4a542d016d
BLAKE2b-256 13df24dcf09c5aee7cb8c380e56db326c84c5c3806330e3a99239978b72e8e7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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

File details

Details for the file thriftrs2-0.1.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for thriftrs2-0.1.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 36dd7fae78f57225df4979adea10df911e7ffd838b750ce2d5a26dc98cb259a8
MD5 e2f571ed2af3e4a86166cec81a235a1e
BLAKE2b-256 46424d8e1ccb9c65ebb017abcf589cc7a257e888b8ea80e85a143c0fc77b8601

See more details on using hashes here.

Provenance

The following attestation bundles were made for thriftrs2-0.1.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on CherryLemon/thriftrs2

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