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"]