From 018feb3034aefe8636c3ad3ca4ec847330cb9369 Mon Sep 17 00:00:00 2001 From: ti Date: Tue, 15 Sep 2026 16:06:14 +0200 Subject: [PATCH] Relax dependency pins: torch<2.11, opencv-python-headless, dedupe viz extra - torch cap widened from <2.5 to <2.11 (torchvision <0.20 -> <0.26): covers the whole CUDA 12 line. torch 2.11+ ships CUDA 13 wheels by default, which need an R580+ driver; on older drivers the install succeeds but cuda.is_available() is False. Verified torch 2.10.0+cu128 locally: full test suite passes and Human3.6M eval is identical to torch 2.4.1 (MPJPE 49.08 / P-MPJPE 38.89). Follows the discussion in #36. - opencv-python -> opencv-python-headless. FMPose3D uses no HighGUI calls, and the headless build avoids pulling both cv2 variants when installed alongside DeepLabCut. Also drops the duplicate opencv-python from the viz extra. Closes #37. - Add Xiaohang Yu's email to authors. --- pyproject.toml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 467a6c4..7809ab1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ dynamic = ["version"] license = {text = "Apache 2.0"} authors = [ {name = "Ti Wang", email = "ti.wang@epfl.ch"}, - {name = "Xiaohang Yu"}, + {name = "Xiaohang Yu", email = "xiaohang.yu@epfl.ch"}, {name = "Mackenzie Weygandt Mathis", email = "mackenzie.mathis@epfl.ch"}, ] keywords = ["pose estimation", "3D pose", "flow matching", "computer vision"] @@ -24,12 +24,12 @@ classifiers = [ ] dependencies = [ - # Pinned to torch 2.4.x: PyPI's Linux wheel for this range depends on - # CUDA 12.1 runtime packages. Newer torch releases may pull newer CUDA - # runtimes by default, so keep this bound to avoid surprising NVIDIA - # driver requirements for users. - "torch>=2.4.1,<2.5", - "torchvision>=0.19.1,<0.20", + # Capped below torch 2.11: PyPI's default Linux wheels for 2.4-2.10 bring a + # CUDA 12.x runtime, which any driver >= R525 can run. torch 2.11+ switches + # to CUDA 13 and needs an R580+ driver, so lifting this would silently break + # GPU support for users on older drivers. torchvision is paired accordingly. + "torch>=2.4.1,<2.11", + "torchvision>=0.19.1,<0.26", "timm>=1.0.0", "einops>=0.4.0", "numpy>=1.18.5", @@ -37,7 +37,7 @@ dependencies = [ "scipy>=1.13", "h5py>=3.0.0", "yacs>=0.1.8", - "opencv-python>=4.5.0", + "opencv-python-headless>=4.5.0", "numba>=0.60", "scikit-image>=0.19.0", "filterpy>=1.4.5", @@ -48,7 +48,7 @@ dependencies = [ [project.optional-dependencies] dev = ["pytest>=7.0.0", "black>=22.0.0", "flake8>=4.0.0", "isort>=5.10.0"] wandb = ["wandb>=0.12.0"] -viz = ["matplotlib>=3.5.0", "opencv-python>=4.5.0"] +viz = ["matplotlib>=3.5.0"] animals = ["deeplabcut>=3.0.0rc13"] [tool.setuptools]