- DATE:
- AUTHOR:
- PowerSync Product Team
Introducing the PowerSync Rust Client SDK (Experimental)
Today we’re announcing an experimental Rust client SDK.
The Rust SDK is an early step toward supporting standalone native client environments — systems where PowerSync is embedded directly into a native process, with full control over memory, threading, and storage, without relying on a browser engine, Node.js, a mobile framework, or a managed runtime.
This is an early-stage release: core functionality is implemented, but some of the conveniences available in our other SDKs are still missing. We’re publishing it so you can prototype, experiment, and validate native use cases with PowerSync, while we learn from real-world usage before committing to a production-grade native SDK.
Why a Rust SDK?
PowerSync is designed to be stack-agnostic, but most of our existing client SDKs are based on some form of application runtime or framework. These SDKs cover the vast majority of app use cases and remain the right choice for most teams.
However, we’ve had repeated requests for framework-independent, native options, for example:
Rust- or C/C++-based stacks
Automotive, robotics, or embedded systems
The Rust SDK is an initial entry point into this space — designed to run on even the most custom platforms where HTTP and SQLite are available. It doesn’t aim to cover every native scenario yet, but to give you a practical starting point while we learn where a native SDK could provide the most value.
Getting Started
If you’re new to PowerSync, start with the Setup Guide, which walks through PowerSync's core concepts and setup step by step.
Additional information about the SDK can be found in the Rust SDK reference.
The SDK source code and a small example app are available on GitHub: powersync-native.
Running the example is often the fastest way to get a feel for how PowerSync works, and it can serve as a reference when integrating PowerSync into your own app.
Limitations
As mentioned, this SDK is experimental and pre-alpha. APIs and behavior may change without notice, feature coverage is incomplete, and it is not recommended for production use. We also can’t yet guarantee continued support or long-term stability.
If you need a production-ready client SDK today, use one of our stable or beta SDKs instead.
Feedback & Community Contributions
This release is intended as a starting point to explore native use cases and to invite early feedback and contributions from the community.
Your feedback will directly influence whether — and how — this SDK evolves. If you’re experimenting with it, we’d love to hear about your use case, target platforms, and any gaps you run into.
Contribute directly on GitHub, or share your feedback and ideas on Discord.