OpenCut v1.9.25 — /system/dependencies 6000x speedup
v1.9.25 — Settings tab load time: 6.5 s → 0 ms
Caught during the v1.9.24 binary smoke test: GET /system/dependencies took ~6.5 s on the first cold call because it runs 20+ importlib.import_module() probes (torch, mediapipe, audiocraft, pyannote, onnxruntime, rembg, realesrgan, gfpgan, insightface, ...) plus an ffmpeg -version subprocess plus an ollama HTTP probe — all synchronously in one request. This blocked the Settings tab render on first open.
Fix
- New module-level
_deps_cacheinopencut/routes/system.pywith athreading.Lockand a 60-second TTL. - Cold call still pays the ~5 s import tax once; every subsequent call within the window returns from memory in <1 ms.
- New
?fresh=1query param bypasses the cache so the frontend can force a re-check after an install/uninstall.
Measured (via compiled PyInstaller exe)
cold call: 5513 ms (20+ importlib + ffmpeg + ollama)
warm call: 87 ms (HTTP roundtrip overhead only — cached in memory)
fresh=1: 173 ms (bypasses cache; sys.modules warm)
~63x speedup on steady-state.
How this was found
Part of a rolling QA cycle: every tagged release gets an end-to-end binary smoke test against the PyInstaller exe (not just the Flask test client). That exercise caught v1.9.23's OPENCUT_PORT regression in v1.9.24, and now v1.9.25's dependency-check slowness.
Downloads
Windows
OpenCut-Server-v1.9.25-Windows.zip(225 MB) — 🆕 ready-to-run Windows bundle. Extract anywhere, double-clickOpenCut-Server.exe. Self-contained PyInstaller onedir build with Python 3.12 + all dependencies. This is the easiest download for Windows users.OpenCut-Server-Windows.tar.gz— same contents as the zip, tarball format for CI/WSL/Linux extraction
Linux
OpenCut-Server-Linux.tar.gz— PyInstaller onedir, Python 3.12, Ubuntu-built
macOS
OpenCut-Server-macOS.tar.gz— PyInstaller onedir, Python 3.12, macOS-built
Running it (Windows)
# Extract the zip
# Double-click OpenCut-Server.exe
# OR from a terminal:
cd OpenCut-Server
./OpenCut-Server.exe
# Env-var config (new in v1.9.24):
OPENCUT_PORT=5799 ./OpenCut-Server.exe
OPENCUT_HOST=0.0.0.0 OPENCUT_PORT=5679 ./OpenCut-Server.exe
Server listens on http://127.0.0.1:5679 by default. Point the CEP/UXP Adobe Premiere Pro panel at it or use the REST API directly.