restate-sdk
A Python SDK for Restate
What it is and what it does
Restate SDK is a Python framework for writing services that use distributed durable async/await—a programming model where async functions can be paused, checkpointed, and resumed across failures without losing state. It integrates with a Restate Server to provide automatic recovery, deduplication, and reliable execution of distributed workflows. The SDK requires Python 3.10 or later and is built with Rust bindings for performance; it has no runtime dependencies, keeping deployment lean once installed.
The framework is designed for building resilient applications where service failures, network interruptions, or crashes don't lose work in progress. Services define async functions that Restate tracks and replays on failure, making it suitable for workflows that span multiple services, long-running operations, or systems requiring strict exactly-once semantics. Compatibility with Restate Server versions 1.3 through 1.7 is documented, with some features (like scopes and limit keys) requiring Restate 1.7.
Use it for:
- Build multi-step workflows that survive service crashes and automatically resume from the last checkpoint
- Implement saga patterns for distributed transactions across microservices with guaranteed consistency
- Create long-running async operations (batch processing, data pipelines) that can be paused and resumed
- Handle service-to-service communication with built-in deduplication and retry semantics
- Develop event-driven systems where handlers must complete reliably despite transient failures
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Restate SDK provides a Python interface for building resilient distributed applications using durable async/await, enabling services to survive failures and resume from checkpoints.
Yes, if you are building distributed systems where failure recovery and exactly-once execution semantics are critical. The active maintenance, zero runtime dependencies, and broad Python version support (3.10+) make it low-risk to adopt. The Rust compilation requirement is a minor friction point but is offset by prebuilt wheels for common platforms. Verify that Restate Server version compatibility aligns with your infrastructure before committing.
Install
restate-sdk on PyPI
pip
pip install restate-sdkuv
uv add restate-sdkpoetry
poetry add restate-sdkInstalling restate-sdk
Before you install
Medium install friction due to Rust compilation requirements. The package is actively maintained with recent releases and supports current Python versions (3.10+). No runtime dependencies simplifies deployment once built.
Quickstart
pip install restate_sdk
import restate_sdk
# Define a durable service
@restate_sdk.service
async def my_service(ctx, request):
result = await ctx.call(another_service, request)
return result
Requires Python >= 3.10 and a running Restate Server instance (version 1.3–1.7 depending on feature requirements); Rust toolchain needed for local development/compilation.
Verify before relying
- Whether the Rust compilation step requires a Rust toolchain on the target system or if prebuilt wheels cover all deployment scenarios
- Performance characteristics and overhead compared to standard async frameworks
- Specific use-case limitations or constraints beyond the documented Restate Server version compatibility
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 325,947/month — #7,580 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: restate_sdk-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; restate_sdk-1.0.4-cp310-cp310-manylinux_2_28_aarch64.whl; restate_sdk-1.0.4-cp310-cp310-musllinux_1_2_aarch64.whl; restate_sdk-1.0.4-cp310-cp310-musllinux_1_2_x86_64.whl; restate_sdk-1.0.4-cp311-cp311-macosx_10_12_x86_64.whl; restate_sdk-1.0.4-cp311-cp311-macosx_11_0_arm64.whl; restate_sdk-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; restate_sdk-1.0.4-cp311-cp311-manylinux_2_28_aarch64.whl; restate_sdk-1.0.4-cp311-cp311-musllinux_1_2_aarch64.whl; restate_sdk-1.0.4-cp311-cp311-musllinux_1_2_x86_64.whl; restate_sdk-1.0.4-cp312-cp312-macosx_10_12_x86_64.whl; restate_sdk-1.0.4-cp312-cp312-macosx_11_0_arm64.whl; restate_sdk-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; restate_sdk-1.0.4-cp312-cp312-manylinux_2_28_aarch64.whl; restate_sdk-1.0.4-cp312-cp312-musllinux_1_2_aarch64.whl; restate_sdk-1.0.4-cp312-cp312-musllinux_1_2_x86_64.whl; restate_sdk-1.0.4-cp313-cp313-macosx_10_12_x86_64.whl; restate_sdk-1.0.4-cp313-cp313-macosx_11_0_arm64.whl; restate_sdk-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; restate_sdk-1.0.4-cp313-cp313-manylinux_2_28_aarch64.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
aws-durable-execution-sdk-pythonBuilds long-running AWS Lambda workflows with…
permissive · top 15,000 on PyPI
azure-functions-durableExtends Azure Functions to support stateful,…
permissive · top 5,000 on PyPI
dbosDBOS adds durable workflows and queues to…
permissive · top 5,000 on PyPI
durabletaskDurabletask is a Python SDK for building…
permissive · top 15,000 on PyPI
durabletask.azuremanagedProvides a Python provider implementation for…
permissive · top 15,000 on PyPI
pydantic-ai-absurdAdds durable execution to Pydantic AI agents by…
permissive · top 15,000 on PyPI
agent-framework-durabletaskIntegrates Microsoft Agent Framework agents…
permissive · top 15,000 on PyPI
metaflow-checkpointProvides decorators for Metaflow workflows to…
unclear · top 15,000 on PyPI
temporalioTemporal Python SDK provides a framework for…
permissive · top 1,000 on PyPI
hatchet-sdkHatchet SDK is the official Python client for…
permissive · top 5,000 on PyPI