@echo off rem onw - Ore no NPU ga konna ni ugoku wake nai: install the engine and the resident tray app (Windows). rem Finds Python 3.10+ (offers to install it with winget), creates .venv, installs onw + the tray, adds "onw" to rem the Start menu and starts it in the task tray. Models are downloaded later from the onw window (Models tab). setlocal cd /d "%~dp0" set PYTHONUTF8=1 if not exist ".venv\Scripts\python.exe" goto create rem pip ran for this pyproject.toml already (onw.deps): nothing to install. Otherwise - new packages from an update, rem an update whose pip could not finish, an older install - pip runs again. ".venv\Scripts\python.exe" -m onw.deps check >nul 2>&1 && goto shortcut goto install :create call "%~dp0find_python.bat" if not defined PY ( pause exit /b 1 ) echo [setup] creating Python environment in .venv ... %PY% -m venv .venv if errorlevel 1 ( echo [setup] could not create the Python environment. pause exit /b 1 ) :install rem a running onw keeps its packages' DLLs locked: stopped first (it starts again at the end) ".venv\Scripts\python.exe" -m onw.deps stop rem (the bundled pip is fine; a newer pip once failed to install packages that have scripts, so it is not upgraded) ".venv\Scripts\python.exe" -m pip install -e .[tray] --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/pre-release if not errorlevel 1 goto installed if defined RETRIED ( echo [setup] package installation failed. pause exit /b 1 ) echo [setup] installation failed; rebuilding the Python environment once ... set RETRIED=1 rmdir /s /q .venv if not defined PY call "%~dp0find_python.bat" %PY% -m venv .venv goto install :installed ".venv\Scripts\python.exe" -m onw.deps done echo ok> ".venv\installed.txt" :shortcut rem Start menu entry: pythonw -m onw tray (no console window) set "PYW=%CD%\.venv\Scripts\pythonw.exe" powershell -NoProfile -Command ^ "$s = (New-Object -ComObject WScript.Shell).CreateShortcut([Environment]::GetFolderPath('Programs') + '\onw.lnk');" ^ "$s.TargetPath = '%PYW%'; $s.Arguments = '-m onw tray'; $s.WorkingDirectory = '%CD%';" ^ "$s.Description = 'onw - LLMs on the Intel NPU'; $s.IconLocation = '%CD%\onw\web\icon.ico,0'; $s.Save()" echo [setup] Start menu: onw echo [start] onw is starting in the task tray. Pick a model to download in the window that opens. start "" "%PYW%" -m onw tray