Awesome
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
- π€οΈ 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.
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-python | 0.0/0.1/0.2 | 0.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
- 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
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