datasets<5.0.0,>=4.0.0
diffusers<0.36.0,>=0.27.2
huggingface-hub[cli,hf-transfer]<0.36.0,>=0.34.2
accelerate<2.0.0,>=1.10.0
setuptools<81.0.0,>=71.0.0
cmake<4.2.0,>=3.29.0.1
einops<0.9.0,>=0.8.0
opencv-python-headless<4.13.0,>=4.9.0
av<16.0.0,>=15.0.0
jsonlines<5.0.0,>=4.0.0
packaging<26.0,>=24.2
pynput<1.9.0,>=1.7.7
pyserial<4.0,>=3.5
wandb<0.25.0,>=0.24.0
torch<2.11.0,>=2.2.1
torchvision<0.26.0,>=0.21.0
draccus==0.10.0
gymnasium<2.0.0,>=1.1.1
rerun-sdk<0.27.0,>=0.24.0
deepdiff<9.0.0,>=7.0.1
imageio[ffmpeg]<3.0.0,>=2.34.0
termcolor<4.0.0,>=2.4.0

[:sys_platform != "win32" and (sys_platform != "linux" or (platform_machine != "aarch64" and platform_machine != "arm64" and platform_machine != "armv7l")) and (sys_platform != "darwin" or platform_machine != "x86_64")]
torchcodec<0.11.0,>=0.2.1

[all]
lerobot[dynamixel]
lerobot[gamepad]
lerobot[hopejr]
lerobot[lekiwi]
lerobot[reachy2]
lerobot[kinematics]
lerobot[intelrealsense]
lerobot[smolvla]
lerobot[xvla]
lerobot[hilserl]
lerobot[async]
lerobot[dev]
lerobot[test]
lerobot[video_benchmark]
lerobot[aloha]
lerobot[pusht]
lerobot[phone]
lerobot[libero]
lerobot[metaworld]
lerobot[sarm]
lerobot[peft]

[aloha]
gym-aloha<0.2.0,>=0.1.2

[async]
lerobot[grpcio-dep]
matplotlib<4.0.0,>=3.10.3

[can-dep]
python-can<5.0.0,>=4.2.0

[damiao]
lerobot[can-dep]

[dev]
pre-commit<5.0.0,>=3.7.0
debugpy<1.9.0,>=1.8.1
lerobot[grpcio-dep]
grpcio-tools==1.73.1
mypy>=1.19.1

[dynamixel]
dynamixel-sdk<3.9.0,>=3.7.31

[feetech]
feetech-servo-sdk<2.0.0,>=1.0.0

[gamepad]
lerobot[pygame-dep]
hidapi<0.15.0,>=0.14.0

[groot]
lerobot[transformers-dep]
peft<1.0.0,>=0.13.0
dm-tree<1.0.0,>=0.1.8
timm<1.1.0,>=1.0.0
safetensors<1.0.0,>=0.4.3
Pillow<13.0.0,>=10.0.0
ninja<2.0.0,>=1.11.1

[groot:platform_machine == "AMD64" or platform_machine == "x86_64"]
decord<1.0.0,>=0.6.0

[groot:sys_platform != "darwin"]
flash-attn<3.0.0,>=2.5.9

[grpcio-dep]
grpcio==1.73.1
protobuf<6.32.0,>=6.31.1

[hilserl]
lerobot[transformers-dep]
gym-hil<0.2.0,>=0.1.13
lerobot[grpcio-dep]
lerobot[placo-dep]

[hopejr]
lerobot[feetech]
lerobot[pygame-dep]

[intelrealsense]

[intelrealsense:sys_platform != "darwin"]
pyrealsense2<2.57.0,>=2.55.1.6486

[intelrealsense:sys_platform == "darwin"]
pyrealsense2-macosx<2.55.0,>=2.54

[kinematics]
lerobot[placo-dep]

[lekiwi]
lerobot[feetech]
pyzmq<28.0.0,>=26.2.1

[libero]
lerobot[transformers-dep]
hf-libero<0.2.0,>=0.1.3

[metaworld]
metaworld==3.0.0

[openarms]
lerobot[damiao]

[peft]
lerobot[transformers-dep]
peft<1.0.0,>=0.18.0

[phone]
hebi-py<2.12.0,>=2.8.0
teleop<0.2.0,>=0.1.0
fastapi<1.0

[placo-dep]
placo<0.10.0,>=0.9.6

[pusht]
gym-pusht<0.2.0,>=0.1.5
pymunk<7.0.0,>=6.6.0

[pygame-dep]
pygame<2.7.0,>=2.5.1

[reachy2]
reachy2_sdk<1.1.0,>=1.0.15

[robstride]
lerobot[can-dep]

[sarm]
lerobot[transformers-dep]
faker<35.0.0,>=33.0.0
matplotlib<4.0.0,>=3.10.3
qwen-vl-utils<0.1.0,>=0.0.14

[smolvla]
lerobot[transformers-dep]
num2words<0.6.0,>=0.5.14
accelerate<2.0.0,>=1.7.0
safetensors<1.0.0,>=0.4.3

[test]
pytest<9.0.0,>=8.1.0
pytest-timeout<3.0.0,>=2.4.0
pytest-cov<8.0.0,>=5.0.0

[test:sys_platform != "win32"]
mock-serial<0.1.0,>=0.0.1

[transformers-dep]
transformers<5.0.0,>=4.57.1

[unitree_g1]
pyzmq<28.0.0,>=26.2.1
onnxruntime<2.0.0,>=1.16.0
pin<4.0.0,>=3.0.0
meshcat<0.4.0,>=0.3.0
matplotlib<4.0.0,>=3.9.0
casadi<4.0.0,>=3.6.0

[video_benchmark]
scikit-image<0.26.0,>=0.23.2
pandas<2.4.0,>=2.2.2

[wallx]
transformers==4.49.0
peft==0.17.1
scipy==1.15.3
torchdiffeq==0.2.5
qwen_vl_utils==0.0.11

[xvla]
lerobot[transformers-dep]
