HISPEC Instrument Control Software
- Each mKTL service has a directory
- Additional directories include etc, qt, util, init.d
# 1) Clone
git clone <repo-url>
cd hispec
# 2) Make sure submodule URLs are in sync and check out pinned SHAs (includes nested)
git submodule sync --recursive
git submodule update --init --recursive
# 3) (Recommended) Create a Python env
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 4) Install package(s) for development
pip install -U pip
pip install -e ".[dev]" # falls back to requirements.txt if no pyprojectThis repo uses nested submodules under util/ and possibly within service directories.
git submodule sync --recursive
git submodule update --init --recursiveOnly do this if you intend to move submodule pointers and commit them.
# Option A: one-off refresh to submodules’ tracked branches
git submodule update --remote --merge --recursive
# Record updated pointers in parent repo
git add .gitmodules .
git commit -m "Update submodules to latest on main"Unit tests are located in */tests/ directories.
To run all tests from the project root:
pytest- Create a feature branch.
- Include tests for new behavior.
- Run
pytestbefore opening a PR.