Annolid currently exposes two main commands after install:
annolid: launch the desktop GUIannolid-run: run model and workflow plugins from the terminal
Annolid requires Python 3.10 or newer. In practice, Python 3.11 is the safest default for new environments.
For most users, start with the project installers:
- macOS and Linux:
curl -sSL https://raw.githubusercontent.com/healthonrails/annolid/main/install.sh | bash- Windows PowerShell:
irm https://raw.githubusercontent.com/healthonrails/annolid/main/install.ps1 | iexSee One-Line Installer for flags, extras, CPU/GPU choices, and non-interactive installs.
For development or reproducible local work, use uv and a repository-local .venv:
git clone --recurse-submodules https://github.com/healthonrails/annolid.git
cd annolid
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[gui]"The dedicated guide is uv Setup.
If you prefer standard Python tooling:
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install "annolid[gui]"To install from source:
git clone --recurse-submodules https://github.com/healthonrails/annolid.git
cd annolid
pip install -e ".[gui]"Conda still works well when you want environment management plus FFmpeg and native libraries from conda-forge:
conda create -n annolid-env python=3.11
conda activate annolid-env
conda install -c conda-forge ffmpeg git
git clone --recurse-submodules https://github.com/healthonrails/annolid.git
cd annolid
pip install -e ".[gui]"Useful extras currently defined in pyproject.toml include:
gui: Qt bindings for the desktop applicationlarge_image: TIFF/OME-TIFF metadata and optional streaming backends (tifffile,pyvips,openslide-python)sam3: SAM3-related dependenciesimage_editing: diffusion/image-editing featurestext_to_speech: read-aloud and narration featuresqwen3_embedding: embedding-related utilitiesmediapipe: MediaPipe-based workflowscowtracker: CowTracker backend dependencyannolid_bot: Annolid Bot integrations such as MCP, Playwright, WhatsApp bridge support, and Google Calendar dependencies
Example:
pip install -e ".[gui,large_image,annolid_bot,text_to_speech]"large_image is optional. A normal annolid[gui] install does not require these dependencies, and Annolid's standard image/video annotation workflows continue to work without them.
The large_image extra installs the Python packages, but some platforms also need native runtimes for the fastest backends:
pyvipsneeds a workinglibvipsruntimeopenslide-pythonneeds a working OpenSlide runtime
If those native libraries are missing, Annolid falls back to tifffile when available. If the full large_image extra is not installed, Annolid still starts normally and falls back to the standard Qt/Pillow image path instead of requiring large-image packages at startup.
Run:
annolid --help
annolid-run --helpLaunch the GUI:
annolidList available model plugins:
annolid-run list-models- Install FFmpeg if video import/export or codec support is incomplete.
- If you use Annolid Bot with MCP or browser automation, install the
annolid_botextra. - If
qtpy.QtBindingsNotFoundErrorappears, install theguiextra in the active environment. - The
guiextra now installsPySide6as the default Qt binding.