LeRobot documentation

Cómo contribuir a 🤗 LeRobot

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