Repolode
dora-rs

dora-rs/dora

Framework de middleware 100 % Rust para crear aplicaciones de robótica e IA en tiempo real como grafos dirigidos de flujo de datos con nodos.

Estrellas
4,034
Forks
463
Issues abiertos
111
Último commit
hace 4 horas

¿Qué es?

Dora (Dataflow-Oriented Robotic Architecture) es un framework para crear aplicaciones de robótica e IA a partir de nodos independientes conectados en un grafo dirigido. Cada nodo es un proceso separado escrito en Rust, Python, C o C++, y los nodos intercambian datos mediante entradas y salidas tipadas declaradas en un archivo YAML. El framework se encarga de iniciar los procesos, enrutar los mensajes y gestionar el ciclo de vida en una o varias máquinas.

Para cargas de trabajo con muchos datos, como imágenes de cámaras o nubes de puntos, dora usa memoria compartida sin copias entre nodos ubicados en la misma máquina y Zenoh para la comunicación entre máquinas. Los mensajes se transportan en formato Apache Arrow. La CLI permite ejecutar flujos de datos localmente, iniciar un coordinador y daemons para uso distribuido, e inspeccionar topics, logs y uso de recursos. También admite grabar y reproducir mensajes, definir políticas de reinicio por nodo y usar un puente ROS2.

Dora también incluye un hub de nodos para incorporar nodos reutilizables, como cámaras, detectores YOLO y nodos de LLM y TTS, por versión, además de un modelo de operadores en proceso para transformaciones ligeras.

Funciones clave

  • 01Flujos de datos definidos como grafos dirigidos en YAML declarativo, con nodos escritos en Rust, Python, C o C++.
  • 02Memoria compartida sin copias entre nodos de una misma máquina y pub-sub con Zenoh entre máquinas.
  • 03Formato de mensajes Apache Arrow de extremo a extremo.
  • 04Una sola CLI para ejecuciones locales, clústeres distribuidos, logs, inspección de topics y monitoreo de recursos.
  • 05Grabación y reproducción de mensajes del flujo de datos, además de políticas de reinicio por nodo.
  • 06Puente ROS2 para topics, servicios y acciones.

Casos de uso

  • Crear un pipeline de percepción robótica que encadene nodos de captura de cámara, detección de objetos y visualización.
  • Conectar modelos de IA en Python con componentes de control en Rust o C++ en un mismo flujo de datos.
  • Ejecutar un sistema robótico o de sensores en varias máquinas con ciclos de vida de nodos coordinados.
  • Conectar un sistema ROS2 existente con nuevos nodos basados en IA.

Inicio rápido

  1. 1

    Instala dora CLI desde crates.io

    cargo install dora-cli
  2. 2

    Instala Python node API y las dependencias del ejemplo

    pip install dora-rs numpy pyarrow
  3. 3

    Clona el repositorio y entra en su directorio

    git clone https://github.com/dora-rs/dora.git && cd dora
  4. 4

    Ejecuta el dataflow de ejemplo sender-transformer-receiver de Python

    dora run examples/python-dataflow/dataflow.yml

Antes de usarlo

  • El README indica que Node Hub es inestable.
  • La recuperación de dataflows en ejecución tras reiniciar el coordinador solo está parcialmente admitida.

En colecciones

Temas

Preguntas frecuentes

¿Qué es dora?
Framework de middleware 100 % Rust para crear aplicaciones de robótica e IA en tiempo real como grafos dirigidos de flujo de datos con nodos. Dora (Dataflow-Oriented Robotic Architecture) es un framework para crear aplicaciones de robótica e IA a partir de nodos independientes conectados en un grafo dirigido. Cada nodo es un proceso separado escrito en Rust, Python, C o C++, y los nodos intercambian datos mediante entradas y salidas tipadas declaradas en un archivo YAML. El framework se encarga de iniciar los procesos, enrutar los mensajes y gestionar el ciclo de vida en una o varias máquinas.
¿dora es gratuito? ¿Qué licencia tiene?
dora es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿dora sigue mantenido?
Mantenimiento activo. El último commit de dora fue el 22 oct 2026.
¿Para qué puedo usar dora?
Crear un pipeline de percepción robótica que encadene nodos de captura de cámara, detección de objetos y visualización. Conectar modelos de IA en Python con componentes de control en Rust o C++ en un mismo flujo de datos. Ejecutar un sistema robótico o de sensores en varias máquinas con ciclos de vida de nodos coordinados. Conectar un sistema ROS2 existente con nuevos nodos basados en IA.
¿Cómo se instala dora?
Instala dora CLI desde crates.io: cargo install dora-cli Instala Python node API y las dependencias del ejemplo: pip install dora-rs numpy pyarrow Clona el repositorio y entra en su directorio: git clone https://github.com/dora-rs/dora.git && cd dora Ejecuta el dataflow de ejemplo sender-transformer-receiver de Python: dora run examples/python-dataflow/dataflow.yml
¿Dónde consigo dora?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dora-rs/dora

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados