7e4ef6f98b
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
128 lines
3.1 KiB
TOML
128 lines
3.1 KiB
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "spider"
|
|
version = "0.1.0"
|
|
description = "Add your description here"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"numpy",
|
|
"torch",
|
|
"loguru",
|
|
"tyro",
|
|
"loop-rate-limiters",
|
|
"hydra-core",
|
|
"matplotlib",
|
|
"imageio[ffmpeg]",
|
|
"mediapy",
|
|
"opencv-python",
|
|
"mujoco==3.7.0",
|
|
"mujoco-warp==3.7.0.1",
|
|
"warp-lang==1.12.1",
|
|
"rerun-sdk==0.26.2",
|
|
"viser",
|
|
"ipdb",
|
|
# pymeshlab 2025+ wheels require glibc 2.35; pin to last 2024-compatible
|
|
# release to support older Linux hosts.
|
|
"pymeshlab<2025",
|
|
"open3d",
|
|
"ipykernel",
|
|
"huggingface_hub",
|
|
"gspread",
|
|
"google-auth",
|
|
"mink",
|
|
]
|
|
|
|
[project.scripts]
|
|
spider-mjwp = "examples.run_mjwp:main"
|
|
|
|
[tool.hatch.metadata]
|
|
allow-direct-references = true
|
|
|
|
[[tool.uv.index]]
|
|
name = "nvidia"
|
|
url = "https://pypi.nvidia.com/"
|
|
explicit = true
|
|
|
|
[tool.uv]
|
|
# Allow uv to fall through to a later index when the first index lacks a
|
|
# usable version (e.g. internal mirrors that only stock a legacy
|
|
# opencv-python==3.2.0.6 with no Python 3.12 wheels).
|
|
index-strategy = "unsafe-best-match"
|
|
|
|
[tool.uv.sources]
|
|
warp-lang = { index = "nvidia" }
|
|
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["spider"]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"ruff>=0.13.2",
|
|
]
|
|
# OakInk2 toolkit lives outside the resolver; install manually after
|
|
# `uv sync` if you need the oakinkv2 dataset processor:
|
|
# uv pip install /path/to/OakInk2
|
|
#
|
|
# Optional 21-joint MANO skeleton in the viser viewer requires manotorch +
|
|
# the gated MANO model files (mano.is.tue.mpg.de). manotorch's setup.py pins
|
|
# an unbuildable opencv-python so it cannot live in the uv resolver; install
|
|
# manually after `uv sync --extra oakinkv2`:
|
|
#
|
|
# uv pip install pip
|
|
# uv pip install --no-build-isolation \
|
|
# 'chumpy @ git+https://github.com/mattloper/chumpy@9b045ff5d6588a24a0bab52c83f032e2ba433e17'
|
|
# uv pip install --no-deps git+https://github.com/lixiny/manotorch.git
|
|
#
|
|
# Then place MANO_LEFT.pkl + MANO_RIGHT.pkl under <root>/models/ and pass
|
|
# --mano-assets-root=<root> to the processor.
|
|
|
|
[tool.ruff]
|
|
# Same as Black.
|
|
line-length = 88
|
|
indent-width = 4
|
|
|
|
# Assume Python 3.12+
|
|
target-version = "py312"
|
|
|
|
[tool.ruff.lint]
|
|
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
|
|
# Plus Google style conventions
|
|
select = [
|
|
"E", # pycodestyle errors
|
|
"W", # pycodestyle warnings
|
|
"F", # Pyflakes
|
|
"I", # isort
|
|
"N", # pep8-naming
|
|
"D", # pydocstyle (Google style docstrings)
|
|
"UP", # pyupgrade
|
|
"B", # flake8-bugbear
|
|
"C4", # flake8-comprehensions
|
|
"SIM", # flake8-simplify
|
|
]
|
|
|
|
ignore = [
|
|
"E501", # Line too long (handled by formatter)
|
|
"D100", # Missing docstring in public module
|
|
"D104", # Missing docstring in public package
|
|
"D107", # Missing docstring in `__init__`
|
|
]
|
|
|
|
[tool.ruff.format]
|
|
# Use Google style formatting
|
|
quote-style = "double"
|
|
indent-style = "space"
|
|
skip-magic-trailing-comma = false
|
|
line-ending = "auto"
|
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
# Use Google-style docstrings
|
|
convention = "google"
|
|
|
|
[tool.ruff.lint.isort]
|
|
known-first-party = ["spider"]
|