boxmot
BoxMOT: pluggable SOTA tracking modules for segmentation, object detection and pose estimation models
What it is and what it does
BoxMOT is a multi-object tracking framework that bridges detection and tracking workflows. It provides a unified interface for running tracking experiments, benchmarking, ReID training, and production inference across multiple tracker implementations (OccluBoost, ByteTrack, BoTSORT, and others). The package handles both axis-aligned and oriented bounding box tracking, supports swappable detector and ReID components, and offers both a Python API for embedding in applications and a CLI for standalone use.
The core workflow is tracking-by-detection: you feed it detections (bounding boxes with confidence scores) frame-by-frame, and it assigns consistent IDs across frames using motion and appearance cues. It includes benchmark-oriented features like cached detection/embedding reuse to avoid redundant computation across experiments, native C++ tracker implementations for production deployment, and integrated ReID training pipelines. Dependencies are substantial (torch, torchvision, opencv-python, scikit-learn, timm) but standard for computer vision; the package itself is pure Python and installs with low friction.
Use it for:
- Track pedestrians, vehicles, or sports players across video frames using detections from YOLO or another detector.
- Benchmark tracker performance on standard datasets (MOT17, SportsMOT, MMOT) with cached workflows to avoid recomputing detections.
- Train and evaluate ReID (re-identification) models to improve tracking accuracy on specific object classes or domains.
- Embed multi-object tracking in a Python application or Jupyter notebook without building a custom tracker from scratch.
- Export a production-ready C++ tracker implementation for deployment in standalone applications via CMake.
- Experiment with different tracker algorithms and hyperparameters using the CLI or Python API without modifying detector/ReID code.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
BoxMOT provides pluggable multi-object tracking modules that work with bounding box detections from any model, supporting both axis-aligned and oriented bounding boxes through a unified Python API and CLI.
Yes, with AGPL-3.0 license caveat. BoxMOT is actively maintained, has low install friction, and offers a comprehensive, well-benchmarked tracking framework suitable for research, benchmarking, and production use. The AGPL-3.0 license requires that any modifications or derivative works be open-source; if you need proprietary tracking or closed-source modifications, this is not the right choice. For academic research, open-source projects, or applications where AGPL-3.0 compliance is acceptable, it is worth installing.
Install
boxmot on PyPI
pip
pip install boxmotuv
uv add boxmotpoetry
poetry add boxmotInstalling boxmot
Before you install
Low install friction with a pure-Python wheel. Actively maintained with a recent release 35 days ago. Supports Python 3.10 through 3.13. Depends on 13 runtime packages including torch, torchvision, and opencv-python, which are substantial but standard for computer vision work.
License in practice
Licensed under AGPL-3.0, which requires that any modifications or derivative works distributed must also be open-source under AGPL-3.0. This is a strong copyleft license; proprietary use or closed-source modifications are not permitted without explicit permission.
Quickstart
pip install boxmot
import numpy as np
from boxmot.trackers import OccluBoost
tracker = OccluBoost()
dets = np.array([[100, 200, 300, 400, 0.9, 0]], dtype=np.float32)
img = np.zeros((480, 640, 3), dtype=np.uint8)
tracks = tracker.update(dets, img)
Requires torch and torchvision; GPU recommended for real-time performance. Pre-trained ReID and tracker models download on first use via gdown and huggingface-hub.
Verify before relying
- Whether native C++ tracker backend (--tracker-backend cpp) requires separate compilation or system dependencies beyond what pip provides.
- Whether mode-specific extras (yolo, evolve, research, onnx, openvino, tflite) are documented and what additional dependencies they pull in.
- Typical inference latency and throughput for common tracker/detector combinations on standard hardware.
Package facts
| License | AGPL-3.0 (agpl) |
| Python support | supports the current Python release (<3.14,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 13 — click, filterpy, gdown, huggingface-hub, lapx, numpy, opencv-python, pandas, rich, scikit-learn, timm, torch, torchvision |
| Maintenance | actively maintained — 35 days since the last release |
| First released | |
| Downloads | 162,881/month — #10,583 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: boxmot-22.0.0-py3-none-any.whl
Keywords: AI, DL, ML, YOLO, deep-learning, machine-learning, tracking, tracking-by-detection, vision
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
motmetricsComputes multiple object tracker (MOT)…
permissive · top 15,000 on PyPI
norfairNorfair adds real-time multi-object tracking to…
permissive · top 15,000 on PyPI
yolov5YOLOv5 is a packaged object detection model…
copyleft · top 15,000 on PyPI
qrdetDetects and segments QR codes in images using a…
permissive · top 15,000 on PyPI
ultralyticsUltralytics YOLO provides a unified framework…
agpl · top 5,000 on PyPI
pybboxesConverts between bounding box formats (COCO,…
permissive · top 15,000 on PyPI
mtcnnDetects faces and facial landmarks (eyes, nose,…
permissive · top 5,000 on PyPI
icevisionIceVision provides a unified framework for…
permissive · top 15,000 on PyPI
imgaugAugments images and related data (heatmaps,…
permissive · top 5,000 on PyPI
aa-killtrackerKilltracker is an Alliance Auth plugin that…
unclear · top 15,000 on PyPI