Build
Windows packaging for the studio desktop app.
Layout
build/
studio/
entry.py # frozen entry (no source chdir)
orisys-studio.spec # PyInstaller onedir spec
build.ps1 # create/reuse .venv-build and build
_pyinstaller/ # PyInstaller workpath (gitignored)
dist/
OrisysStudio/
OrisysStudio.exe
config/ # lean locales + sensors (no finger visualization/)
_internal/ # Python, PyQt5, opencv-headless, orisys, …
Prerequisites
- Windows + Python 3.10+ on PATH
orisysinstallable into the build venv (pip install orisys>=0.5)- Do not install
orisys[gui]/ Open3D for this build
Build
From build\studio (recommended):
build.bat
build.bat -Clean
build.bat -SkipInstall
Or from repo root:
powershell -ExecutionPolicy Bypass -File .\build\studio\build.ps1
build.bat always resolves build.ps1 next to itself (cwd-independent) and forwards flags.
Flags:
| Flag | Meaning |
|---|---|
-Clean |
Pass --clean to PyInstaller (use after dep/spec changes) |
-SkipInstall |
Reuse packages already in .venv-build (faster iteration) |
Output: dist\OrisysStudio\OrisysStudio.exe
Dependency notes
- App shared dep uses
opencv-python-headless(PyQt owns the GUI). - Upstream
orisysmay still declareopencv-python.build.ps1uninstalls that wheel and installsopencv-python-headless>=4.10,<5(5.x has shipped broken wheels without acv2module). The script verifiesimport cv2before packaging. - Open3D is excluded (spec + build env). Finger 3D remains a placeholder in the UI.
Size / startup
- onedir (not onefile): faster cold start; ship the whole
OrisysStudiofolder. - Finger
assets/visualization/is stripped from the shippedconfig/(~11 MB saved). - Studio shell defers OpenCV / acquisition imports until Preview or Run.
Expect hundreds of MB total (Qt + numpy/scipy/numba + OpenCV). Without Open3D this stays smaller than a full orisys[gui] bundle.
Verification
- Launch
OrisysStudio.exeon the build machine (and ideally a clean PC without Python). - Theme / locale / prefs work;
preference.jsonandoutputs\appear next to the EXE. - Camera preview + box/mini/finger Run (video) with image modes and force plots.
- Confirm no
open3d*files underdist\OrisysStudio.
Editable run (unchanged)
$env:PYTHONPATH = "D:\repo\orisys-app\shared\src;D:\repo\orisys-app\apps\studio\src"
python D:\repo\orisys-app\apps\studio\run.py