XROMM + DeepLabCut local integration#
These notes describe how this repository is used in the local 3-repo XROMM workflow together with ../XROMM_DLCTools and ../xmalab.
Contributed by @homfunc
1) Expected local layout#
Recommended sibling checkout layout:
XROMM_DLCTools/DeepLabCut/xmalab/XROMM_DLCTools/pyproject.tomlmaps its optionaldlcdependency group to this repository throughtool.uv.sources.
2) DeepLabCut’s role in the workflow#
Within the integrated workflow, DeepLabCut provides:
project creation / dataset generation support
video analysis / prediction entrypoints
the local import target used by
XROMM_DLCToolssynthetic smoke coverage through the baseline harness The current local integration suite also uses this repo to verify that the newer workflow service in
XROMM_DLCToolsstill interoperates with a sibling DeepLabCut checkout.
3) Local setup for this repo#
Standard developer setup:
uv sync --group dev
When working from ../XROMM_DLCTools, enable the sibling import path there with:
uv sync --group dlc
4) Integration validation from XROMM_DLCTools#
Run these commands from ../XROMM_DLCTools:
uv run python scripts/baseline_harness.py --scenario deeplabcut_repo_smoke --output-dir baseline_artifacts/deeplabcut_smoke --deeplabcut-repo ../DeepLabCut
Full multi-repo suite:
uv run python scripts/baseline_harness.py --scenario all --output-dir baseline_artifacts/integration_all --deeplabcut-repo ../DeepLabCut --xmalab-repo ../xmalab
True end-to-end local workflow scenario:
uv run python scripts/baseline_harness.py --scenario phase3_local_workflow_e2e --output-dir baseline_artifacts/e2e_local_workflow --deeplabcut-repo ../DeepLabCut --xmalab-repo ../xmalab
5) Compatibility notes#
The local workflow integration path expects this repo to remain importable in “lite mode” when GUI dependencies are unavailable, and relies on the public deeplabcut import surface plus the synthetic project helpers under examples/utils.py.