Install¶
Requirements¶
SCIMAP Pro requires Python 3.12, 3.13, or 3.14. It is built on NumPy 2, Pandas 3, AnnData 0.13, and Zarr 3, and does not support older interpreters.
From PyPI¶
We recommend an isolated environment:
Optional extras¶
Two capabilities need dependencies that are not installed by default:
pip install "scimappro[roi]" # shapely — required by helpers.addROI_omero
pip install "scimappro[qt]" # PyQt6 — required to actually open pl.image_viewer
pip install "scimappro[roi,qt]"
napari itself is a core dependency, but napari needs a Qt binding at runtime
and does not choose one for you. Without the qt extra,
pl.image_viewer raises an ImportError that
names the missing binding; every other function works normally.
Jupyter¶
The tutorials are Jupyter notebooks. Install a kernel alongside scimappro:
Verify the install¶
Development install¶
Dependencies are managed with uv and pinned in
uv.lock.
git clone https://github.com/nirmallab/scimappro.git
cd scimappro
uv sync --all-extras # create the environment
uv run pytest # run the test suite
uv sync --all-extras -p 3.13 # or 3.14, to test another interpreter
uv lock --upgrade # re-resolve every dependency to its latest version
Cloud-synced checkouts
If the checkout lives on a cloud-synced folder (Dropbox, OneDrive, Google Drive), sync locks can break virtualenv writes mid-install. Build the environment outside the synced tree:
Building the documentation¶
The documentation toolchain is a separate dependency group, so it is never
installed by pip install scimappro:
uv sync --group docs
uv run mkdocs serve # http://127.0.0.1:8000
uv run mkdocs build --strict # what CI runs
mkdocstrings reads the source statically through
griffe, so building the docs does not
import scimappro and needs neither napari nor Qt.