Installation¶
The Python port requires Python 3.11 or later (the repository itself is
pinned to 3.13 via .python-version) and is installed straight from a clone
of the MEA-NAP repository — it isn’t on PyPI yet.
git clone https://github.com/SAND-Lab/MEA-NAP.git
cd MEA-NAP
uv manages the virtual environment and the
lockfile (uv.lock) for you, so every contributor gets identical dependency
versions.
Install uv if you don’t have it:
curl -LsSf https://astral.sh/uv/install.sh | sh
Then, from the repository root:
uv sync
This creates a .venv/ and installs every dependency pinned in uv.lock. You
don’t need to activate the environment — prefix commands with uv run:
uv run meanap-gui
If you’d rather manage your own virtual environment:
python3 -m venv .venv
source .venv/bin/activate # .venv\Scripts\activate on Windows
pip install -e .
This installs meanap in editable mode using the dependencies declared in
pyproject.toml. Launch the GUI the same way as any installed console script:
meanap-gui
Optional: OASIS deconvolution (CAT-NAP)¶
The calcium-imaging denoising pipeline (CAT-NAP) uses OASIS deconvolution when available. It isn’t on PyPI, so it’s not installed by default — without it, denoising falls back to Savitzky-Golay smoothing (noted with a warning in the CAT-NAP tab). To install it:
uv run pip install git+https://github.com/j-friedrich/OASIS.git
Verifying your install¶
The fastest sanity check is the GUI’s own 🧪 Test pipeline button — it downloads a small bundled example dataset and runs the full 4-step pipeline against it. See Quickstart for the walkthrough.
If you’d rather verify from the command line first:
uv run python -c "import meanap; print(meanap.__version__)"
uv run pytest
Adding dependencies (contributors)¶
uv add <package> # runtime dependency
uv add --dev <package> # dev-only (pytest, ruff, ...)
Both commands update pyproject.toml and uv.lock automatically — don’t
edit either file by hand.