thrift
Python bindings for the Apache Thrift RPC system
Decision gist · record as of 2026-08-14
Yes, if you are working with an existing Thrift infrastructure or need cross-language RPC support. The package is production-stable, actively maintained, permissively licensed, has no dependencies, and ranks in the top 1000 PyPI packages. Install only if your architecture actually calls for Thrift; it is not a general-purpose serialization library.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a Thrift service definition (.thrift file) to be compiled into Python code before use; the package provides the runtime layer, not code generation.
- Medium install friction due to platform-specific wheels for multiple Python versions and architectures, but the package is actively maintained with a recent release 34 days ago.
License · maintenance · safety
Apache License 2.0 (permissive) — Licensed under Apache License 2.0 (permissive), allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.
last release 2026-07-11 (34 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 44,831,557 downloads/mo, #625 on PyPI
Alternatives
Verify before relying
pip install thrift
from thrift.transport import TSocket
from thrift.protocol import TBinaryProtocol- Whether Python version support is truly unspecified or if there are undocumented minimum/maximum version constraints.
- Whether the package includes the Thrift compiler or only the Python runtime bindings.
- Specific use cases and typical deployment patterns for the Python bindings.
What it is and what it does
Thrift is the Python runtime library for Apache Thrift, a framework for building RPC services that work across different programming languages and platforms. It provides the core protocol, transport, and serialization layers needed to communicate with Thrift services—handling the low-level details of how data is encoded, transmitted, and decoded over the network.
You use Thrift when you have a .thrift service definition that has been compiled into Python code; the thrift package then provides the runtime classes (protocols like TBinaryProtocol, transports like TSocket, and server implementations) that your generated code depends on. It has no runtime dependencies, making it lightweight to install, though it requires understanding Thrift's service definition language and code generation workflow.
Use it for
- Building Python clients that connect to Thrift RPC services written in other languages.
- Implementing a Thrift RPC server in Python that serves requests from polyglot clients.
- Serializing and deserializing structured data using Thrift's binary protocol for inter-service communication.
- Integrating Python microservices into a larger Thrift-based distributed system.
- Using TSocket and TBinaryProtocol for efficient network communication in performance-critical services.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are working with an existing Thrift infrastructure or need cross-language RPC support.
The package is production-stable, actively maintained, permissively licensed, has no dependencies, and ranks in the top 1000 PyPI packages. Install only if your architecture actually calls for Thrift; it is not a general-purpose serialization library.
Install
thrift on PyPI
Before you install
Medium install friction due to platform-specific wheels for multiple Python versions and architectures, but the package is actively maintained with a recent release 34 days ago.
Requires a Thrift service definition (.thrift file) to be compiled into Python code before use; the package provides the runtime layer, not code generation.
License in practice
Licensed under Apache License 2.0 (permissive), allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install thrift
from thrift.transport import TSocket
from thrift.protocol import TBinaryProtocol
Verify before relying
- Whether Python version support is truly unspecified or if there are undocumented minimum/maximum version constraints.
- Whether the package includes the Thrift compiler or only the Python runtime bindings.
- Specific use cases and typical deployment patterns for the Python bindings.
Package facts
| License | Apache License 2.0 permissive |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 34 days since the last release |
| First released | |
| Downloads | 44,831,557 / month, #625 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Software Development :: LibrariesTopic :: System :: Networking |
Evidence: thrift-0.24.0-cp310-cp310-macosx_10_9_x86_64.whl; thrift-0.24.0-cp310-cp310-macosx_11_0_arm64.whl; thrift-0.24.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; thrift-0.24.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; thrift-0.24.0-cp310-cp310-musllinux_1_2_aarch64.whl; thrift-0.24.0-cp310-cp310-musllinux_1_2_x86_64.whl; thrift-0.24.0-cp310-cp310-win_amd64.whl; thrift-0.24.0-cp311-cp311-macosx_10_9_x86_64.whl; thrift-0.24.0-cp311-cp311-macosx_11_0_arm64.whl; thrift-0.24.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; thrift-0.24.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; thrift-0.24.0-cp311-cp311-musllinux_1_2_aarch64.whl; thrift-0.24.0-cp311-cp311-musllinux_1_2_x86_64.whl; thrift-0.24.0-cp311-cp311-win_amd64.whl; thrift-0.24.0-cp312-cp312-macosx_10_13_x86_64.whl; thrift-0.24.0-cp312-cp312-macosx_11_0_arm64.whl; thrift-0.24.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; thrift-0.24.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; thrift-0.24.0-cp312-cp312-musllinux_1_2_aarch64.whl; thrift-0.24.0-cp312-cp312-musllinux_1_2_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “thrift serialization”
- thriftThrift is the Python bindings for Apache Thrift, an RPC framework…
- opentelemetry-exporter-jaegerInstalls Jaeger exporters for OpenTelemetry to send distributed…
- hive-metastore-clientA Python client for connecting to Apache Hive Metastore and executing…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also thrift-sasl · thriftpy2 · avro · hmsclient · pure-transport · opentelemetry-exporter-jaeger-thrift · avro-python3 · hive-metastore-client · discord-protos · pyone