GR00T / scripts /deployment /thor /pyproject.toml
yqi19's picture
add: source files (batch 3)
af83d87 verified
# Thor platform pyproject.toml — Jetson AGX Thor (aarch64, CUDA 13, Python 3.12)
# This is a self-contained config with no platform markers needed.
[build-system]
requires = ["setuptools>=67", "wheel", "pip"]
build-backend = "setuptools.build_meta"
[project]
name = "gr00t"
version = "0.1.0"
requires-python = ">=3.12,<3.13"
dependencies = [
"albumentations==1.4.18",
"av==16.1.0",
"diffusers==0.36.0.dev0",
"dm-tree==0.1.8",
"lmdb==1.7.5",
"msgpack==1.1.0",
"msgpack-numpy==0.4.8",
"pandas==2.2.3",
"peft==0.17.1",
"termcolor==3.2.0",
"torch==2.10.0",
"triton==3.5.0",
"torchvision==0.25.0",
"transformers==4.57.6",
"tyro==0.9.17",
"click==8.1.8",
"datasets==3.6.0",
"cryptography>=44.0.0",
"einops==0.8.1",
"gitpython==3.1.46",
"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",
"torchcodec==0.10.0",
# Keep these as direct pins: the Jetson Thor torch wheel does not bundle these runtime libs,
# and we want them installed even if torch's transitive dependency metadata changes upstream.
# Revisit if the Jetson AI Lab torch packages start vendoring them or declaring them reliably.
"nvidia-cudnn-cu13",
"nvidia-cudss-cu13",
"flash-attn==2.8.4",
"onnx>=1.20.0",
"onnxscript",
"tensorrt>=10.14.1.48.post1",
]
[project.optional-dependencies]
dev = [
"ruff",
"ipython",
"pytest",
"pytest-timeout",
"build",
"pre-commit",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["gr00t*"]
[tool.uv]
[tool.uv.extra-build-dependencies]
flash-attn = ["torch==2.10.0", "numpy==1.26.4", "triton==3.5.0"]
[tool.uv.sources]
torch = [{ index = "jetson-sbsa-cu130" }]
torchvision = [{ index = "jetson-sbsa-cu130" }]
torchcodec = [{ index = "jetson-sbsa-cu130" }]
triton = [{ index = "jetson-sbsa-cu130" }]
flash-attn = [{ index = "jetson-sbsa-cu130" }]
diffusers = [{ index = "jetson-sbsa-cu130" }]
[tool.pytest.ini_options]
addopts = "--import-mode=importlib"
markers = [
"gpu: tests that require a GPU",
]
[tool.ruff]
line-length = 100
# Thor ships Python 3.12 (see requires-python above) — keep Ruff aligned
# so rule behaviour matches the interpreter actually used on device.
target-version = "py312"
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-sbsa-cu130"
url = "https://pypi.jetson-ai-lab.io/sbsa/cu130/+simple"
explicit = true