Balloon a PDF print, classify callouts, and fill inspection sheets. Free, open source, fully offline.
- TBD
- Linux, Windows, or macOS. Prebuilt binaries need no Python.
- From source: Python 3.10 to 3.12.
Download the binary for your OS from Releases. No Python needed.
- Windows: run
Bubbler.exe - Linux:
chmod +x Bubbler-x86_64.AppImage && ./Bubbler-x86_64.AppImage(may needlibfuse2) - macOS: open
Bubbler.app(unsigned, right-click then Open)
From source: see DEV.md.
Open a drawing, click to place bubbles. First bubble runs OCR and can hang for a couple seconds.
You can measure in the program or just Save which exports the ballooned PDF and .xlsx sheet
(either with measurements or you can manually do the measurements).
Feel free to fork this project or contribute a PR. Build and Windows packaging instructions are in the developer readme DEV.md.
This project is licensed under the GPLv3+
See LICENSE file for details.
Full license texts for all bundled and depended-on components are in the Third Party Licenses directory.
Bundled assets:
- Lucide - ISC License (portions derived from Feather, MIT) - Toolbar and ribbon icons, recolored at runtime into Qt icons
- Florence-2-base-ft - MIT License - Optional VLM callout reader (model weights)
- PaddleOCR-VL / PP-OCRv4 - Apache-2.0 License - Optional VLM/OCR callout readers (model weights)
Runtime dependencies (installed via pip, compiled into the binaries by Nuitka):
- PyMuPDF - AGPL-3.0 License (or commercial from Artifex) - PDF parsing, rendering, and text/word-box extraction
- PySide6 (Qt for Python) - LGPL-3.0 License - GUI framework. Qt ships several licenses Third Party Licenses/pyside6
- openpyxl - MIT License - Reading and writing the
.xlsxinspection sheet - NumPy - BSD-3-Clause License - Array and numerical operations
- ONNX Runtime - MIT License - Runs the detector and reader
.onnxmodels (CUDA / DirectML / CPU execution providers) - RapidOCR - Apache-2.0 License - OCR engine (ships its own ONNX models)
- PaddleOCR - Apache-2.0 License - PP-OCRv4 OCR engine and PaddleOCR-VL reader
- PaddlePaddle - Apache-2.0 License - Runtime backing the PaddleOCR readers
- tokenizers - Apache-2.0 License - Tokenizer for the Florence-2 reader
Training also uses
Ultralytics (AGPL-3.0),
PyTorch (BSD-3-Clause), onnx, onnxsim,
and pillow.
The detector models shipped under bubbler/models/ (gdt_symbols.onnx,
gdt_regions.onnx) are trained by InPoint Automation and released under the
project's GPLv3+.
This project was developed by InPoint Automation Sp. z o.o. https://inpointautomation.com/
See CHANGELOG.md for the full version history.

