Python SDK Overview
The Stoffel Python SDK provides a clean, high-level interface for integrating Stoffel’s secure Multi-Party Computation capabilities into Python applications. It offers a developer-friendly API that abstracts away cryptographic complexity while maintaining clear semantics for public and secret data.Repository
The Python SDK is being developed at: github.com/Stoffel-Labs/stoffel-python-sdkDesign Philosophy
The SDK is built around two core principles:Separation of Concerns
- StoffelProgram: Handles StoffelLang compilation, VM operations, and execution parameters
- StoffelClient: Manages MPC network communication, data handling, and result reconstruction
Explicit Data Visibility
The API makes a clear distinction between:- Secret Inputs: Private data that gets secret-shared across MPC nodes
- Public Inputs: Configuration and parameters visible to all nodes
Core Components
StoffelProgram - VM Operations
Responsible for local program management and compilation:StoffelClient - Network Operations
Handles MPC network communication and data management:Quick Start
Simple MPC Computation
Development Status
Current implementation progress:| Component | Status | Notes |
|---|---|---|
| Clean API Design | ✅ Complete | Separation of concerns implemented |
| StoffelProgram | 🚧 In Progress | Compilation and VM operations |
| StoffelClient | 🚧 In Progress | Network communication interface |
| VM Bindings | 🚧 In Progress | FFI bindings to StoffelVM |
| MPC Network Integration | 📋 Planned | Awaiting MPC service infrastructure |
| Integration Tests | 📋 Planned | With actual shared libraries |
Current Alternative: Rust SDK
While the Python SDK is being developed, you can use the fully-functional Rust SDK which provides:- Complete compilation and VM execution
- MPC configuration with HoneyBadger protocol
- Network-based client/server architecture
- Local testing capabilities
Contributing
The Python SDK is open source and contributions are welcome!- Repository: github.com/Stoffel-Labs/stoffel-python-sdk
- Contributing Guide: See Contributing
Next Steps
- Rust SDK Overview: Use the production-ready Rust SDK today
- StoffelLang: Learn about the computation language
- CLI Templates: Python template for project scaffolding