[project] name = "sparsebev" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.11" dependencies = [ "numpy>=2.4.3", "onnx>=1.20.1", "onnxruntime>=1.16", "setuptools>=40,<72", # <72 required: mmcv setup.py uses pkg_resources removed in >=72 "torch>=2.10.0", "torchvision>=0.25.0", # mmdet ecosystem — old packages with stale pins, needs --no-build-isolation "mmdet==2.28.2", "mmsegmentation==0.30.0", "mmdet3d==1.0.0rc6", "mmcv==1.7.0", "fvcore>=0.1.5.post20221221", "einops>=0.8.2", "onnxscript>=0.6.2", ] [tool.uv] # Build mmcv/mmdet without isolation so they see the pinned setuptools<72 # (they import pkg_resources in setup.py which was removed in setuptools>=72) no-build-isolation-package = ["mmcv", "mmdet", "mmdet3d", "mmsegmentation"] # mmdet3d==1.0.0rc6 has stale pins that conflict with Python 3.12 and modern torch. # Override to compatible modern versions. override-dependencies = [ "networkx>=2.5.1", # mmdet3d pins numba==0.53.0 -> llvmlite==0.36.0 which only supports Python<3.10 "numba>=0.60.0", "llvmlite>=0.43.0", # setuptools>=72 removed pkg_resources as a top-level module; mmcv setup.py needs it "setuptools<72", ] [tool.uv.extra-build-dependencies] # mmdet3d/mmdet need torch at build time (they import it in setup.py) mmdet3d = ["torch"] mmdet = ["torch"] mmcv = ["setuptools"]