cbxy-toolkit
Python tools for the cbxy comic panel sidecar format.
Try the demo. The format specification is in ngafar/cbxy.
About This Repository
This repository is the Python reference implementation: panel detection, a browser reader, and a visual editor. The format itself is specified in ngafar/cbxy.
Installation
Install using pip:
pip install cbxy
or uv:
uv tool install cbxy
Tools
Once installed, three command-line tools are available:
cbxy-detect: Detects panels in a comic and writes a.cbxysidecar beside it.cbxy-reader: Opens a comic in the browser with optional guided panel view.cbxy-editor: Visual editor for creating or fixing panel boxes.
cbxy-detect
Detects panels in a comic archive and writes a .cbxy sidecar next to it (OpenCV by default, with ML fallback for irregular layouts).
cbxy-detect path/to/book.cbz
| Argument | Description |
|---|---|
comic |
Path to a .cbz, .cbr, image folder, or single page image |
-o, --out |
Output .cbxy path (default: same stem beside the comic) |
--engine auto|cv|ml |
Detection backend (default: auto) |
--min-area |
Minimum panel area as a fraction of the page (default: 0.03) |
--gutter |
Near-white gutter threshold for CV, 0–255 (default: 230) |
--conf |
ML confidence threshold (default: 0.25) |
--limit |
Only process the first N pages |
--preview-dir |
Write annotated preview JPEGs into this folder |
Engines
--engine chooses how panels are found. Most of the time auto is enough; pick cv or ml when you know the page style.
| Engine | When to use |
|---|---|
auto (default) |
Best general choice: tries OpenCV first, falls back to ML when a page looks irregular (e.g. one huge “panel”) |
cv |
Traditional grid layouts with clear white gutters (fast, no model download) |
ml |
Messy / borderless / overlapping layouts (Image-style pages, splash + insets) |
The ML path uses Ultralytics YOLO with the pretrained comic-panel weights mosesb/best-comic-panel-detection (downloaded on first ML run).
cbxy-reader
Opens a comic in the browser. If a sibling .cbxy is present, supports guided panel-by-panel view; otherwise pages only.
cbxy-reader path/to/book.cbz
| Argument | Description |
|---|---|
comic |
Path to a .cbz, .cbr, image folder, or single page image |
--host |
Bind address (default: 127.0.0.1) |
--port |
Port (default: 8765) |
--no-open |
Do not open a browser window automatically |
cbxy-editor
Browser UI to create or edit panel boxes and save a .cbxy beside the comic.
cbxy-editor path/to/book.cbz
| Argument | Description |
|---|---|
comic |
Path to a .cbz, .cbr, image folder, or single page image |
--host |
Bind address (default: 127.0.0.1) |
--port |
Port (default: 8766) |
--no-open |
Do not open a browser window automatically |
Metadata
Release files for cbxy 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cbxy-0.1.3.tar.gz | 564.6 kB | Without provenance | Details for cbxy-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cbxy-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for cbxy-0.1.3-py3-none-any.whl |
Total release size: 597.2 kB
Release files / cbxy-0.1.3.tar.gz
| Download URL | cbxy-0.1.3.tar.gz |
|---|---|
| Size | 564.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c032f51acb77775ce5263a858d0d5253ce00e98eefacf3dedb3f4386586a665
|
|
BLAKE2b-256 checksum How to use checksums |
025f23c75dd7541ffa5fb83da31bad392280ce5ff2b3929f08901406734b1c74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / cbxy-0.1.3-py3-none-any.whl
| Download URL | cbxy-0.1.3-py3-none-any.whl |
|---|---|
| Size | 32.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e3cf3b2c09ae1c2c270e6ae9be1eb2cdfe65136f3451d63794281aa304ca3f72
|
|
BLAKE2b-256 checksum How to use checksums |
aef40f733a80d11864e04f56882698289c7dbd4647474e8e38b203a4f74dd878
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for cbxy 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.