Skip to content
Daniel Du edited this page Jun 9, 2026 · 2 revisions

weedforge

A Rust-first SDK for SeaweedFS, with native clients for Python, Go, and Java.

Crates.io PyPI License: MIT

Features

  • 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 support

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.

Documentation

Clone this wiki locally