Add a Tracker
To integrate a new tracker cleanly:
- Add a module under
boxmot/trackers/<name>/. - Implement a tracker class that subclasses
BaseTrackerand definesupdate(). - Register it in
boxmot/trackers/tracker_zoo.py. - Export it from
boxmot/trackers/__init__.pyandboxmot/__init__.py. - Add a default YAML under
boxmot/configs/trackers. - Add a tracker doc page and wire it into
mkdocs.yml. - Extend tests and CI matrices where needed.
Optional native C++ backend
If the tracker also gets a native backend:
- Add native sources under
boxmot/native/trackers/<name>/. - Add Python wrapper code under
boxmot/native/<name>_cpp.py. - Register live and replay backends in
boxmot/native/registry.py. - Document
--tracker-backend cppsupport on the tracker page. - Add native wrapper tests under
tests/unit/test_native_<name>.py.
Native tracker sources should follow the existing CMake layout: a replay executable for cached benchmark modes and a shared library for live track.
Minimum checklist
- tracker implementation
- tracker registration
- tracker YAML
- docs page
- tests
- workflow matrices if benchmarked in CI
- native C++ registration and tests if a native backend is added