Home

Awesome

Documentation Examples Discord Twitter

Python SDK for restate

Restate is a system for easily building resilient applications using distributed durable async/await. This repository contains the Restate SDK for writing services in Python.

Community

Using the SDK

To use this SDK, add the dependency to your project:

pip install restate_sdk

Versions

The Python SDK is currently in active development, and might break across releases.

The compatibility with Restate is described in the following table:

Restate Server\sdk-python0.0/0.1/0.20.3/0.4
1.0βœ…βŒ
1.1βœ…βœ…

Contributing

We’re excited if you join the Restate community and start contributing! Whether it is feature requests, bug reports, ideas & feedback or PRs, we appreciate any and all contributions. We know that your time is precious and, therefore, deeply value any effort to contribute!

Local development

Setup your virtual environment using the tool of your choice, e.g. VirtualEnv:

python3 -m venv .venv
source venv/bin/activate

Install maturin:

pip install maturin

Now build the Rust module and include opt-in additional dev dependencies:

maturin dev -E test,lint

You usually need to build the Rust module only once, but you might need to rebuild it on pulls.

For linting and testing:

just verify

Releasing the package

Pull latest main:

git checkout main && git pull

Update module version in Cargo.toml, commit it. Then push tag, e.g.:

git tag -m "Release v0.1.0" v0.1.0
git push origin v0.1.0