datasets<5.0.0,>=4.0.0
diffusers<0.36.0,>=0.27.2
huggingface-hub<2.0.0,>=1.0.0
accelerate<2.0.0,>=1.10.0
numpy<2.3.0,>=2.0.0
setuptools<81.0.0,>=71.0.0
cmake<4.2.0,>=3.29.0.1
packaging<26.0,>=24.2
torch<2.11.0,>=2.7
torchvision<0.26.0,>=0.22.0
einops<0.9.0,>=0.8.0
opencv-python-headless<4.14.0,>=4.9.0
av<16.0.0,>=15.0.0
jsonlines<5.0.0,>=4.0.0
pynput<1.9.0,>=1.7.8
pyserial<4.0,>=3.5
wandb<0.25.0,>=0.24.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.3.0

[all]
scipy<2.0.0,>=1.14.0
lerobot[dynamixel]
lerobot[gamepad]
lerobot[hopejr]
lerobot[lekiwi]
lerobot[reachy2]
lerobot[kinematics]
lerobot[intelrealsense]
lerobot[wallx]
lerobot[pi]
lerobot[smolvla]
lerobot[xvla]
lerobot[hilserl]
lerobot[async]
lerobot[dev]
lerobot[test]
lerobot[video_benchmark]
lerobot[aloha]
lerobot[pusht]
lerobot[phone]
lerobot[metaworld]
lerobot[sarm]
lerobot[peft]

[all:sys_platform == "linux"]
lerobot[libero]

[aloha]
gym-aloha<0.2.0,>=0.1.2
lerobot[scipy-dep]

[async]
lerobot[grpcio-dep]
lerobot[matplotlib-dep]

[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]
lerobot[peft]
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.57.0,>=2.54

[kinematics]
lerobot[placo-dep]

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

[libero]
lerobot[transformers-dep]
lerobot[scipy-dep]

[libero:sys_platform == "linux"]
hf-libero<0.2.0,>=0.1.3

[matplotlib-dep]
matplotlib<4.0.0,>=3.10.3
contourpy<2.0.0,>=1.3.0

[metaworld]
metaworld==3.0.0
lerobot[scipy-dep]

[multi_task_dit]
lerobot[transformers-dep]

[openarms]
lerobot[damiao]

[peft]
lerobot[transformers-dep]
lerobot[peft-dep]

[peft-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
lerobot[scipy-dep]

[pi]
lerobot[transformers-dep]
lerobot[scipy-dep]

[placo-dep]
placo<0.9.17,>=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

[qwen-vl-utils-dep]
qwen-vl-utils<0.1.0,>=0.0.11

[reachy2]
reachy2_sdk<1.1.0,>=1.0.15

[robstride]
lerobot[can-dep]

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

[scipy-dep]
scipy<2.0.0,>=1.14.0

[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.3.0

[unitree_g1]
pyzmq<28.0.0,>=26.2.1
onnxruntime<2.0.0,>=1.16.0
onnx<2.0.0,>=1.16.0
meshcat<0.4.0,>=0.3.0
lerobot[matplotlib-dep]
lerobot[pygame-dep]

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

[wallx]
lerobot[transformers-dep]
lerobot[peft]
lerobot[scipy-dep]
torchdiffeq<0.3.0,>=0.2.4
lerobot[qwen-vl-utils-dep]

[xvla]
lerobot[transformers-dep]
