Skip to content

RQT2/rqt2-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rqt2-api

RQT2 Logo

API gRPC/protobuf que define los contratos entre la IDE (rqt2-ide / frontends PySide6) y los backends (rqt2-rcl-utils, agentes, daemons) del ecosistema RQT2.

Table of Contents

Quickstart

Este crate genera los stubs Rust (clientes y servidores) a partir de los .proto en proto/ usando tonic-build en build.rs.

Requirements

  • Rust (stable, 1.70+ recommended)
  • protoc (Protocol Buffers compiler)

Consumir rqt2-api

Este repositorio puede ser consumido por otros módulos de dos maneras seguras:

Dependencia Git en Cargo.toml

rqt2_api = { git = "https://github.com/RQT2/rqt2-api.git", rev = "<commit-sha>" }

Git Submodule

# Añadir como submodule
git submodule add https://github.com/RQT2/rqt2-api.git external/rqt2-api
git submodule update --init --recursive

Modificación de Cargo.toml

rqt2_api = { path = "external/rqt2-api" }

Build / Generar stubs

# Desde la raíz del crate
cd rqt2-api
cargo build

El comando anterior invocará build.rs que compila todos los .proto usando tonic_build y prost.

Uso desde Rust

rqt2_api:: contiene los módulos generados; los servicios se encuentran bajo rqt2_api::rqt2.api.v1 (incluidos por tonic::include_proto!("rqt2.api.v1")).

Estructura del Repositorio

./
├── proto/           # Definición de contratos protobuf (services, messages)
├── src/             # Código de arranque/examples que usan los stubs generados
├── build.rs         # Generación de stubs con tonic_build
├── Cargo.toml
└── README.md

Cómo contribuir

Lee CONTRIBUTING.md para normas sobre modificación de .proto, versionado y pruebas.

En resumen:

  • Modifica los .proto en la carpeta proto/ y añade reserved cuando retires campos.
  • Mantén compatibilidad hacia atrás: no reusar números de campo.
  • Ejecuta cargo build para regenerar stubs y validar la compilación.
  • Abre PR describiendo el cambio y el impacto en clientes.

Security

Consulta SECURITY.md para el proceso de reporte de vulnerabilidades.

License

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.

Maintainers

About

Contratos de comunicación entre frontend y backend

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors