From d1d2229407f64728b74352c0450bb073f3b0a8ba Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Tue, 26 Mar 2024 17:23:46 +0100
Subject: [PATCH 01/12] WIP add badges
---
README.md | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/README.md b/README.md
index 359118694..00c66b4ec 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,35 @@
# LeRobot
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
**State-of-the-art machine learning for real-world robotics**
🤗 LeRobot aims to provide models, datasets, and tools for real-world robotics in PyTorch. The goal is to lower the barrier for entry to robotics so that everyone can contribute and benefit from sharing datasets and pretrained models.
From 6f0c2445ca473bbf42b1ed45706586b026d40f64 Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Wed, 27 Mar 2024 12:49:10 +0100
Subject: [PATCH 02/12] Improve readme format
---
README.md | 40 ++++++++++++----------------------------
1 file changed, 12 insertions(+), 28 deletions(-)
diff --git a/README.md b/README.md
index 00c66b4ec..816a255da 100644
--- a/README.md
+++ b/README.md
@@ -8,36 +8,20 @@
-# LeRobot
+
+
+---
**State-of-the-art machine learning for real-world robotics**
From 643d64e2a86d20f3b3452de54c979275f7c4632a Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Wed, 27 Mar 2024 16:33:26 +0100
Subject: [PATCH 03/12] Add cmake
---
.github/poetry/cpu/poetry.lock | 31 ++++++++++++++++++++++++++++++-
.github/poetry/cpu/pyproject.toml | 1 +
poetry.lock | 31 ++++++++++++++++++++++++++++++-
pyproject.toml | 1 +
4 files changed, 62 insertions(+), 2 deletions(-)
diff --git a/.github/poetry/cpu/poetry.lock b/.github/poetry/cpu/poetry.lock
index ec2b558d7..ef4242f3b 100644
--- a/.github/poetry/cpu/poetry.lock
+++ b/.github/poetry/cpu/poetry.lock
@@ -327,6 +327,35 @@ files = [
{file = "cloudpickle-3.0.0.tar.gz", hash = "sha256:996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882"},
]
+[[package]]
+name = "cmake"
+version = "3.29.0.1"
+description = "CMake is an open-source, cross-platform family of tools designed to build, test and package software"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "cmake-3.29.0.1-py3-none-macosx_10_10_universal2.macosx_10_10_x86_64.macosx_11_0_arm64.macosx_11_0_universal2.whl", hash = "sha256:ec8b39fdeb75c48fd5a2894658a1ca75f94fb49b421c1f753d86d3e5d5e9f196"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ead7dc5176a6c6347b3fc19532c25ec328f9279b6213902ac930242334e7b621"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f7c7dabf3dd40cb830d2eded43d51c5a3737625bbc5ab6916041c04e352b74f8"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de8f55198f4a820daf2c57645a4bb8cd1064dc92d950ad95be14c5ffabc15bd4"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7bb8aaa3419eafd466931e4dcc161d3e5e6a82730ab508c75946ff4fc883b3f6"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e956e4b6c2d8d6bbee399bf3c77e5b901d916fe8f35d6b2f58444d5892c4602b"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a8f7c8b07e6ab0dd444c5b74e658d5013ca0da456041029f734d751090bb7ec"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22493049b6383ea2baa7237a326c2914ab4a7b3e1642f4233245e3a34aae39f6"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:d09573411901fc8a3ede7433713c000ac7b81cda0d771874e9182770acf29eb4"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_i686.whl", hash = "sha256:c85e35ec572e54152154637f24d6bde316fbcf94dfea644bd8f22b1855a09abe"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:a36f3b19a5caa6c63aa70bfa0b262bae8d296e68c6e6d8e918edc5c51d952bf8"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_s390x.whl", hash = "sha256:85a0e28eaaee311d50fcee60f730e5a44a65b3cefc556a1163bbabd7328acd60"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:58879ef15dd8344e1583a36cead794fb0fee13f78c590a56749283ac2e27d30a"},
+ {file = "cmake-3.29.0.1-py3-none-win32.whl", hash = "sha256:068a3e7461dd9e487f5f3f720ae8072c2eeb37239ebe4642c4ae29058d83347f"},
+ {file = "cmake-3.29.0.1-py3-none-win_amd64.whl", hash = "sha256:c097892b3653e2d2d41d055c80a9af029fdd24f9eff2ecb66576e4da8b85b1c7"},
+ {file = "cmake-3.29.0.1-py3-none-win_arm64.whl", hash = "sha256:1808071047cb49ed0fe2359e4c310b49880c2805cad4ea9f03c959f51b881ac7"},
+ {file = "cmake-3.29.0.1.tar.gz", hash = "sha256:ec49a7a4480959c229d9d2aa77f7885859c17a45fc66981aaf4551ceffb4d030"},
+]
+
+[package.extras]
+test = ["coverage (>=4.2)", "pytest (>=3.0.3)", "pytest-cov (>=2.4.0)"]
+
[[package]]
name = "colorama"
version = "0.4.6"
@@ -3216,4 +3245,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
[metadata]
lock-version = "2.0"
python-versions = "^3.10"
-content-hash = "93c406139c456780b3d309d7ed3d68ea60cc0e8893c1ee717692984e573d3404"
+content-hash = "183331172d7c12815adc4372eff886efa9dd6234a2d07118968ffeff51f5b299"
diff --git a/.github/poetry/cpu/pyproject.toml b/.github/poetry/cpu/pyproject.toml
index 586ef2101..5f5be450d 100644
--- a/.github/poetry/cpu/pyproject.toml
+++ b/.github/poetry/cpu/pyproject.toml
@@ -52,6 +52,7 @@ robomimic = "0.2.0"
huggingface-hub = "^0.21.4"
gymnasium-robotics = "^1.2.4"
gymnasium = "^0.29.1"
+cmake = "^3.29.0.1"
[tool.poetry.group.dev.dependencies]
diff --git a/poetry.lock b/poetry.lock
index e47b02008..a1258c064 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -327,6 +327,35 @@ files = [
{file = "cloudpickle-3.0.0.tar.gz", hash = "sha256:996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882"},
]
+[[package]]
+name = "cmake"
+version = "3.29.0.1"
+description = "CMake is an open-source, cross-platform family of tools designed to build, test and package software"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "cmake-3.29.0.1-py3-none-macosx_10_10_universal2.macosx_10_10_x86_64.macosx_11_0_arm64.macosx_11_0_universal2.whl", hash = "sha256:ec8b39fdeb75c48fd5a2894658a1ca75f94fb49b421c1f753d86d3e5d5e9f196"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ead7dc5176a6c6347b3fc19532c25ec328f9279b6213902ac930242334e7b621"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f7c7dabf3dd40cb830d2eded43d51c5a3737625bbc5ab6916041c04e352b74f8"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de8f55198f4a820daf2c57645a4bb8cd1064dc92d950ad95be14c5ffabc15bd4"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7bb8aaa3419eafd466931e4dcc161d3e5e6a82730ab508c75946ff4fc883b3f6"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e956e4b6c2d8d6bbee399bf3c77e5b901d916fe8f35d6b2f58444d5892c4602b"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a8f7c8b07e6ab0dd444c5b74e658d5013ca0da456041029f734d751090bb7ec"},
+ {file = "cmake-3.29.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22493049b6383ea2baa7237a326c2914ab4a7b3e1642f4233245e3a34aae39f6"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:d09573411901fc8a3ede7433713c000ac7b81cda0d771874e9182770acf29eb4"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_i686.whl", hash = "sha256:c85e35ec572e54152154637f24d6bde316fbcf94dfea644bd8f22b1855a09abe"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:a36f3b19a5caa6c63aa70bfa0b262bae8d296e68c6e6d8e918edc5c51d952bf8"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_s390x.whl", hash = "sha256:85a0e28eaaee311d50fcee60f730e5a44a65b3cefc556a1163bbabd7328acd60"},
+ {file = "cmake-3.29.0.1-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:58879ef15dd8344e1583a36cead794fb0fee13f78c590a56749283ac2e27d30a"},
+ {file = "cmake-3.29.0.1-py3-none-win32.whl", hash = "sha256:068a3e7461dd9e487f5f3f720ae8072c2eeb37239ebe4642c4ae29058d83347f"},
+ {file = "cmake-3.29.0.1-py3-none-win_amd64.whl", hash = "sha256:c097892b3653e2d2d41d055c80a9af029fdd24f9eff2ecb66576e4da8b85b1c7"},
+ {file = "cmake-3.29.0.1-py3-none-win_arm64.whl", hash = "sha256:1808071047cb49ed0fe2359e4c310b49880c2805cad4ea9f03c959f51b881ac7"},
+ {file = "cmake-3.29.0.1.tar.gz", hash = "sha256:ec49a7a4480959c229d9d2aa77f7885859c17a45fc66981aaf4551ceffb4d030"},
+]
+
+[package.extras]
+test = ["coverage (>=4.2)", "pytest (>=3.0.3)", "pytest-cov (>=2.4.0)"]
+
[[package]]
name = "colorama"
version = "0.4.6"
@@ -3475,4 +3504,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
[metadata]
lock-version = "2.0"
python-versions = "^3.10"
-content-hash = "99addbfc02bcd35a308f4ecc5b4285c9c5054118f4aadea27650d8bf355d9616"
+content-hash = "408099540ed625da8e50cfe543791d2d1b52e256bbd0c56cfda482c6c5ffff0e"
diff --git a/pyproject.toml b/pyproject.toml
index 29cec3b7d..6b4715003 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -51,6 +51,7 @@ huggingface-hub = {extras = ["hf-transfer"], version = "^0.21.4"}
robomimic = "0.2.0"
gymnasium-robotics = "^1.2.4"
gymnasium = "^0.29.1"
+cmake = "^3.29.0.1"
[tool.poetry.group.dev.dependencies]
From 18e7f4c3e6868c10a05860acb919c4713847dd8a Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Wed, 27 Mar 2024 16:33:54 +0100
Subject: [PATCH 04/12] Add requirements.txt
---
requirements.txt | 119 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 119 insertions(+)
create mode 100644 requirements.txt
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 000000000..dc1748f79
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,119 @@
+absl-py==2.1.0 ; python_version >= "3.10" and python_version < "4.0"
+antlr4-python3-runtime==4.9.3 ; python_version >= "3.10" and python_version < "4.0"
+appdirs==1.4.4 ; python_version >= "3.10" and python_version < "4.0"
+asciitree==0.3.3 ; python_version >= "3.10" and python_version < "4.0"
+av==12.0.0 ; python_version >= "3.10" and python_version < "4.0"
+beautifulsoup4==4.12.3 ; python_version >= "3.10" and python_version < "4.0"
+certifi==2024.2.2 ; python_version >= "3.10" and python_version < "4.0"
+cffi==1.16.0 ; python_version >= "3.10" and python_version < "4.0"
+charset-normalizer==3.3.2 ; python_version >= "3.10" and python_version < "4.0"
+click==8.1.7 ; python_version >= "3.10" and python_version < "4.0"
+cloudpickle==3.0.0 ; python_version >= "3.10" and python_version < "4.0"
+cmake==3.29.0.1 ; python_version >= "3.10" and python_version < "4.0"
+colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows"
+decorator==4.4.2 ; python_version >= "3.10" and python_version < "4.0"
+diffusers==0.26.3 ; python_version >= "3.10" and python_version < "4.0"
+dm-control==1.0.14 ; python_version >= "3.10" and python_version < "4.0"
+dm-env==1.6 ; python_version >= "3.10" and python_version < "4.0"
+dm-tree==0.1.8 ; python_version >= "3.10" and python_version < "4.0"
+docker-pycreds==0.4.0 ; python_version >= "3.10" and python_version < "4.0"
+egl-probe==1.0.2 ; python_version >= "3.10" and python_version < "4.0"
+einops==0.7.0 ; python_version >= "3.10" and python_version < "4.0"
+farama-notifications==0.0.4 ; python_version >= "3.10" and python_version < "4.0"
+fasteners==0.19 ; python_version >= "3.10" and python_version < "4.0" and sys_platform != "emscripten"
+filelock==3.13.1 ; python_version >= "3.10" and python_version < "4.0"
+fsspec==2024.3.1 ; python_version >= "3.10" and python_version < "4.0"
+gdown==5.1.0 ; python_version >= "3.10" and python_version < "4.0"
+gitdb==4.0.11 ; python_version >= "3.10" and python_version < "4.0"
+gitpython==3.1.42 ; python_version >= "3.10" and python_version < "4.0"
+glfw==2.7.0 ; python_version >= "3.10" and python_version < "4.0"
+grpcio==1.62.1 ; python_version >= "3.10" and python_version < "4.0"
+gymnasium-robotics==1.2.4 ; python_version >= "3.10" and python_version < "4.0"
+gymnasium==0.29.1 ; python_version >= "3.10" and python_version < "4.0"
+h5py==3.10.0 ; python_version >= "3.10" and python_version < "4.0"
+hf-transfer==0.1.6 ; python_version >= "3.10" and python_version < "4.0"
+huggingface-hub==0.21.4 ; python_version >= "3.10" and python_version < "4.0"
+huggingface-hub[hf-transfer]==0.21.4 ; python_version >= "3.10" and python_version < "4.0"
+hydra-core==1.3.2 ; python_version >= "3.10" and python_version < "4.0"
+idna==3.6 ; python_version >= "3.10" and python_version < "4.0"
+imageio-ffmpeg==0.4.9 ; python_version >= "3.10" and python_version < "4.0"
+imageio==2.34.0 ; python_version >= "3.10" and python_version < "4.0"
+imageio[pyav]==2.34.0 ; python_version >= "3.10" and python_version < "4.0"
+importlib-metadata==7.1.0 ; python_version >= "3.10" and python_version < "4.0"
+jinja2==3.1.3 ; python_version >= "3.10" and python_version < "4.0"
+labmaze==1.0.6 ; python_version >= "3.10" and python_version < "4.0"
+lazy-loader==0.3 ; python_version >= "3.10" and python_version < "4.0"
+llvmlite==0.42.0 ; python_version >= "3.10" and python_version < "4.0"
+lxml==5.1.0 ; python_version >= "3.10" and python_version < "4.0"
+markdown==3.6 ; python_version >= "3.10" and python_version < "4.0"
+markupsafe==2.1.5 ; python_version >= "3.10" and python_version < "4.0"
+moviepy==1.0.3 ; python_version >= "3.10" and python_version < "4.0"
+mpmath==1.3.0 ; python_version >= "3.10" and python_version < "4.0"
+mujoco==2.3.7 ; python_version >= "3.10" and python_version < "4.0"
+networkx==3.2.1 ; python_version >= "3.10" and python_version < "4.0"
+numba==0.59.1 ; python_version >= "3.10" and python_version < "4.0"
+numcodecs==0.12.1 ; python_version >= "3.10" and python_version < "4.0"
+numpy==1.26.4 ; python_version >= "3.10" and python_version < "4.0"
+nvidia-cublas-cu12==12.1.3.1 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-cuda-cupti-cu12==12.1.105 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-cuda-nvrtc-cu12==12.1.105 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-cuda-runtime-cu12==12.1.105 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-cudnn-cu12==8.9.2.26 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-cufft-cu12==11.0.2.54 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-curand-cu12==10.3.2.106 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-cusolver-cu12==11.4.5.107 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-cusparse-cu12==12.1.0.106 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-nccl-cu12==2.19.3 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-nvjitlink-cu12==12.4.99 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+nvidia-nvtx-cu12==12.1.105 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
+omegaconf==2.3.0 ; python_version >= "3.10" and python_version < "4.0"
+opencv-python==4.9.0.80 ; python_version >= "3.10" and python_version < "4.0"
+packaging==24.0 ; python_version >= "3.10" and python_version < "4.0"
+pandas==2.2.1 ; python_version >= "3.10" and python_version < "4.0"
+pettingzoo==1.24.3 ; python_version >= "3.10" and python_version < "4.0"
+pillow==10.2.0 ; python_version >= "3.10" and python_version < "4.0"
+proglog==0.1.10 ; python_version >= "3.10" and python_version < "4.0"
+protobuf==4.25.3 ; python_version >= "3.10" and python_version < "4.0"
+psutil==5.9.8 ; python_version >= "3.10" and python_version < "4.0"
+pycparser==2.21 ; python_version >= "3.10" and python_version < "4.0"
+pygame==2.5.2 ; python_version >= "3.10" and python_version < "4.0"
+pymunk==6.6.0 ; python_version >= "3.10" and python_version < "4.0"
+pyopengl==3.1.7 ; python_version >= "3.10" and python_version < "4.0"
+pyparsing==3.1.2 ; python_version >= "3.10" and python_version < "4.0"
+pysocks==1.7.1 ; python_version >= "3.10" and python_version < "4.0"
+python-dateutil==2.9.0.post0 ; python_version >= "3.10" and python_version < "4.0"
+pytz==2024.1 ; python_version >= "3.10" and python_version < "4.0"
+pyyaml==6.0.1 ; python_version >= "3.10" and python_version < "4.0"
+regex==2023.12.25 ; python_version >= "3.10" and python_version < "4.0"
+requests==2.31.0 ; python_version >= "3.10" and python_version < "4.0"
+requests[socks]==2.31.0 ; python_version >= "3.10" and python_version < "4.0"
+robomimic==0.2.0 ; python_version >= "3.10" and python_version < "4.0"
+safetensors==0.4.2 ; python_version >= "3.10" and python_version < "4.0"
+scikit-image==0.22.0 ; python_version >= "3.10" and python_version < "4.0"
+scipy==1.12.0 ; python_version >= "3.10" and python_version < "4.0"
+sentry-sdk==1.43.0 ; python_version >= "3.10" and python_version < "4.0"
+setproctitle==1.3.3 ; python_version >= "3.10" and python_version < "4.0"
+setuptools==69.2.0 ; python_version >= "3.10" and python_version < "4.0"
+shapely==2.0.3 ; python_version >= "3.10" and python_version < "4.0"
+six==1.16.0 ; python_version >= "3.10" and python_version < "4.0"
+smmap==5.0.1 ; python_version >= "3.10" and python_version < "4.0"
+soupsieve==2.5 ; python_version >= "3.10" and python_version < "4.0"
+sympy==1.12 ; python_version >= "3.10" and python_version < "4.0"
+tensorboard-data-server==0.7.2 ; python_version >= "3.10" and python_version < "4.0"
+tensorboard==2.16.2 ; python_version >= "3.10" and python_version < "4.0"
+tensorboardx==2.6.2.2 ; python_version >= "3.10" and python_version < "4.0"
+tensordict @ git+https://github.com/pytorch/tensordict@b4c91e8828c538ca0a50d8383fd99311a9afb078 ; python_version >= "3.10" and python_version < "4.0"
+termcolor==2.4.0 ; python_version >= "3.10" and python_version < "4.0"
+tifffile==2024.2.12 ; python_version >= "3.10" and python_version < "4.0"
+torch==2.2.1 ; python_version >= "3.10" and python_version < "4.0"
+torchrl @ git+https://github.com/pytorch/rl@13bef426dcfa5887c6e5034a6e9697993fa92c37 ; python_version >= "3.10" and python_version < "4.0"
+torchvision==0.17.1 ; python_version >= "3.10" and python_version < "4.0"
+tqdm==4.66.2 ; python_version >= "3.10" and python_version < "4.0"
+triton==2.2.0 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version < "3.12" and python_version >= "3.10"
+typing-extensions==4.10.0 ; python_version >= "3.10" and python_version < "4.0"
+tzdata==2024.1 ; python_version >= "3.10" and python_version < "4.0"
+urllib3==2.2.1 ; python_version >= "3.10" and python_version < "4.0"
+wandb==0.16.4 ; python_version >= "3.10" and python_version < "4.0"
+werkzeug==3.0.1 ; python_version >= "3.10" and python_version < "4.0"
+zarr==2.17.1 ; python_version >= "3.10" and python_version < "4.0"
+zipp==3.18.1 ; python_version >= "3.10" and python_version < "4.0"
From 5f4b8ab899365f8362a569e6d39c8a9e700391d7 Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Wed, 27 Mar 2024 16:35:32 +0100
Subject: [PATCH 05/12] Add more exhaustive install instructions
---
README.md | 43 ++++++++++++++++++++++++++++++++++++-------
1 file changed, 36 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index 816a255da..9c06ae21b 100644
--- a/README.md
+++ b/README.md
@@ -21,9 +21,12 @@
+
+
State-of-the-art Machine Learning for real-world robotics
+
+
---
-**State-of-the-art machine learning for real-world robotics**
🤗 LeRobot aims to provide models, datasets, and tools for real-world robotics in PyTorch. The goal is to lower the barrier for entry to robotics so that everyone can contribute and benefit from sharing datasets and pretrained models.
@@ -57,23 +60,42 @@
## Installation
-Create a virtual environment with Python 3.10, e.g. using `conda`:
+As of now, this repository is tested on Python 3.10 and PyTorch 2.2.1.
+
+We don't have a build released yet (coming soon!), so to install 🤗 LeRobot you need to clone this repo first:
+```bash
+git clone https://github.com/scikit-build/cmake-python-distributions.git
+```
+
+You should install 🤗 LeRobot in a [virtual environment](https://docs.python.org/3/library/venv.html). If you're unfamiliar with Python virtual environments, check out the [user guide](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/).
+
+Create a virtual environment with Python 3.10 and activate it.
+
+Using [`miniconda`](https://docs.anaconda.com/free/miniconda/index.html):
```bash
conda create -y -n lerobot python=3.10
conda activate lerobot
```
-[Install `poetry`](https://python-poetry.org/docs/#installation) (if you don't have it already)
+Using [`pyenv`](https://github.com/pyenv/pyenv):
```bash
-curl -sSL https://install.python-poetry.org | python -
+pyenv install 3.10
+pyenv local 3.10
```
-Install dependencies
+Then, install 🤗 LeRobot:
+
+### With pip
+```bash
+pip install -r requirements.txt
+```
+
+### With poetry
```bash
poetry install
```
-If you encounter a disk space error, try to change your tmp dir to a location where you have enough disk space, e.g.
+**Note:** If you encounter a disk space error, try to change your `tmp/` dirrectory to a location where you have enough disk space, e.g.
```bash
mkdir ~/tmp
export TMPDIR='~/tmp'
@@ -216,8 +238,15 @@ pre-commit
```
**Add dependencies**
+Instead of using `pip` directly, we use `poetry` for development purposes to easily track our dependencies.
+If you don't have it already, follow the [instructions](https://python-poetry.org/docs/#installation) to install it.
-Instead of `pip install some-package`, we use `poetry` to track the versions of our dependencies:
+Install the project with:
+```bash
+poetry install
+```
+
+Then, the equivalent of `pip install some-package`, would just be:
```bash
poetry add some-package
```
From 6710121a29f4ce11ce4ac9ad789f376b534d31cb Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Wed, 27 Mar 2024 16:47:49 +0100
Subject: [PATCH 06/12] Revert "Add requirements.txt"
This reverts commit 18e7f4c3e6868c10a05860acb919c4713847dd8a.
---
requirements.txt | 119 -----------------------------------------------
1 file changed, 119 deletions(-)
delete mode 100644 requirements.txt
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index dc1748f79..000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,119 +0,0 @@
-absl-py==2.1.0 ; python_version >= "3.10" and python_version < "4.0"
-antlr4-python3-runtime==4.9.3 ; python_version >= "3.10" and python_version < "4.0"
-appdirs==1.4.4 ; python_version >= "3.10" and python_version < "4.0"
-asciitree==0.3.3 ; python_version >= "3.10" and python_version < "4.0"
-av==12.0.0 ; python_version >= "3.10" and python_version < "4.0"
-beautifulsoup4==4.12.3 ; python_version >= "3.10" and python_version < "4.0"
-certifi==2024.2.2 ; python_version >= "3.10" and python_version < "4.0"
-cffi==1.16.0 ; python_version >= "3.10" and python_version < "4.0"
-charset-normalizer==3.3.2 ; python_version >= "3.10" and python_version < "4.0"
-click==8.1.7 ; python_version >= "3.10" and python_version < "4.0"
-cloudpickle==3.0.0 ; python_version >= "3.10" and python_version < "4.0"
-cmake==3.29.0.1 ; python_version >= "3.10" and python_version < "4.0"
-colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows"
-decorator==4.4.2 ; python_version >= "3.10" and python_version < "4.0"
-diffusers==0.26.3 ; python_version >= "3.10" and python_version < "4.0"
-dm-control==1.0.14 ; python_version >= "3.10" and python_version < "4.0"
-dm-env==1.6 ; python_version >= "3.10" and python_version < "4.0"
-dm-tree==0.1.8 ; python_version >= "3.10" and python_version < "4.0"
-docker-pycreds==0.4.0 ; python_version >= "3.10" and python_version < "4.0"
-egl-probe==1.0.2 ; python_version >= "3.10" and python_version < "4.0"
-einops==0.7.0 ; python_version >= "3.10" and python_version < "4.0"
-farama-notifications==0.0.4 ; python_version >= "3.10" and python_version < "4.0"
-fasteners==0.19 ; python_version >= "3.10" and python_version < "4.0" and sys_platform != "emscripten"
-filelock==3.13.1 ; python_version >= "3.10" and python_version < "4.0"
-fsspec==2024.3.1 ; python_version >= "3.10" and python_version < "4.0"
-gdown==5.1.0 ; python_version >= "3.10" and python_version < "4.0"
-gitdb==4.0.11 ; python_version >= "3.10" and python_version < "4.0"
-gitpython==3.1.42 ; python_version >= "3.10" and python_version < "4.0"
-glfw==2.7.0 ; python_version >= "3.10" and python_version < "4.0"
-grpcio==1.62.1 ; python_version >= "3.10" and python_version < "4.0"
-gymnasium-robotics==1.2.4 ; python_version >= "3.10" and python_version < "4.0"
-gymnasium==0.29.1 ; python_version >= "3.10" and python_version < "4.0"
-h5py==3.10.0 ; python_version >= "3.10" and python_version < "4.0"
-hf-transfer==0.1.6 ; python_version >= "3.10" and python_version < "4.0"
-huggingface-hub==0.21.4 ; python_version >= "3.10" and python_version < "4.0"
-huggingface-hub[hf-transfer]==0.21.4 ; python_version >= "3.10" and python_version < "4.0"
-hydra-core==1.3.2 ; python_version >= "3.10" and python_version < "4.0"
-idna==3.6 ; python_version >= "3.10" and python_version < "4.0"
-imageio-ffmpeg==0.4.9 ; python_version >= "3.10" and python_version < "4.0"
-imageio==2.34.0 ; python_version >= "3.10" and python_version < "4.0"
-imageio[pyav]==2.34.0 ; python_version >= "3.10" and python_version < "4.0"
-importlib-metadata==7.1.0 ; python_version >= "3.10" and python_version < "4.0"
-jinja2==3.1.3 ; python_version >= "3.10" and python_version < "4.0"
-labmaze==1.0.6 ; python_version >= "3.10" and python_version < "4.0"
-lazy-loader==0.3 ; python_version >= "3.10" and python_version < "4.0"
-llvmlite==0.42.0 ; python_version >= "3.10" and python_version < "4.0"
-lxml==5.1.0 ; python_version >= "3.10" and python_version < "4.0"
-markdown==3.6 ; python_version >= "3.10" and python_version < "4.0"
-markupsafe==2.1.5 ; python_version >= "3.10" and python_version < "4.0"
-moviepy==1.0.3 ; python_version >= "3.10" and python_version < "4.0"
-mpmath==1.3.0 ; python_version >= "3.10" and python_version < "4.0"
-mujoco==2.3.7 ; python_version >= "3.10" and python_version < "4.0"
-networkx==3.2.1 ; python_version >= "3.10" and python_version < "4.0"
-numba==0.59.1 ; python_version >= "3.10" and python_version < "4.0"
-numcodecs==0.12.1 ; python_version >= "3.10" and python_version < "4.0"
-numpy==1.26.4 ; python_version >= "3.10" and python_version < "4.0"
-nvidia-cublas-cu12==12.1.3.1 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-cuda-cupti-cu12==12.1.105 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-cuda-nvrtc-cu12==12.1.105 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-cuda-runtime-cu12==12.1.105 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-cudnn-cu12==8.9.2.26 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-cufft-cu12==11.0.2.54 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-curand-cu12==10.3.2.106 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-cusolver-cu12==11.4.5.107 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-cusparse-cu12==12.1.0.106 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-nccl-cu12==2.19.3 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-nvjitlink-cu12==12.4.99 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-nvidia-nvtx-cu12==12.1.105 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.10" and python_version < "4.0"
-omegaconf==2.3.0 ; python_version >= "3.10" and python_version < "4.0"
-opencv-python==4.9.0.80 ; python_version >= "3.10" and python_version < "4.0"
-packaging==24.0 ; python_version >= "3.10" and python_version < "4.0"
-pandas==2.2.1 ; python_version >= "3.10" and python_version < "4.0"
-pettingzoo==1.24.3 ; python_version >= "3.10" and python_version < "4.0"
-pillow==10.2.0 ; python_version >= "3.10" and python_version < "4.0"
-proglog==0.1.10 ; python_version >= "3.10" and python_version < "4.0"
-protobuf==4.25.3 ; python_version >= "3.10" and python_version < "4.0"
-psutil==5.9.8 ; python_version >= "3.10" and python_version < "4.0"
-pycparser==2.21 ; python_version >= "3.10" and python_version < "4.0"
-pygame==2.5.2 ; python_version >= "3.10" and python_version < "4.0"
-pymunk==6.6.0 ; python_version >= "3.10" and python_version < "4.0"
-pyopengl==3.1.7 ; python_version >= "3.10" and python_version < "4.0"
-pyparsing==3.1.2 ; python_version >= "3.10" and python_version < "4.0"
-pysocks==1.7.1 ; python_version >= "3.10" and python_version < "4.0"
-python-dateutil==2.9.0.post0 ; python_version >= "3.10" and python_version < "4.0"
-pytz==2024.1 ; python_version >= "3.10" and python_version < "4.0"
-pyyaml==6.0.1 ; python_version >= "3.10" and python_version < "4.0"
-regex==2023.12.25 ; python_version >= "3.10" and python_version < "4.0"
-requests==2.31.0 ; python_version >= "3.10" and python_version < "4.0"
-requests[socks]==2.31.0 ; python_version >= "3.10" and python_version < "4.0"
-robomimic==0.2.0 ; python_version >= "3.10" and python_version < "4.0"
-safetensors==0.4.2 ; python_version >= "3.10" and python_version < "4.0"
-scikit-image==0.22.0 ; python_version >= "3.10" and python_version < "4.0"
-scipy==1.12.0 ; python_version >= "3.10" and python_version < "4.0"
-sentry-sdk==1.43.0 ; python_version >= "3.10" and python_version < "4.0"
-setproctitle==1.3.3 ; python_version >= "3.10" and python_version < "4.0"
-setuptools==69.2.0 ; python_version >= "3.10" and python_version < "4.0"
-shapely==2.0.3 ; python_version >= "3.10" and python_version < "4.0"
-six==1.16.0 ; python_version >= "3.10" and python_version < "4.0"
-smmap==5.0.1 ; python_version >= "3.10" and python_version < "4.0"
-soupsieve==2.5 ; python_version >= "3.10" and python_version < "4.0"
-sympy==1.12 ; python_version >= "3.10" and python_version < "4.0"
-tensorboard-data-server==0.7.2 ; python_version >= "3.10" and python_version < "4.0"
-tensorboard==2.16.2 ; python_version >= "3.10" and python_version < "4.0"
-tensorboardx==2.6.2.2 ; python_version >= "3.10" and python_version < "4.0"
-tensordict @ git+https://github.com/pytorch/tensordict@b4c91e8828c538ca0a50d8383fd99311a9afb078 ; python_version >= "3.10" and python_version < "4.0"
-termcolor==2.4.0 ; python_version >= "3.10" and python_version < "4.0"
-tifffile==2024.2.12 ; python_version >= "3.10" and python_version < "4.0"
-torch==2.2.1 ; python_version >= "3.10" and python_version < "4.0"
-torchrl @ git+https://github.com/pytorch/rl@13bef426dcfa5887c6e5034a6e9697993fa92c37 ; python_version >= "3.10" and python_version < "4.0"
-torchvision==0.17.1 ; python_version >= "3.10" and python_version < "4.0"
-tqdm==4.66.2 ; python_version >= "3.10" and python_version < "4.0"
-triton==2.2.0 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version < "3.12" and python_version >= "3.10"
-typing-extensions==4.10.0 ; python_version >= "3.10" and python_version < "4.0"
-tzdata==2024.1 ; python_version >= "3.10" and python_version < "4.0"
-urllib3==2.2.1 ; python_version >= "3.10" and python_version < "4.0"
-wandb==0.16.4 ; python_version >= "3.10" and python_version < "4.0"
-werkzeug==3.0.1 ; python_version >= "3.10" and python_version < "4.0"
-zarr==2.17.1 ; python_version >= "3.10" and python_version < "4.0"
-zipp==3.18.1 ; python_version >= "3.10" and python_version < "4.0"
From 4f8f1926f917405026034d6b44c229541b4b81b2 Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Wed, 27 Mar 2024 16:49:27 +0100
Subject: [PATCH 07/12] Update pip install without requirements.txt
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 9c06ae21b..9ecc22ff3 100644
--- a/README.md
+++ b/README.md
@@ -87,7 +87,7 @@ Then, install 🤗 LeRobot:
### With pip
```bash
-pip install -r requirements.txt
+pip install .
```
### With poetry
From de1e9187c87bab25b7f6e8a1fb3dd78900ceac07 Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Wed, 27 Mar 2024 16:56:21 +0100
Subject: [PATCH 08/12] Formatting
---
README.md | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index 9ecc22ff3..5f76ffcde 100644
--- a/README.md
+++ b/README.md
@@ -224,11 +224,11 @@ hydra.run.dir=outputs/train/aloha_act
Feel free to open issues and PRs, and to coordinate your efforts with the community on our [Discord Channel](https://discord.gg/VjFz58wn3R). For specific inquiries, reach out to [Remi Cadene](remi.cadene@huggingface.co).
-**TODO**
+### TODO
If you are not sure how to contribute or want to know the next features we working on, look on this project page: [LeRobot TODO](https://github.com/orgs/huggingface/projects/46)
-**Follow our style**
+### Follow our style
```bash
# install if needed
@@ -237,7 +237,7 @@ pre-commit install
pre-commit
```
-**Add dependencies**
+### Add dependencies
Instead of using `pip` directly, we use `poetry` for development purposes to easily track our dependencies.
If you don't have it already, follow the [instructions](https://python-poetry.org/docs/#installation) to install it.
@@ -262,7 +262,7 @@ cd .github/poetry/cpu
poetry add some-package
```
-**Run tests locally**
+### Run tests locally
Install [git lfs](https://git-lfs.com/) to retrieve test artifacts (if you don't have it already).
@@ -293,7 +293,7 @@ Run tests
DATA_DIR="tests/data" pytest -sx tests
```
-**Add a new dataset**
+### Add a new dataset
To add a dataset to the hub, first login and use a token generated from [huggingface settings](https://huggingface.co/settings/tokens) with write access:
```bash
@@ -354,7 +354,7 @@ Finally, you might want to mock the dataset if you need to update the unit tests
python tests/scripts/mock_dataset.py --in-data-dir data/$DATASET --out-data-dir tests/data/$DATASET
```
-**Add a pretrained policy**
+### Add a pretrained policy
Once you have trained a policy you may upload it to the HuggingFace hub.
@@ -390,7 +390,7 @@ huggingface-cli upload $HUB_ID to_upload
See `eval.py` for an example of how a user may use your policy.
-**Improve your code with profiling**
+### Improve your code with profiling
An example of a code snippet to profile the evaluation of a policy:
```python
From 032200e32cd8850c132353a586d45888f5256f38 Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Wed, 27 Mar 2024 17:05:04 +0100
Subject: [PATCH 09/12] Typo fix
---
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 5f76ffcde..fa1725fce 100644
--- a/README.md
+++ b/README.md
@@ -64,7 +64,8 @@ As of now, this repository is tested on Python 3.10 and PyTorch 2.2.1.
We don't have a build released yet (coming soon!), so to install 🤗 LeRobot you need to clone this repo first:
```bash
-git clone https://github.com/scikit-build/cmake-python-distributions.git
+git clone https://github.com/huggingface/lerobot.git
+cd lerobot
```
You should install 🤗 LeRobot in a [virtual environment](https://docs.python.org/3/library/venv.html). If you're unfamiliar with Python virtual environments, check out the [user guide](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/).
From 6f1a0aefab54a846bbdf234d9ea1a740d1acd875 Mon Sep 17 00:00:00 2001
From: Simon Alibert <75076266+aliberts@users.noreply.github.com>
Date: Wed, 27 Mar 2024 20:50:23 +0100
Subject: [PATCH 10/12] typo fix
Co-authored-by: Alexander Soare
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index fa1725fce..f1a7a9c3c 100644
--- a/README.md
+++ b/README.md
@@ -96,7 +96,7 @@ pip install .
poetry install
```
-**Note:** If you encounter a disk space error, try to change your `tmp/` dirrectory to a location where you have enough disk space, e.g.
+**Note:** If you encounter a disk space error, try to change your `tmp/` directory to a location where you have enough disk space, e.g.
```bash
mkdir ~/tmp
export TMPDIR='~/tmp'
From 1b6cb2b1bee3243840b9770189b6f4dd16fdfd8a Mon Sep 17 00:00:00 2001
From: Simon Alibert <75076266+aliberts@users.noreply.github.com>
Date: Wed, 27 Mar 2024 20:51:52 +0100
Subject: [PATCH 11/12] Add space
Co-authored-by: Remi
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index f1a7a9c3c..179f14f6b 100644
--- a/README.md
+++ b/README.md
@@ -239,6 +239,7 @@ pre-commit
```
### Add dependencies
+
Instead of using `pip` directly, we use `poetry` for development purposes to easily track our dependencies.
If you don't have it already, follow the [instructions](https://python-poetry.org/docs/#installation) to install it.
From 9d9148dad835ec78ba2d9d1e786239c9011aee30 Mon Sep 17 00:00:00 2001
From: Simon Alibert
Date: Thu, 28 Mar 2024 10:01:33 +0100
Subject: [PATCH 12/12] Fixes for #57
---
README.md | 37 ++++++-------------------------------
1 file changed, 6 insertions(+), 31 deletions(-)
diff --git a/README.md b/README.md
index fa1725fce..3b4b4af7c 100644
--- a/README.md
+++ b/README.md
@@ -60,46 +60,21 @@
## Installation
-As of now, this repository is tested on Python 3.10 and PyTorch 2.2.1.
-
-We don't have a build released yet (coming soon!), so to install 🤗 LeRobot you need to clone this repo first:
+Download our source code:
```bash
git clone https://github.com/huggingface/lerobot.git
cd lerobot
```
-You should install 🤗 LeRobot in a [virtual environment](https://docs.python.org/3/library/venv.html). If you're unfamiliar with Python virtual environments, check out the [user guide](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/).
-
-Create a virtual environment with Python 3.10 and activate it.
-
-Using [`miniconda`](https://docs.anaconda.com/free/miniconda/index.html):
+Create a virtual environment with Python 3.10 and activate it, e.g. with [`miniconda`](https://docs.anaconda.com/free/miniconda/index.html):
```bash
conda create -y -n lerobot python=3.10
conda activate lerobot
```
-Using [`pyenv`](https://github.com/pyenv/pyenv):
-```bash
-pyenv install 3.10
-pyenv local 3.10
-```
-
Then, install 🤗 LeRobot:
-
-### With pip
```bash
-pip install .
-```
-
-### With poetry
-```bash
-poetry install
-```
-
-**Note:** If you encounter a disk space error, try to change your `tmp/` dirrectory to a location where you have enough disk space, e.g.
-```bash
-mkdir ~/tmp
-export TMPDIR='~/tmp'
+python -m pip install .
```
To use [Weights and Biases](https://docs.wandb.ai/quickstart) for experiments tracking, log in with
@@ -252,11 +227,11 @@ Then, the equivalent of `pip install some-package`, would just be:
poetry add some-package
```
-**NOTE:** Currently, to ensure the CI works properly, any new package must also be added in the CPU-only environment dedicated CI. To do this, you should create a separate environment and add the new package there as well. For example:
+**NOTE:** Currently, to ensure the CI works properly, any new package must also be added in the CPU-only environment dedicated to the CI. To do this, you should create a separate environment and add the new package there as well. For example:
```bash
-# add the new package to your main poetry env
+# Add the new package to your main poetry env
poetry add some-package
-# add the same package to the CPU-only env dedicated to CI
+# Add the same package to the CPU-only env dedicated to CI
conda create -y -n lerobot-ci python=3.10
conda activate lerobot-ci
cd .github/poetry/cpu