Shipping YOLO models without shipping Python
A single C++17 API wraps detection, segmentation, pose, OBB, and classification across YOLOv5 through YOLO26, no Python runtime required.

What it does
YOLOs-CPP is a C++17 inference engine that runs the entire YOLO family—from v5 through YOLO26—through one consistent API. It covers detection, instance segmentation, pose estimation, oriented bounding boxes, classification, and even YOLOE open-vocabulary segmentation, all backed by ONNX Runtime and OpenCV. The library targets cross-platform deployment on Linux, Windows, macOS, and Docker with optional GPU acceleration and quantized models.
The interesting bit
Rather than fragmenting across version-specific C++ ports, the project abstracts every YOLO variant and task behind unified headers like yolos::det::YOLODetector and yolos::seg::YOLOSegDetector. It also claims results identical to Ultralytics Python, validated by 36 automated tests—an unusual level of regression testing for a C++ inference wrapper.
Key highlights
- Single API surface for YOLOv5 through YOLO26, covering detection, segmentation, pose, OBB, classification, and YOLOE open-vocabulary tasks
- Runs entirely without a Python runtime; self-contained binaries relying only on ONNX Runtime and OpenCV
- Zero-copy preprocessing and batched NMS on both CPU and GPU
- 36 automated tests and a CI pipeline backing its “production-ready” claim
- Cross-platform builds for Linux, Windows, macOS, and Docker
Caveats
- AGPL-3.0 license, which may complicate use in proprietary commercial products
- Segmentation, pose, OBB, and classification are only available for YOLOv8, YOLOv11, YOLO26, and YOLOE; older versions such as YOLOv5 and YOLOv9 remain detection-only
- YOLOE open-vocabulary support requires a specific ONNX export workflow (text-based or prompt-free checkpoints) rather than interactive prompting
Verdict
Worth a look if you need to embed YOLO inference into a C++ application without dragging along a Python environment. Give it a pass if your workflow depends on the full Ultralytics Python toolchain or if AGPL licensing conflicts with your project.
Frequently asked
- What is Geekgineer/YOLOs-CPP?
- A single C++17 API wraps detection, segmentation, pose, OBB, and classification across YOLOv5 through YOLO26, no Python runtime required.
- Is YOLOs-CPP open source?
- Yes — Geekgineer/YOLOs-CPP is open source, released under the AGPL-3.0 license.
- What language is YOLOs-CPP written in?
- Geekgineer/YOLOs-CPP is primarily written in C++.
- How popular is YOLOs-CPP?
- Geekgineer/YOLOs-CPP has 1k stars on GitHub.
- Where can I find YOLOs-CPP?
- Geekgineer/YOLOs-CPP is on GitHub at https://github.com/Geekgineer/YOLOs-CPP.