dora 1.0 is out. Read the 1.0 release post.
Agentic Dataflow-Oriented Robotic Architecture -- a 100% Rust framework for building real-time robotics and AI applications.
Built and maintained with agentic engineering -- AI agents do the heavy lifting on code generation, reviews, refactoring, and testing; humans set direction and gate every merge.
dora run for local dev, dora up/start for distributed prod, plus build, logs, monitoring, record/replay all from one tooldora node add/remove/connect/disconnect) without restarting--rt flag for mlockall + SCHED_FIFO; per-node cpu_affinity pinning in YAML; comprehensive tuning guide for memory locking, kernel params, and container deployment.drec files, replay offline at any speed with node substitution for regression testingtopic echo to print live data, topic hz TUI for frequency analysis, topic info for schema and bandwidthdora top TUI showing per-node CPU, memory, queue depth, network I/O, restart count, and health status across all machines; --once flag for scriptable JSON snapshotstrace list and trace view for viewing coordinator spans without external infrastructurermw_zenoh_cpp-compatible Zenoh; QoS mapping; Arrow-native type conversionhub: dora-yolo@^0.5 -- with cargo-style versioned resolution, reproducible lockfiles (--locked), and typed contracts checked at build time; backed by a git-based public catalog of ready-made nodes for cameras, YOLO, LLMs, TTS, and more. See the Hub guide (unstable)cargo install dora-cli # CLI (dora command)
pip install dora-rs # Python node/operator API
git clone https://github.com/dora-rs/dora.git
cd dora
cargo build --release -p dora-cli
PATH=$PATH:$(pwd)/target/release
# Python API (requires maturin >= 1.8: pip install maturin)
# Must run from the package directory for dependency resolution
cd apis/python/node && maturin develop --uv && cd ../../..
macOS / Linux:
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/dora-rs/dora/releases/latest/download/dora-cli-installer.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://github.com/dora-rs/dora/releases/latest/download/dora-cli-installer.ps1 | iex"
| Feature | Description | Default |
|---|---|---|
tracing |
OpenTelemetry tracing support | Yes |
metrics |
OpenTelemetry metrics collection | Yes |
python |
Python operator support (PyO3) | No |
redb-backend |
Persistent coordinator state (redb) | Yes |
cargo install dora-cli --features redb-backend
Important: The PyPI package is
dora-rs, notdora. The import name isdora(from dora import Node), butpip install dorainstalls an unrelated package.
cargo install dora-cli # or use install script below
pip install dora-rs numpy pyarrow
git clone https://github.com/dora-rs/dora.git && cd dora
dora run examples/python-dataflow/dataflow.yml
This runs a sender -> transformer -> receiver pipeline. Here's what the Python node code looks like:
# sender.py -- sends messages and polls for STOP
from dora import Node
import pyarrow as pa
import time
node = Node()
sent = 0
while sent < 100:
event = node.try_recv()
if event is not None and event["type"] == "STOP":
break
node.send_output("message", pa.array([sent]))
sent += 1
time.sleep(0.1)
# receiver.py -- receives and prints messages
from dora import Node
node = Node()
for event in node:
if event["type"] == "INPUT":
print(f"Got {event['id']}: {event['value'].to_pylist()}")
elif event["type"] == "STOP":
break
See the Python Getting Started Guide for a full tutorial, or the Python API Reference for complete API docs.
cd examples/rust-dataflow
dora run dataflow.yml
# Terminal 1: start coordinator + daemon
dora up
# Terminal 2: start a dataflow (--debug enables topic inspection)
dora start dataflow.yml --attach --debug
# Terminal 3: monitor
dora list
dora logs <dataflow-id>
dora top
# Stop or restart
dora stop <dataflow-id>
dora restart --name <name>
dora down
# Bring up a multi-machine cluster from a config file
dora cluster up cluster.yml
# Start a dataflow across the cluster
dora start dataflow.yml --name my-app --attach
# Check cluster health
dora cluster status
# Tear down
dora cluster down
See the Distributed Deployment Guide for cluster.yml configuration
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|