[tool.poetry] name = "lerobot" version = "0.1.0" description = "🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch" authors = [ "Rémi Cadène ", "Simon Alibert ", "Alexander Soare ", "Quentin Gallouédec ", "Adil Zouitine ", "Thomas Wolf ", ] repository = "https://github.com/huggingface/lerobot" readme = "README.md" license = "Apache-2.0" classifiers=[ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "Topic :: Software Development :: Build Tools", "Topic :: Scientific/Engineering :: Artificial Intelligence", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.10", ] packages = [{include = "lerobot"}] [tool.poetry.dependencies] python = ">=3.10,<3.13" termcolor = ">=2.4.0" omegaconf = ">=2.3.0" wandb = ">=0.16.3" imageio = {extras = ["ffmpeg"], version = ">=2.34.0"} gdown = ">=5.1.0" hydra-core = ">=1.3.2" einops = ">=0.8.0" pymunk = ">=6.6.0" zarr = ">=2.17.0" numba = ">=0.59.0" torch = "^2.2.1" opencv-python = ">=4.9.0" diffusers = "^0.27.2" torchvision = ">=0.17.1" h5py = ">=3.10.0" huggingface-hub = {extras = ["hf-transfer"], version = "^0.23.0"} gymnasium = ">=0.29.1" cmake = ">=3.29.0.1" gym-dora = { git = "https://github.com/dora-rs/dora-lerobot.git", subdirectory = "gym_dora", optional = true } gym-pusht = { version = ">=0.1.5", optional = true} gym-xarm = { version = ">=0.1.1", optional = true} gym-aloha = { version = ">=0.1.1", optional = true} pre-commit = {version = ">=3.7.0", optional = true} debugpy = {version = ">=1.8.1", optional = true} pytest = {version = ">=8.1.0", optional = true} pytest-cov = {version = ">=5.0.0", optional = true} datasets = "^2.19.0" imagecodecs = { version = ">=2024.1.1", optional = true } pyav = ">=12.0.5" moviepy = ">=1.0.3" rerun-sdk = ">=0.15.1" deepdiff = ">=7.0.1" scikit-image = {version = "^0.23.2", optional = true} pandas = {version = "^2.2.2", optional = true} pytest-mock = {version = "^3.14.0", optional = true} dynamixel-sdk = {version = "^3.7.31", optional = true} pynput = {version = "^1.7.7", optional = true} [tool.poetry.extras] dora = ["gym-dora"] pusht = ["gym-pusht"] xarm = ["gym-xarm"] aloha = ["gym-aloha"] dev = ["pre-commit", "debugpy"] test = ["pytest", "pytest-cov", "pytest-mock"] umi = ["imagecodecs"] video_benchmark = ["scikit-image", "pandas"] koch = ["dynamixel-sdk", "pynput"] [tool.ruff] line-length = 110 target-version = "py310" exclude = [ "tests/data", ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "venv", ] [tool.ruff.lint] select = ["E4", "E7", "E9", "F", "I", "N", "B", "C4", "SIM"] ignore-init-module-imports = true [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"