Releases: instadeepai/echo
Releases · instadeepai/echo
echo v0.1.1
[0.1.1] - 2026-05-26
TrajectoryAccumulatorbetter supports single and buffered timescales modes:- Buffered if: all leaves have a leading dim > 1
- Single if: all leaves have leading dims == 1 or there is a single scalar
- Guide and API reference cover both accumulator modes and the detection rule.
- New project logo and README polish (#3).
Pull Requests
Full Changelog: v0.1.0...v0.1.1
echo v0.1.0
First public release.
echo exists because data movement was the bottleneck in our distributed RL pipelines. Existing options are good, but most are tied to a specific framework (e.g Reverb to TF) and allocate per-sample on the hot path. echo depends only on numpy and optree, and is built around a pre-allocated lockfree ring buffer in Rust that hands batches to Python as numpy views into Rust-owned memory. Designed for hundreds-to-thousands of concurrent rollout workers feeding a single learner.
In this release:
- Lockfree, pre-allocated ring buffer
- TCP transport with per-connection SPSC queues and a drainer pool
- Pytree samples (nested dicts/tuples of numpy arrays) via optree
- Zero-copy batches — sample() returns views, no copy after ingress
- GIL released while waiting on the next batch
- Per-batch backpressure and throughput metrics on SampleInfo
- Optional detailed-metrics build for histogram-based timing
- TrajectoryAccumulator helper for stacking rollout steps
Known limitations:
- FIFO is the only sampling strategy. Prioritised and uniform-random are on the list.
- TCP is the only transport for now; the interface is pluggable.
- Linux and macOS wheels only.
pip install id-echo