Welcome to dora!

dora goal is to be a low latency, composable, and distributed data flow.

By using dora, you can define robotic applications as a graph of nodes that can be easily swapped and replaced. Those nodes can be shared and implemented in different languages such as Rust, Python or C. dora will then connect those nodes and try to provide as many features as possible to facilitate the dataflow.

✨ Features

Composability as:

  • YAML declarative programming
  • polyglot:
    • Rust
    • C
    • C++
    • Python
  • Isolated operators and custom nodes that can be reused.

Low latency as:

  • written in ...Cough...blazingly fast ...Cough... Rust.
  • PubSub communication with shared memory!
  • Zero-copy on read!

Distributed as:

  • PubSub communication between machines with zenoh
  • Distributed telemetry with opentelemetry

⚖️ LICENSE

This project is licensed under Apache-2.0. Check out NOTICE.md for more information.