restate-sdk
A Python SDK for Restate
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- Medium install friction due to Rust compilation requirements.
- The package is actively maintained with recent releases and supports current Python versions (3.10+).
License · maintenance · safety
(unclear)
last release 2026-08-14 (0 days) · last repo commit 2026-08-14 · 78 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 325,947 downloads/mo, #7,580 on PyPI
Alternatives
Verify before relying
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- 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
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 on it.
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
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.
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.
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
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 |
| Classifiers | Programming Language :: Python :: Implementation :: CPythonProgramming Language :: RustTopic :: Software Development :: Libraries :: Application Frameworks |
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
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 › “distributed durable async await”
- restate-sdkRestate SDK provides a Python interface for building resilient…
- absurd-sdkPython SDK for Absurd, a PostgreSQL-based durable task execution…
- temporalioTemporal Python SDK provides a framework for building durable,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also aws-durable-execution-sdk-python · azure-functions-durable · dbos · durabletask · durabletask.azuremanaged · pydantic-ai-absurd · agent-framework-durabletask · metaflow-checkpoint · temporalio · hatchet-sdk