Behavioural task acquisition with hardware support.
msw run --setup rig-a --subject mouse001 --task sequence- Behavioural tasks — sequence learning, probabilistic switching, optotagging, calibration routines
- Hardware abstraction — interchangeable backends for behaviour controllers, cameras, stage, scale, stimulators
- Config system — layered YAML overrides: bundled defaults → rig overlay → task mode → subject → CLI
- Session files — structured
.msw.session.yaml+ JSONL trial data; reader API for analysis - Live plot — per-task online performance display during acquisition
- TTL barcodes — unique per-trial barcodes on BNC output for alignment with parallel recordings
Requires Python ≥ 3.12 and uv.
pip install murineshiftworkmsw init --config-dir /path/to/msw_configs
msw setup create rig-a
msw subject add -s mouse001git clone https://github.com/larsrollik/murineshiftwork.git
cd murineshiftwork
uv sync --group dev
uv run pytest tests/Pre-commit hooks (ruff, mypy, secrets scan):
pre-commit installSee docs/ for CLI reference, config system, session files, and task guides.
Key architecture decisions are in docs/MASTER_PLAN.md.
Copyright © 2021–2026 Lars B. Rollik. See LICENSE for terms.