skillfed

boxmot

BoxMOT: pluggable SOTA tracking modules for segmentation, object detection and pose estimation models

boxmot v22.0.0 162.9K downloads/30d#10,583 on PyPI
AGPL license AGPL-3.0 Active released

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 boxmot

uv

uv add boxmot

poetry

poetry add boxmot

Installing 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

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Scientific/Engineering :: Image ProcessingTopic :: Scientific/Engineering :: Image RecognitionTopic :: Software Development

Tags

multi-object trackingMOT tracking frameworkbounding box trackingtracking-by-detectionobject tracking pipelineReID trackingvideo object tracking
computer-visiontrackingbenchmarking

More Software Development packages