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.
- 🤗️ Join our online community for help, sharing feedback and talking to the community.
- 📖 Check out our documentation to get quickly started!
- 📣 Follow us on Twitter for staying up to date.
- 🙋 Create a GitHub issue for requesting a new feature or reporting a problem.
- 🏠 Visit our GitHub org for exploring other repositories.
To use this SDK, add the dependency to your project:
pip install restate_sdk
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-python | 0.0/0.1/0.2 | 0.3/0.4 |
---|---|---|
1.0 | ✅ | ❌ |
1.1 | ✅ | ✅ |
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!
- Python 3
- PyEnv or VirtualEnv
- just
- Rust toolchain
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
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