Source: pyproject.toml · Plain text

pyproject.toml

[build-system]
requires = ["hatchling>=1.27"]
build-backend = "hatchling.build"

[project]
name = "measurement-scene-state"
version = "0.1.0"
description = "Measurement-complete, predictor-independent scene state research code"
readme = "README.md"
requires-python = ">=3.11,<3.13"
dependencies = [
    "h5py>=3.12",
    "kornia>=0.8.1,<0.9",
    "numpy>=1.26",
    "pillow>=10.4",
    "pyyaml>=6.0.2",
    "requests>=2.32",
    "scipy>=1.11",
    "torch>=2.7",
    "tqdm>=4.67",
]

[project.optional-dependencies]
eval = ["lpips>=0.1.4", "matplotlib>=3.8"]
mapanything = ["mapanything==1.1.4"]
dev = [
    "matplotlib>=3.8",
    "opencv-python-headless>=4.10",
    "scikit-image>=0.24",
    "pytest>=8.3",
    "pytest-cov>=6.0",
    "ruff>=0.9",
]

[project.scripts]
mcss = "mcss.cli:main"

[[tool.uv.index]]
name = "pytorch-cu128"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

[tool.uv.sources]
mapanything = { path = "third_party/map-anything", editable = true }
torch = [
    { index = "pytorch-cu128", marker = "sys_platform == 'win32' or sys_platform == 'linux'" },
]

[tool.hatch.build.targets.wheel]
packages = ["src/mcss"]

[tool.pytest.ini_options]
addopts = "-ra --strict-markers"
testpaths = ["tests"]
pythonpath = ["src"]

[tool.ruff]
line-length = 100
target-version = "py311"
extend-exclude = ["third_party", "backups", "outputs", "docs/experiments"]

[tool.ruff.lint]
select = ["B", "E", "F", "I", "UP"]

[tool.ruff.lint.per-file-ignores]
# Kept byte-for-byte: their hashes are recorded in the ARKitScenes cohort locks (candidate_lock source hashes).
"scripts/prepare_rgbd_arkit_confirm_cohort.py" = ["E501"]
"scripts/prepare_rgbd_arkit_val_cohort.py" = ["E501"]
# Kept byte-for-byte as run for EXP-3D-RGBD-ARKIT-SYSTEM4-DATA-V1 (the cohort of
# EXP-3D-CAJU3D-SYSTEM4-HOLDOUT-V1).
"scripts/prepare_rgbd_arkit_system4_cohort.py" = ["E501"]