-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Daniel Du edited this page Jun 9, 2026
·
2 revisions
A Rust-first SDK for SeaweedFS, with native clients for Python, Go, and Java.
- Clean architecture — domain / application / infrastructure layers; the domain has no external dependencies and the application layer is fully testable with mocks.
- HA-aware — multiple master servers with automatic failover and bounded retries.
- Async + blocking Rust APIs.
-
Type-safe
FileId— parsed and validated against SeaweedFS's exact wire format (full 64-bit needle key), not an opaque string. - Four languages, one behavior — Rust core plus native Python, Go, and Java clients kept in lockstep by shared conformance vectors.
| Language | Distribution | Notes |
|---|---|---|
| Rust | crates.io | async WeedClient + BlockingWeedClient
|
| Python | PyPI | PyO3 bindings over the Rust core (abi3, CPython 3.9+) |
| Go | clients/go |
pure Go, stdlib only, CGO_ENABLED=0
|
| Java | clients/java |
pure Java, JDK 8+, zero runtime dependencies |
The Go and Java clients are native re-implementations, not FFI bindings — see Architecture for why.
- Installation
- Usage: Rust · Python · Go · Java
- Architecture
- Configuration
- SeaweedFS Protocol
- Development
Usage
Reference