Supabase Rust Client
A comprehensive, production-ready Rust client library for Supabase. This library provides a clean, type-safe, and efficient interface to interact with all Supabase services.
✨ Features
- 🔐 Authentication: Full auth support including MFA, OAuth, Phone Auth, Magic Links, Anonymous Sign-in, and Advanced Token Management
- 💾 Session Management: Cross-tab Sync, Platform Storage, Session Encryption, Session Events
- 🗄️ Database: Advanced Queries, Raw SQL, and Type-safe PostgREST operations
- 📁 Storage: File operations with Resumable Uploads, Advanced Metadata, Storage Policies, and Real-time Events
- 📡 Realtime: WebSocket subscriptions with Presence System, Broadcast Messages, Advanced Filters, and Connection Pooling
- ⚡ Cross-Platform: Full Native (Tokio) and WebAssembly (WASM) support
- 🛡️ Type Safety: Full Rust type system integration
- 🔧 Well Tested: 113 comprehensive tests (41 unit + 72 doc tests)
📦 Installation
Add this to your Cargo.toml:
[]
= "0.5.3"
= { = "1.0", = ["full"] }
Or use cargo to add it:
🏃 Quick Start
use *;
async
📚 Documentation
| Document | Description |
|---|---|
| Examples & Usage Guide | Comprehensive examples for all features |
| Configuration Guide | Setup and configuration options |
| Architecture Guide | Library design and architecture |
| WebAssembly Guide | WASM integration and deployment |
| Testing Guide | Testing setup and guidelines |
| Contributing Guide | Development and contribution guidelines |
| Changelog | Release history and changes |
| Roadmap | Future development plans |
| API Documentation | Complete API reference |
🤝 Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
Quick Development Setup
# Clone the repository
# Setup development environment (requires Nix)
# Run all checks
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔗 Links
🙏 Acknowledgments
- Supabase for providing an amazing backend platform
- The Rust community for excellent crates and tooling
- Contributors who help improve this library
Made with ❤️ for the Rust and Supabase communities