Install dependencies
Use install to add optional dependencies to the Python environment running
BoxMOT:
Download helpers, ReID backends, exporters, tuning, and research validate their dependencies when used. Run this command explicitly when a dependency check reports missing packages.
KITTI 2D tracking evaluation and tuning use built-in metrics and do not require
TrackEval. For EagerMOT's optional official KITTI AP reports
with --eval-3d --eval-ap, extract the official object devkit and provide its directory:
This pins TrackEval and compiles the local object evaluation harness using a C++17 compiler and Boost headers. The devkit source stays external to BoxMOT; evaluation uses the cached executable without downloading dependencies.
Extras and requirements
Repeat --extra to prepare several workflows:
Extra definitions come from the installed BoxMOT distribution. Checks include
version constraints and active transitive dependencies, including nested extras
such as ray[tune]. Installation is skipped when all selected requirements are
satisfied. Otherwise, the package manager receives the full requested constraint
set, including bounds that are already satisfied, to resolve the dependency
environment. The command targets dependency packages only.
Use --requirement for a package requirement, including a version constraint or
package extra. It can be repeated or combined with --extra:
Requirements must use indexed package names, extras, or version constraints.
Install packages from direct URLs with pip or uv.
See mode-specific extras
for the available workflow selections. For a source checkout managed with
uv sync, continue using the PyTorch profile workflow
to preserve the selected CPU or CUDA build. The cpu and cu130 profile extras
are not accepted by boxmot install.
Select the Python environment
Invoke the CLI as a module with the interpreter that will run your application:
python -m boxmot.engine.cli install --extra onnx
# Existing repository virtual environment
uv run --no-sync python -m boxmot.engine.cli install --extra onnx
Installation targets that interpreter, including when uv performs the
installation. Satisfied requirements need no installation.
TensorRT
TensorRT export uses ONNX as an intermediate. Install its Python dependencies explicitly, including NVIDIA's package index:
python -m boxmot.engine.cli install \
--extra onnx \
--requirement 'nvidia-tensorrt' \
--extra-index-url https://pypi.ngc.nvidia.com
The TensorRT runtime also needs compatible Python, CUDA, and NVIDIA driver versions. See TensorRT troubleshooting if the installed package cannot be imported.
CLI arguments
boxmot install
Install optional dependencies in the active Python environment.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--extra |
text | BoxMOT extra to install; repeat for several extras. | Sentinel.UNSET |
--requirement |
text | Package requirement to install; repeat as needed. | Sentinel.UNSET |
--extra-index-url |
text | Additional package index; repeat as needed. | Sentinel.UNSET |
--quiet |
boolean | Suppress installation progress and success messages. | False |
--kitti-devkit |
directory | Compile the official object evaluator from an extracted KITTI devkit (requires C++17 and Boost headers). | Sentinel.UNSET |
--help |
boolean | Show this message and exit. | False |