skillfed

restate-sdk

A Python SDK for Restate

restate-sdk v1.0.4 325.9K downloads/30d#7,580 on PyPI78
License unclear Active released

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-sdk

uv

uv add restate-sdk

poetry

poetry add restate-sdk

Installing 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

Programming Language :: Python :: Implementation :: CPythonProgramming Language :: RustTopic :: Software Development :: Libraries :: Application Frameworks

Tags

distributed durable async awaitresilient service frameworkfault-tolerant async pythonworkflow orchestration sdkdurable execution enginedistributed state managementfailure recovery framework
distributed-systemsdurable-executionworkflow-orchestration

More Application Frameworks packages