{"id":13564364,"url":"https://github.com/restatedev/restate","last_synced_at":"2026-01-28T11:20:07.966Z","repository":{"id":209706654,"uuid":"585196214","full_name":"restatedev/restate","owner":"restatedev","description":"Restate is the platform for building resilient applications that tolerate all infrastructure faults w/o the need for a PhD.","archived":false,"fork":false,"pushed_at":"2025-06-26T16:31:39.000Z","size":74449,"stargazers_count":2491,"open_issues_count":243,"forks_count":73,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-06-26T17:38:12.500Z","etag":null,"topics":["async-await","cli","consistent-state","distributed-systems","durable-execution","event-driven","microservices","reliable-communication","serverless","workflow-engine"],"latest_commit_sha":null,"homepage":"https://docs.restate.dev","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/restatedev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-01-04T15:03:32.000Z","updated_at":"2025-06-26T16:31:42.000Z","dependencies_parsed_at":"2023-12-22T15:28:04.680Z","dependency_job_id":"642599a4-eca1-4051-bacc-ed69f90e9123","html_url":"https://github.com/restatedev/restate","commit_stats":null,"previous_names":["restatedev/restate"],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/restatedev/restate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/restatedev%2Frestate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/restatedev%2Frestate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/restatedev%2Frestate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/restatedev%2Frestate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/restatedev","download_url":"https://codeload.github.com/restatedev/restate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/restatedev%2Frestate/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262117670,"owners_count":23261870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async-await","cli","consistent-state","distributed-systems","durable-execution","event-driven","microservices","reliable-communication","serverless","workflow-engine"],"created_at":"2024-08-01T13:01:30.241Z","updated_at":"2026-01-28T11:20:07.960Z","avatar_url":"https://github.com/restatedev.png","language":"Rust","readme":"[![Documentation](https://img.shields.io/badge/doc-reference-blue)](https://docs.restate.dev)\n[![Examples](https://img.shields.io/badge/view-examples-blue)](https://github.com/restatedev/examples)\n[![Discord](https://img.shields.io/discord/1128210118216007792?logo=discord)](https://discord.gg/skW3AZ6uGd)\n[![Slack](https://img.shields.io/badge/Slack-4A154B?logo=slack\u0026logoColor=fff)](https://join.slack.com/t/restatecommunity/shared_invite/zt-2v9gl005c-WBpr167o5XJZI1l7HWKImA)\n[![Twitter](https://img.shields.io/twitter/follow/restatedev.svg?style=social\u0026label=Follow)](https://x.com/intent/follow?screen_name=restatedev)\n\n# Restate - Building resilient applications made easy!\n\n\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://restate.dev/use-cases-dark.png\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://restate.dev/use-cases-light.png\"\u003e\n    \u003cimg alt=\"Restate overview\" src=\"https://restate.dev/use-cases-light.png\" width=\"100%\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n[Restate](https://restate.dev) is the simplest way to build resilient applications.\n\nRestate provides a distributed durable version of your everyday building blocks, letting you build a wide range of use cases:\n\n* [Durable AI Agents](https://github.com/restatedev/ai-examples)\n* [Workflows-as-Code](https://docs.restate.dev/use-cases/workflows)\n* [Microservice Orchestration](https://docs.restate.dev/use-cases/microservice-orchestration)\n* [Event Processing](https://docs.restate.dev/use-cases/event-processing)\n* [Async Tasks](https://docs.restate.dev/use-cases/async-tasks)\n* [Agents, Stateful Actors, state machines, and much more](https://github.com/restatedev/examples)\n\n## Get started with Restate\n\n1. 🏎 [Follow the Quickstart](https://docs.restate.dev/get_started/quickstart) to get Restate up and running within 2 minutes!\n1. 💡 [The Tour of Restate](https://docs.restate.dev/get_started/tour) walks you through the most important features of Restate.\n\n## SDKs\n\nRestate supports the following SDKs:\n\n* [Typescript](https://github.com/restatedev/sdk-typescript)\n* [Java and Kotlin](https://github.com/restatedev/sdk-java)\n* [Python](https://github.com/restatedev/sdk-python)\n* [Go](https://github.com/restatedev/sdk-go)\n* [Rust](https://github.com/restatedev/sdk-rust)\n\n## Install\n\nWe offer pre-built binaries of the CLI and the server for MacOS and Linux.\n\nHave a look at the [Quickstart](https://docs.restate.dev/get_started/quickstart) or [installation instructions in the docs](https://docs.restate.dev/develop/local_dev). \n\n### Install the server\n\nInstall via Homebrew:\n```bash\nbrew install restatedev/tap/restate-server\n```\n\nRun via npx:\n```bash\nnpx @restatedev/restate-server\n```\n\nRun via docker:\n```bash\ndocker run --rm -p 8080:8080 -p 9070:9070 -p 9071:9071 \\\n    --add-host=host.docker.internal:host-gateway docker.restate.dev/restatedev/restate:latest\n```\n\n### Install the CLI\n\nInstall via Homebrew:\n```bash\nbrew install restatedev/tap/restate\n```\n\nInstall via npm:\n```bash\nnpm install --global @restatedev/restate\n```\n\nRun via npx:\n```bash\nnpx @restatedev/restate\n```\n\nYou can also download the binaries from the [release page](https://github.com/restatedev/restate/releases) or our [download page](https://restate.dev/get-restate/).\n\n## Community\n\n* 🤗️ Join our online community on [Discord](https://discord.gg/skW3AZ6uGd) or [Slack](https://join.slack.com/t/restatecommunity/shared_invite/zt-2v9gl005c-WBpr167o5XJZI1l7HWKImA) for help, sharing feedback and talking to the community.\n* 📖 [Check out our documentation](https://docs.restate.dev) to get started quickly!\n* 📣 [Follow us on Twitter](https://twitter.com/restatedev) for staying up to date.\n* 🙋 [Create a GitHub issue](https://github.com/restatedev/restate/issues) for requesting a new feature or reporting a problem.\n* 🏠 [Visit our GitHub org](https://github.com/restatedev) for exploring other repositories.\n\n## Core primitives\n\nThe basic primitives Restate offers to simplify application development are the following:\n\n* **Reliable Execution**: Restate guarantees code runs to completion. Failures result in retries that use the [Durable Execution mechanism](https://docs.restate.dev/concepts/durable_execution) to recover partial progress and prevent re-executing completed steps.\n* **Reliable Communication**: Services communicate with exactly-once semantics: whether it's [request-response, one-way messages, or scheduled tasks](https://docs.restate.dev/concepts/invocations). Restate reliably delivers messages and uses Durable Execution to ensure no losses or duplicates can happen.\n* **Durable Promises and Timers**: Register Promises/Futures and timers in Restate to make them resilient to failures (e.g. sleep, webhooks, timers). Restate can recover them across failures, processes, and time.\n* **Consistent State**: Implement [stateful entities](https://docs.restate.dev/concepts/services) with isolated K/V state per entity. Restate persists the K/V state updates together with the execution progress to ensure consistent state. Restate attaches the K/V state to the request on invocation, and writes it back upon completion. This is particularly efficient for FaaS deployments (stateful serverless, yay!).\n* **Suspending User Code**: long-running code suspends when awaiting on a Promise/Future and resumes when that promise is resolved. This is particularly useful in combination with serverless deployments.\n* **Observability \u0026 Introspection**: Restate includes a UI and CLI to inspect the [state of your application](https://docs.restate.dev/operate/introspection) across services and invocations. Restate automatically generates Open Telemetry traces for the interactions between handlers.\n\n## Contributing\n\nWe’re excited if you join the Restate community and start contributing!\nWhether it is feature requests, bug reports, ideas \u0026 feedback or PRs, we appreciate any and all contributions.\nWe know that your time is precious and, therefore, deeply value any effort to contribute!\n\nCheck out our [development guidelines](/docs/dev/development-guidelines.md) and [tips for local development](/docs/dev/local-development.md) to get started.\n\n## Versions\n\nRestate follows [Semantic Versioning](https://semver.org/).\n\nYou can safely upgrade from a Restate `x.y` to `x.(y+1)` release without performing any manual data migration, as Restate performs an automatic data migration for you.\n\nFor SDK compatibility, refer to the supported version matrix in the respective READMEs:\n\n* [Restate Java/Kotlin SDK](https://github.com/restatedev/sdk-java#versions)\n* [Restate TypeScript SDK](https://github.com/restatedev/sdk-typescript#versions)\n* [Restate Go SDK](https://github.com/restatedev/sdk-go#versions)\n* [Restate Python SDK](https://github.com/restatedev/sdk-python#versions)\n* [Restate Rust SDK](https://github.com/restatedev/sdk-rust#versions)\n\n### Building Restate locally\n\nIn order to build Restate locally [follow the build instructions](https://github.com/restatedev/restate/blob/main/docs/dev/local-development.md#building-restate).\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frestatedev%2Frestate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frestatedev%2Frestate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frestatedev%2Frestate/lists"}