Open-source AI for robots that live in the real world: record, train, deploy, share.
lerobot v0.6.1 · huggingface/lerobot
Thousands of curated datasets for ML tasks
Saves time in data collection and pre-processing
Some include a dataset viewer for interacting with data
Pre-trained ML models
Can be used to perform diverse ML tasks including text, audio, and image
Supports dozens of libraries, including Transformers
Build, host, and share ML apps in a single, organized workspace
Thousands of ML-powered demo apps
Hosted with built-in Python frameworks (Streamlit or Gradio) or JS and HTML (static)
S3-like object storage on the Hub
Mutable and unversioned: fast storage for checkpoints, logs and raw data
Train LeRobot policies by streaming straight from a bucket
The same Python API from a $100 arm to a humanoid, and the same dataset format from recording to training.
Build a robot, or plug in the one you have
Parts lists, print files and assembly guides are open source.
Show the robot how it's done, and record it
Every session is saved as an episode, ready to train on.
Share every episode with everyone

They all load with the same line of code.
from lerobot.datasets import LeRobotDataset ds = LeRobotDataset("lerobot/svla_so101_pickplace")
Learn a policy from the data

Small, trained from scratch on one task. Fast to train on a single GPU.

Pretrained on many robots, follows language instructions, fine-tuned on yours.
SARM watches the camera and the task text and predicts progress for every frame, from 0 to 1.
Run the policy on the real robot
The policy runs on a remote GPU. The robot keeps moving while the next chunk of actions is computed.
See it on X · @LeRobotHF ↗Measure, then improve
Simulation gives a cheap, repeatable score. On the real robot, rollouts are recorded so failures become new training data.

Record a few dozen demonstrations, fine-tune a pretrained policy, deploy. The same recipe works for your task.

# install pip install lerobot # 1. record demonstrations with a leader arm lerobot-record --robot.type=so101_follower --teleop.type=so101_leader \ --dataset.repo_id=$HF_USER/my_task --dataset.single_task="Grab the black cube" # 2. train a policy (add --job.target=a10g-small to train on a Hugging Face GPU) lerobot-train --dataset.repo_id=$HF_USER/my_task --policy.type=act # 3. run it on the robot lerobot-rollout --policy.path=$HF_USER/my_policy --robot.type=so101_follower
Robot port and camera flags omitted. Full guide: huggingface.co/docs/lerobot


Questions, robots, datasets: come and say hi.


