Skip to content

Install dependencies

Use install to add optional dependencies to the Python environment running BoxMOT:

boxmot install --extra onnx

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:

boxmot install --extra trackeval --kitti-devkit /path/to/devkit_object

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:

boxmot install --extra yolo --extra evolve --extra onnx

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:

boxmot install --requirement 'onnxruntime==1.24.3'

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:

boxmot install [OPTIONS]

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