Repolode
dora-rs

dora-rs/dora

Framework de middleware 100% em Rust para criar aplicações de robótica e IA em tempo real como grafos de fluxo de dados direcionados compostos por nós.

Estrelas
4,034
Forks
463
Issues abertas
111
Último commit
há 4 horas

O que é?

Dora (Dataflow-Oriented Robotic Architecture) é um framework para criar aplicações de robótica e IA com nós independentes conectados em um grafo direcionado. Cada nó é um processo separado, escrito em Rust, Python, C ou C++, e os nós trocam dados por meio de entradas e saídas tipadas, declaradas em um arquivo YAML. O framework gerencia a inicialização dos processos, o roteamento de mensagens e o ciclo de vida em uma ou várias máquinas.

Para cargas de trabalho com muitos dados, como quadros de câmera ou nuvens de pontos, o dora usa memória compartilhada sem cópia entre nós na mesma máquina e Zenoh para a comunicação entre máquinas. As mensagens são transportadas no formato Apache Arrow. A CLI permite executar dataflows localmente, iniciar um coordenador e daemons para uso distribuído e inspecionar tópicos, logs e uso de recursos. Também oferece suporte à gravação e reprodução de mensagens, políticas de reinicialização por nó e uma bridge para ROS2.

Dora também inclui um hub de nós para baixar nós reutilizáveis, como câmeras, detectores YOLO e nós de LLM e TTS, por versão, além de um modelo de operadores no mesmo processo para transformações leves.

Recursos principais

  • 01Dataflows definidos como grafos direcionados em YAML declarativo, com nós escritos em Rust, Python, C ou C++.
  • 02Memória compartilhada sem cópia entre nós na mesma máquina e pub-sub com Zenoh entre máquinas.
  • 03Formato de mensagem Apache Arrow de ponta a ponta.
  • 04Uma única CLI para execuções locais, clusters distribuídos, logs, inspeção de tópicos e monitoramento de recursos.
  • 05Gravação e reprodução de mensagens de dataflow, além de políticas de reinicialização por nó.
  • 06Bridge para tópicos, serviços e ações do ROS2.

Casos de uso

  • Criar um pipeline de percepção robótica que encadeia nós de captura de câmera, detecção de objetos e visualização.
  • Conectar modelos de IA em Python a componentes de controle em Rust ou C++ em um único dataflow.
  • Executar um sistema de robótica ou sensores em várias máquinas, com ciclos de vida dos nós coordenados.
  • Integrar um sistema ROS2 existente a novos nós baseados em IA.

Início rápido

  1. 1

    Instale o dora CLI pelo crates.io

    cargo install dora-cli
  2. 2

    Instale a Python node API e as dependências do exemplo

    pip install dora-rs numpy pyarrow
  3. 3

    Clone o repositório e acesse o diretório

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

    Execute o dataflow de exemplo sender-transformer-receiver em Python

    dora run examples/python-dataflow/dataflow.yml

Antes de usar

  • O README indica que o Node Hub é instável.
  • A recuperação de dataflows em execução após a reinicialização do coordenador é parcialmente compatível.

Em coleções

Tópicos

Perguntas frequentes

O que é dora?
Framework de middleware 100% em Rust para criar aplicações de robótica e IA em tempo real como grafos de fluxo de dados direcionados compostos por nós. Dora (Dataflow-Oriented Robotic Architecture) é um framework para criar aplicações de robótica e IA com nós independentes conectados em um grafo direcionado. Cada nó é um processo separado, escrito em Rust, Python, C ou C++, e os nós trocam dados por meio de entradas e saídas tipadas, declaradas em um arquivo YAML. O framework gerencia a inicialização dos processos, o roteamento de mensagens e o ciclo de vida em uma ou várias máquinas.
dora é gratuito? Qual é a licença?
dora é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
dora ainda é mantido?
Manutenção ativa. O último commit de dora foi em 22 de out. de 2026.
Para que posso usar dora?
Criar um pipeline de percepção robótica que encadeia nós de captura de câmera, detecção de objetos e visualização. Conectar modelos de IA em Python a componentes de controle em Rust ou C++ em um único dataflow. Executar um sistema de robótica ou sensores em várias máquinas, com ciclos de vida dos nós coordenados. Integrar um sistema ROS2 existente a novos nós baseados em IA.
Como instalar dora?
Instale o dora CLI pelo crates.io: cargo install dora-cli Instale a Python node API e as dependências do exemplo: pip install dora-rs numpy pyarrow Clone o repositório e acesse o diretório: git clone https://github.com/dora-rs/dora.git && cd dora Execute o dataflow de exemplo sender-transformer-receiver em Python: dora run examples/python-dataflow/dataflow.yml
Onde consigo dora?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dora-rs/dora

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados