LeRobot documentation

Cómo contribuir a 🤗 LeRobot

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.7.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Cómo contribuir a 🤗 LeRobot

Todos son bienvenidos a contribuir, y valoramos la contribución de cada persona. El código no es la única forma de ayudar a la comunidad. Responder preguntas, ayudar a otros, establecer contacto y mejorar la documentación son de inmenso valor.

Sea cual sea la forma en que decidas contribuir, ten en cuenta la importancia de respetar nuestro código de conducta y nuestra política de IA.

Formas de contribuir

Puedes contribuir de muchas formas:

  • Corrección de problemas: Soluciona errores o mejora el código existente.
  • Nuevas funciones: Desarrolla nuevas funciones.
  • Extender: Implementar nuevos modelos/políticas, robots o entornos de simulación y subir conjuntos de datos al Hugging Face Hub.
  • Documentación: Mejorar ejemplos, guías y docstrings.
  • Comentarios: Envía tickets relacionados con errores o nuevas funciones deseadas.

¿Añadiendo nuevo hardware? Los robots, teleoperadores y cámaras suelen funcionar mejor como un paquete de plugin independiente que como un cambio en la biblioteca principal. Sigue Bring Your Own Hardware, publica tu paquete y luego abre un PR para añadirlo a Third-Party Robots & Teleoperators o Third-Party Cameras & Sensors.

Si no sabes por dónde empezar, únete a nuestro canal de Discord.

Configuración de desarrollo

Para contribuir con código, necesitas configurar un entorno de desarrollo.

1. Hacer un fork y clonar

Haz una bifurcación del repositorio en GitHub y luego clona tu bifurcación:

git clone https://github.com/<your-handle>/lerobot.git
cd lerobot
git remote add upstream https://github.com/huggingface/lerobot.git

2. Instalación del entorno

Siga nuestra Guía de instalación para la configuración del entorno y la instalación desde el código fuente.

Ejecución de pruebas y controles de calidad

Estilo de código (Pre-commit)

Instala los hooks de pre-commit para ejecutar comprobaciones automáticamente antes de que hagas un commit:

pre-commit install

Para ejecutar comprobaciones manualmente en todos los archivos:

pre-commit run --all-files

Docstrings

La referencia de la API se genera a partir de las docstrings en src/lerobot/. Si agregas o modificas algo público, sigue el estándar de docstring: el formato se analiza con el renderer y se verifica en CI.

Ejecutar pruebas

Usamos pytest. Primero, asegúrate de tener los artefactos de prueba instalando git-lfs:

git lfs install
git lfs pull

Ejecuta la suite completa (esto puede requerir la instalación de extras):

pytest -sv ./tests

O ejecuta un archivo de prueba específico durante el desarrollo:

pytest -sv tests/test_specific_feature.py

La CI de pruebas rápidas ejecuta un nivel por cada extra (base, dataset, hardware, viz) y selecciona las pruebas de cada nivel con una marca de pytest. Si tu prueba necesita el extra dataset, hardware o viz, márcala (pytestmark = pytest.mark.dataset para todo un archivo, @pytest.mark.dataset para una sola prueba). Las pruebas sin marca se ejecutan solo en el nivel base, donde una prueba que necesite un extra se omite. Para ejecutar un nivel localmente:

pytest -sv tests -m dataset

Los tests de CI de GPU solo ejecutan las pruebas marcadas con gpu. Cada prueba bajo tests/policies y cada prueba @require_cuda la obtiene automáticamente; marca cualquier otra prueba que use CUDA con @pytest.mark.gpu.

Envío de problemas y solicitudes de extracción

Utilice las plantillas para los campos obligatorios y los ejemplos.

  • Problemas: Sigue la plantilla de ticket.
  • Solicitudes de extracción (pull requests): Rebasea en upstream/main, usa una rama descriptiva (no trabajes en main), ejecuta pre-commit y las pruebas localmente, y sigue la plantilla de PR.

Política de revisión de la comunidad: Para ayudar a escalar nuestros esfuerzos y fomentar un entorno colaborativo, pedimos a los colaboradores que revisen al menos una PR abierta de otra persona antes de que la suya reciba atención. Esta responsabilidad compartida multiplica nuestra capacidad de revisión y ayuda a que el código de todos se integre más rápido.

Una vez que hayas enviado tu PR y completado una revisión por pares, un miembro del equipo de LeRobot revisará tu contribución.

Gracias por contribuir a LeRobot.

Update on GitHub