| | [project] |
| | name = "openpi" |
| | version = "0.1.0" |
| | description = "Physical Intelligence open source repo" |
| | readme = "README.md" |
| | requires-python = ">=3.11" |
| | license = { file = "LICENSE" } |
| | dependencies = [ |
| | "augmax>=0.3.4", |
| | "dm-tree>=0.1.8", |
| | "einops>=0.8.0", |
| | "equinox>=0.11.8", |
| | "flatbuffers>=24.3.25", |
| | "flax==0.10.2", |
| | "fsspec[gcs]>=2024.6.0", |
| | "gym-aloha>=0.1.1", |
| | "imageio>=2.36.1", |
| | "jax[cuda12]==0.5.3", |
| | "jaxtyping==0.2.36", |
| | "lerobot", |
| | "ml_collections==1.0.0", |
| | "numpy>=1.22.4,<2.0.0", |
| | "numpydantic>=1.6.6", |
| | "opencv-python>=4.10.0.84", |
| | "openpi-client", |
| | "orbax-checkpoint==0.11.13", |
| | "pillow>=11.0.0", |
| | "sentencepiece>=0.2.0", |
| | "torch==2.7.1", |
| | "tqdm-loggable>=0.2", |
| | "typing-extensions>=4.12.2", |
| | "tyro>=0.9.5", |
| | "wandb>=0.19.1", |
| | "filelock>=3.16.1", |
| | "beartype==0.19.0", |
| | "treescope>=0.1.7", |
| | "transformers==4.53.2", |
| | "rich>=14.0.0", |
| | "polars>=1.30.0", |
| | ] |
| |
|
| |
|
| | [project.urls] |
| | Repository = "https://github.com/Physical-Intelligence/openpi" |
| |
|
| | [dependency-groups] |
| | dev = [ |
| | "pytest>=8.3.4", |
| | "ruff>=0.8.6", |
| | "pre-commit>=4.0.1", |
| | "ipykernel>=6.29.5", |
| | "ipywidgets>=8.1.5", |
| | "matplotlib>=3.10.0", |
| | "pynvml>=12.0.0", |
| | ] |
| | rlds = [ |
| | "dlimp", |
| | "tensorflow-cpu==2.15.0", |
| | "tensorflow-datasets==4.9.9", |
| | ] |
| |
|
| | [tool.uv] |
| | override-dependencies = ["ml-dtypes==0.4.1", "tensorstore==0.1.74"] |
| |
|
| | [tool.uv.sources] |
| | openpi-client = { workspace = true } |
| | lerobot = { git = "https://github.com/huggingface/lerobot", rev = "0cf864870cf29f4738d3ade893e6fd13fbd7cdb5" } |
| | dlimp = { git = "https://github.com/kvablack/dlimp", rev = "ad72ce3a9b414db2185bc0b38461d4101a65477a" } |
| |
|
| | [tool.uv.workspace] |
| | members = ["packages/*"] |
| |
|
| | [tool.ruff] |
| | line-length = 120 |
| | target-version = "py311" |
| | extend-exclude = ["docker", "third_party", "src/openpi/models_pytorch/transformers_replace/*"] |
| |
|
| | [tool.ruff.lint] |
| | |
| | select = [ |
| | "B", |
| | "C4", |
| | "DTZ", |
| | "E4", |
| | "E7", |
| | "E9", |
| | "F", |
| | "FBT", |
| | "FURB", |
| | "I", |
| | "ICN", |
| | "ISC", |
| | "LOG", |
| | "N", |
| | "PD", |
| | "PERF", |
| | "PIE", |
| | "PLC", |
| | "PLE", |
| | "PLR1", |
| | "PLR5", |
| | "PLW", |
| | "PT", |
| | "Q", |
| | "RET", |
| | "RUF", |
| | "SIM", |
| | "SLF", |
| | "T10", |
| | "T20", |
| | "UP", |
| | "W", |
| | ] |
| | ignore = [ |
| | "F722", |
| | "T201", |
| | "PD008", |
| | "ISC001", |
| | "LOG015", |
| | ] |
| | unfixable = [ |
| | "B905", |
| | ] |
| |
|
| | [tool.ruff.lint.isort] |
| | force-single-line = true |
| | force-sort-within-sections = true |
| | single-line-exclusions = ["collections.abc", "typing", "typing_extensions"] |
| | known-third-party = ["wandb"] |
| |
|
| | [build-system] |
| | requires = ["hatchling"] |
| | build-backend = "hatchling.build" |
| |
|
| | [tool.pytest.ini_options] |
| | markers = ["manual: should be run manually."] |
| | testpaths = ["src", "scripts", "packages"] |
| |
|