# ============================================================================= # InsightUX — pinned requirements # # Python 3.11 is REQUIRED. mediapipe's legacy solutions.face_mesh API (which # this project depends on for face landmarks) does not exist on newer # mediapipe builds for Python 3.12+. # # Install with: # pip install -r requirements.txt # ============================================================================= # --- Core CV / inference --- opencv-python==4.10.0.84 mediapipe==0.10.18 onnx==1.16.2 onnxruntime==1.19.2 numpy==1.26.4 scipy==1.13.1 Pillow==10.4.0 # --- Screen capture / automation --- pyautogui==0.9.54 # --- pywebview: PINNED, DO NOT UPGRADE WITHOUT TESTING --- # Newer pywebview versions (5.x+) have a bug in their Windows WinForms # backend that triggers an infinite recursion walking the window's # accessibility tree, freezing the entire window and flooding the console # with: # AccessibilityObject.Bounds.Empty.Empty.Empty.Empty... # These two versions are the confirmed-working combination — install exactly # these, not "latest": pywebview==4.4.1 pythonnet==3.0.3 # --- Optional: calibration fine-tuning --- # calibrate.py degrades gracefully and skips fine-tuning if torch is absent, # so this is only needed if you want the fine-tuning step during calibration. torch==2.4.1 torchvision==0.19.1 # --- Optional fallback GUI backend --- # If the pywebview freeze happens even after pinning the versions above # (rare — usually caused by Xbox Game Bar or another accessibility-hooking # overlay app running in the background), install these and change the last # line of browser_session.py from: # webview.start(debug=True) # to: # webview.start(gui='qt', debug=True) # Qt does not use the buggy WinForms accessibility chain, so this class of # freeze cannot happen with it. # PyQt5==5.15.10 # PyQtWebEngine==5.15.6