Files
pose_tracking_exp/pyproject.toml
T
crosstyan 061d5b4592 build: add reproducible mmdet patch script
Add an idempotent patch-mmdet-version-gate entrypoint that rewrites the installed mmdet mmcv compatibility assert into a warning so the local rebuilt mmcv wheel can be reused after uv sync.

Cover the source rewrite with focused tests and document the post-sync command in the README so the local environment patch is reproducible instead of being a one-off manual edit inside .venv.
2026-03-26 16:35:56 +08:00

85 lines
2.0 KiB
TOML

[build-system]
requires = ["hatchling>=1.27.0"]
build-backend = "hatchling.build"
[project]
name = "pose-tracking-exp"
version = "0.1.0"
description = "Offline multiview pose tracking experiment with RPT-backed proposal births"
readme = "README.md"
requires-python = ">=3.12,<3.13"
dependencies = [
"anyio>=4.11.0",
"beartype>=0.19.0",
"click>=8.2.1",
"jaxtyping>=0.3.2",
"numpy>=2.1.0",
"opencv-python-headless>=4.12.0.88",
"pyarrow>=21.0.0",
"rapid-pose-triangulation",
"scipy>=1.15.0",
]
[dependency-groups]
dev = [
"basedpyright>=1.31.0",
"jupyterlab>=4.5.6",
"pytest>=8.4.0",
]
detection = [
"cvmmap-client",
"loguru>=0.7.3",
"mmcv",
"mmdet>=3.3.0",
"mmengine>=0.10.7",
"mmpose>=1.3.2",
"nats-py>=2.11.0",
"pydantic>=2.11.7",
"pydantic-settings>=2.0.0",
"torch==2.11.0",
"torchvision==0.26.0",
"ultralytics>=8.3.166",
"xtcocotools",
]
[project.scripts]
pose-tracking-exp = "pose_tracking_exp.cli:main"
patch-mmdet-version-gate = "pose_tracking_exp.detection.patch_mmdet:main"
[tool.hatch.build.targets.wheel]
packages = ["src/pose_tracking_exp"]
[tool.uv]
no-build-isolation-package = ["chumpy", "xtcocotools"]
[tool.uv.sources]
rapid-pose-triangulation = { path = "../RapidPoseTriangulation", editable = true }
cvmmap-client = { path = "../cvmmap-python-client", editable = true }
mmcv = { path = "vendor/wheels/mmcv-2.2.0-cp312-cp312-linux_x86_64.whl" }
torch = [
{ index = "pytorch-cu130", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
]
torchvision = [
{ index = "pytorch-cu130", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
]
xtcocotools = { path = "vendor/wheels/xtcocotools-1.14.3-cp312-cp312-linux_x86_64.whl" }
[[tool.uv.index]]
url = "https://pypi.org/simple"
default = true
[[tool.uv.index]]
name = "pytorch-cu130"
url = "https://download.pytorch.org/whl/cu130"
explicit = true
[tool.pytest.ini_options]
testpaths = ["tests"]
[tool.basedpyright]
typeCheckingMode = "standard"
pythonVersion = "3.12"
include = ["src", "tests"]
reportAny = false
reportExplicitAny = false