Rust
lakestream-rs: the Rust port of the lakestream library.
lakestream-rs is a Rust port of the Java lakestream library: primitives for building distributed, partitioned, append-only logs over object storage, covering the same Log/Stream/StreamCatalog surface the Java API defines.
What's in the workspace
The library side splits across several crates: lakestream-api (trait surface and value types — StreamCatalog, Log, LogCursor, Stream), lakestream-impl (the catalog/log/cursor/layout implementation), lakestream-storage-api and lakestream-storage-impl (the storage-engine layer underneath), and two backends — lakestream-memory for tests and local demos, lakestream-oxia for Oxia-backed metadata. lakestream-cli builds lsctl, a kubectl-shaped CLI that drives any of those backends from a shell:
lsctl namespace create public/default
lsctl stream create public/default/events --partitions 3
lsctl log produce 1 --message helloA separate crate, lakestream-cross-compat, verifies the port against what it was ported from: bidirectional byte-compatibility with the upstream Java codecs, checked both as checked-in golden fixtures and against a live Java process sharing an Oxia container. Across the workspace, that discipline runs to roughly 3,300 tests and zero rustdoc warnings.
Status
lakestream-rs is pre-1.0 — its crates are versioned 0.1 today — and Apache-2.0 licensed.
Object storage isn't wired to the data plane yet
S3, GCS, Azure, and local-disk backends have their configuration plumbing in place, but log storage reads and writes still run through the in-memory backend pending ObjectWalStorageImpl exposure. The Oxia-metadata-plus-memory-storage combination is complete and usable today; production object storage is the target, not yet the state.
What that makes it good for right now: experimentation, lsctl-driven tooling against a real Oxia setup, and groundwork for systems integration outside the JVM.
Where it fits
Rust isn't a special case in the spec. Conformance describes the same four properties any implementation targets, Java included — other languages follow the same pattern this one does: implement the spec, then verify against the reference codecs. lakestream-rs's cross-compat harness and Java-to-Rust migration guide are how it does that in practice.