pybboxes
Light Weight Toolkit for Bounding Boxes
What it is and what it does
PyBboxes is a lightweight toolkit for working with bounding boxes in computer vision workflows. It handles conversion between five common bounding box formats used across popular frameworks and datasets: COCO (top-left + width/height), YOLO (center + normalized width/height), VOC (top-left + bottom-right), FiftyOne (normalized COCO), and Albumentations (normalized VOC). The package also provides geometric operations like IoU computation, area calculation, and intersection/union calculations between boxes.
The library is built on numpy, pycocotools, and pyyaml and supports both strict and lenient modes for handling out-of-bounds boxes. It includes an annotation file converter for batch processing YOLO, COCO, and VOC format files. Typical use cases are converting between dataset formats during preprocessing, computing overlap metrics during model evaluation, and batch-converting annotation files across different computer vision frameworks.
Use it for:
- Convert bounding boxes between COCO and YOLO formats when switching between dataset sources or training frameworks
- Compute IoU and intersection metrics for non-maximum suppression or model evaluation pipelines
- Batch-convert annotation files across YOLO, COCO, and VOC formats during dataset preparation
- Validate and filter out-of-bounds boxes with strict mode during data cleaning
- Perform geometric operations (area, union, difference) on detected objects for post-processing
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts between bounding box formats (COCO, YOLO, VOC, FiftyOne, Albumentations) and computes geometric operations like IoU, area, and intersection.
Yes. PyBboxes is a focused, low-friction utility with no known vulnerabilities, permissive MIT licensing, and stable production status. It solves a concrete problem in computer vision workflows—format conversion and box geometry—that most practitioners encounter. Dormant maintenance is acceptable for a mature, feature-complete library; the last commit (2024-10-07) is recent enough to indicate active monitoring. Install if you work with multiple bounding box formats or need reliable geometric operations.
Install
pybboxes on PyPI
pip
pip install pybboxesuv
uv add pybboxespoetry
poetry add pybboxesInstalling pybboxes
Before you install
Low friction install with three stable dependencies (numpy, pycocotools, pyyaml). Maintenance is dormant—last commit was 2024-10-07 with no activity since—but the package is marked Production/Stable and has seen no breaking changes in recent releases.
License in practice
MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license in distributions.
Quickstart
pip install pybboxes
from pybboxes import BoundingBox
my_coco_box = [98, 345, 322, 117]
coco_bbox = BoundingBox.from_coco(*my_coco_box, image_size=(640, 480))
voc_bbox = coco_bbox.to_voc()
Requires Python >= 3.8. Conversion between normalized formats (YOLO, FiftyOne, Albumentations) requires image_size to be set.
Verify before relying
- Whether pycocotools is a hard requirement or optional for specific use cases
- Performance characteristics when handling large batches of bounding boxes
- Whether annotation file conversion supports all three formats (YOLO, COCO, VOC) bidirectionally
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — numpy, pycocotools, pyyaml |
| Maintenance | dormant — 676 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 118,906/month — #12,099 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pybboxes-0.2.0-py3-none-any.whl
Keywords: machine-learning, deep-learning, image-processing, pytorch, tensorflow, numpy, bounding-box, iou, computer-vision, cv
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
rectangle-packerPacks a set of rectangles with fixed…
permissive · top 15,000 on PyPI
albumentationsAlbumentations applies image transformations to…
permissive · top 5,000 on PyPI
ultralyticsUltralytics YOLO provides a unified framework…
agpl · top 5,000 on PyPI
qrdetDetects and segments QR codes in images using a…
permissive · top 15,000 on PyPI
PyWinBoxPyWinBox manages window positions, sizes, and…
permissive · top 15,000 on PyPI
pycocotoolsProvides Python APIs for loading, parsing, and…
unclear · top 5,000 on PyPI
boxmotBoxMOT provides pluggable multi-object tracking…
agpl · top 15,000 on PyPI
country-converterConverts and matches country names across…
copyleft · top 5,000 on PyPI
faster-coco-evalFaster-COCO-Eval provides a high-performance…
unclear · top 15,000 on PyPI
pycocoevalcapEvaluates image captions using multiple…
unclear · top 5,000 on PyPI