# Orin platform pyproject.toml — Jetson Orin (aarch64, JetPack 6.2, CUDA 12.6, Python 3.10) # Uses jetson-jp6-cu126 index for torch/torchvision/triton/flash-attn/diffusers # (generic pytorch-cu128 wheels don't support Orin's sm_87 GPU). [build-system] requires = ["setuptools>=67", "wheel", "pip"] build-backend = "setuptools.build_meta" [project] name = "gr00t" version = "0.1.0" requires-python = ">=3.10,<3.11" dependencies = [ "albumentations==1.4.18", "diffusers==0.35.0.dev0", "dm-tree==0.1.8", "huggingface-hub[cli]", "jsonlines==4.0.0", "lmdb==1.7.5", "msgpack==1.1.0", "msgpack-numpy==0.4.8", "opencv-python-headless>=4.5,<4.13", "pandas==2.2.3", "peft==0.17.1", "termcolor==3.2.0", "torch==2.10.0", "triton==3.5.1", "torchvision==0.25.0", "transformers==4.57.6", "tyro==0.9.17", "click==8.1.8", "datasets==3.6.0", "cryptography>=46.0.7", "einops==0.8.1", "gitpython==3.1.50", "gymnasium==1.2.2", "matplotlib==3.10.1", "numpy==1.26.4", "omegaconf==2.3.0", "scipy==1.15.3", "wandb==0.23.0", "pyzmq==27.0.1", "flash-attn==2.8.3", "onnx>=1.20.0", "onnxscript", ] [project.optional-dependencies] dev = [ "ruff", "ipython", "pytest", "pytest-timeout", "build", "pre-commit", ] [tool.setuptools.packages.find] where = ["."] include = ["gr00t*"] [tool.uv] [tool.uv.sources] torch = [{ index = "jetson-jp6-cu126" }] torchvision = [{ index = "jetson-jp6-cu126" }] triton = [{ index = "jetson-jp6-cu126" }] flash-attn = [{ index = "jetson-jp6-cu126" }] diffusers = [{ index = "jetson-jp6-cu126" }] [tool.pytest.ini_options] addopts = "--import-mode=importlib" markers = [ "gpu: tests that require a GPU", "multigpu: tests that require multiple GPUs and use all visible GPUs", ] # Include fixture setup/teardown in JUnit so duration # reports reflect real wall-clock time instead of call-only. junit_duration_report = "total" [tool.ruff] line-length = 100 target-version = "py310" src = ["gr00t"] exclude = [ "__pycache__", ".git", ".mypy_cache", ".pytest_cache", ".vscode", ".venv", "dist", "logs", "*.ipynb", "external_dependencies", ] [tool.ruff.format] quote-style = "double" indent-style = "space" docstring-code-format = true [tool.ruff.lint] select = ["E", "F", "I"] ignore = ["E501"] [tool.ruff.lint.per-file-ignores] "__init__.py" = ["F401"] [tool.ruff.lint.isort] case-sensitive = false combine-as-imports = true force-sort-within-sections = true force-wrap-aliases = false split-on-trailing-comma = false lines-after-imports = 2 section-order = ["future", "standard-library", "third-party", "first-party", "local-folder"] [[tool.uv.index]] name = "nvidia-pypi" url = "https://pypi.nvidia.com" explicit = true [[tool.uv.index]] name = "jetson-jp6-cu126" url = "https://pypi.jetson-ai-lab.io/jp6/cu126/+simple" explicit = true