Context
DeepLabCut installs FMPose3D via the optional [fmpose3d] extra. We are preparing a DLC release that:
- removes DLC’s
numpy<2 upper bound for the default (PyTorch) install (DeepLabCut#3499)
- declares OpenCV explicitly on the DLC base deps as
opencv-python-headless (DeepLabCut#3508)
pyproject.toml currently specifies non-aligned dependencies:
numpy>=1.18.5,<2.0
opencv-python>=4.5.0 (also again under the viz extra)
When users install deeplabcut[fmpose3d], that can:
- block NumPy 2 even though DLC’s core path is ready for it
- pull both
opencv-python and opencv-python-headless (DLC/albumentations/napari prefer headless; FMPose3D/imgaug prefer full). Both distribute cv2, so install order decides which build you get.
Related: #36 already proposes removing NumPy (and related) upper bounds for DLC compatibility.
Questions
-
Can FMPose3D switch to opencv-python-headless?
DLC does not need GUI HighGUI (cv2.imshow etc.), and headless avoids libGL issues on servers/CI/Colab.
Would it be acceptable for FMPose3D to depend on opencv-python-headless instead of opencv-python?
If something in FMPose3D requires the full OpenCV build, please say what — then we should document the dual-install.
-
Is numpy<2 still required?
I.e. is the <2.0 pin there because of a known runtime break under NumPy 2, or was it inherited for compatibility with older stacks / DLC?
Context
DeepLabCut installs FMPose3D via the optional
[fmpose3d]extra. We are preparing a DLC release that:numpy<2upper bound for the default (PyTorch) install (DeepLabCut#3499)opencv-python-headless(DeepLabCut#3508)pyproject.tomlcurrently specifies non-aligned dependencies:numpy>=1.18.5,<2.0opencv-python>=4.5.0(also again under thevizextra)When users install
deeplabcut[fmpose3d], that can:opencv-pythonandopencv-python-headless(DLC/albumentations/napari prefer headless; FMPose3D/imgaug prefer full). Both distributecv2, so install order decides which build you get.Related: #36 already proposes removing NumPy (and related) upper bounds for DLC compatibility.
Questions
Can FMPose3D switch to
opencv-python-headless?DLC does not need GUI HighGUI (
cv2.imshowetc.), and headless avoidslibGLissues on servers/CI/Colab.Would it be acceptable for FMPose3D to depend on
opencv-python-headlessinstead ofopencv-python?If something in FMPose3D requires the full OpenCV build, please say what — then we should document the dual-install.
Is
numpy<2still required?I.e. is the
<2.0pin there because of a known runtime break under NumPy 2, or was it inherited for compatibility with older stacks / DLC?