Skip to main content

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 .cbxy sidecar 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

cbxy-reader guided view

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

cbxy-editor panel editing

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)

Source distribution for cbxy 0.1.3
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)

Table of built distributions (wheels) for cbxy 0.1.3
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page