No description
  • Python 98%
  • Shell 2%
Find a file
2026-08-18 21:49:29 +02:00
labelassister auto detect label size 2026-08-18 20:04:05 +02:00
packaging/arch upd PKGBUILD 2026-08-18 19:43:53 +02:00
resources auto detect label size 2026-08-18 20:04:05 +02:00
scripts add missing files 2026-08-14 19:49:37 +02:00
.gitignore add packaging/arch/.SRCINFO in gitignore 2026-08-18 21:49:29 +02:00
app.py Move console entry point into labelassister.cli 2026-08-15 08:09:42 +02:00
LICENSE fix license 2026-08-14 20:52:00 +02:00
pyproject.toml Bump version 2026.08.15.1 -> 2026.08.18.0 2026-08-18 19:42:03 +02:00
README.md add compatibility 2026-08-18 21:44:40 +02:00
uv.lock Bump version 2026.08.15.1 -> 2026.08.18.0 2026-08-18 19:42:03 +02:00

LabelAssister

A WYSIWYG label editor for the Brother QL-700 thermal printer (Linux). The little sister of your Brother: she helps you design and print labels, the same pixels on screen and on paper (300 dpi).

Features

  • Roll widths: 12, 17, 24, 29, 38, 50, 54, 58, 62 mm, with free length in millimeters
  • Printable area shown on the roll (from brother_ql; estimated for the non-native 17/24/58 mm rolls)
  • Text blocks: any system font, size in mm, bold/italic/underline, alignment, 0270° rotation, adjustable block width
  • Images and PDF: insert JPEG/PNG images or PDF pages (with page selection), rendered at 300 dpi
  • Full editing: mouse dragging and resizing, arrow keys (0.5 mm steps, 0.1 mm with Shift), Del to remove
  • Millimeter grid, zoom and "Fit" view
  • Automatic length minimization to save tape
  • Projects: save/load to JSON (images embedded), export to PNG or PDF
  • Printing: multiple copies, auto-cut, automatic printer detection
  • International: English by default, French included

Requirements

  • Python ≥ 3.10
  • A Brother QL-700 connected over USB
  • Linux (udev) — other platforms untested

Installation

Requires uv and Python ≥ 3.10.

git clone https://your-forge.example/labelassister.git
cd labelassister
uv sync

Then start the editor:

uv run labelassister

Without installing

You can also run the application straight from the source tree:

uv sync
uv run python app.py

Releasing a new version

uv run bumpver update --patch

bumpver bumps the version (and rolls the date with --YYYY --0M --0D --patch when a new day's release starts), regenerates uv.lock via its pre-commit hook and creates the version commit itself.

Printer permissions

The printer needs to be reachable without sudo. Install the provided udev rule once:

sudo cp resources/udev/60-brother-ql.rules /etc/udev/rules.d/
sudo udevadm control --reload && sudo udevadm trigger

If the printer shows up as a USB drive instead of a printer, disable the "Editor Lite" mode on the device.

Usage

Start the editor (see above), choose "Printer…" in the toolbar, pick the backend (linux_kernel/dev/usb/lpX or pyusb) and press Detect.

Create text blocks or drop in images/PDFs, arrange them with the mouse or the arrow keys (Shift for fine 0.1 mm moves), then press Print.

Keyboard shortcuts: Ctrl+Q quits, arrow keys move the selected block.

Compatible label cartridges

Reference Label type Color / Printing Dimensions / Packaging Supported by LabelAssister
DK-44205 Removable paper Black on white 62 mm x 30.48 m Yes
DK-22212 Continuous film Black on white 62 mm x 15.24 m Yes
DK-11218 Pre-cut labels (round) Black on white Diam. 24 mm (1,000 labels) No
DK-11209 Address labels Black on white 29 x 62 mm (800 labels) No
DK-22225 Continuous paper Black on white 38 mm x 30.48 m Yes
DK-22223 Continuous paper Black on white 50 mm x 30.48 m Yes
DK-N55224 Continuous paper adhesive-free Black on white 54 mm x 30.5 m Yes
DK-22205 Continuous paper Black on white 62 mm x 30.48 m Yes
DK-11219 Pre-cut labels (round) Black on white Diam. 12 mm (1,200 labels) No
DK-11204 Pre-cut labels Black on white 17 x 54 mm (400 labels) Yes
DK-22210 Continuous paper Black on white 29 mm x 30.48 m Yes
DK-11202 Shipping labels Black on white 62 x 100 mm (300 labels) Yes
DK-11201 Pre-cut labels Black on white 29 x 90 mm (400 labels) Yes
DK-44605 Continuous paper Yellow 62 mm x 30.48 m Yes
DK-11221 Pre-cut labels (square) Black on white 23 x 23 mm (1,000 labels) Yes
DK-11203 Pre-cut labels Black on white 17 x 87 mm (300 labels) Yes
DK-22214 Continuous paper Black on white 12 mm x 30.48 m Yes
DK-22113 Continuous film Black on transparent 62 mm x 15.24 m Yes
DK-22606 Continuous film Black on yellow 62 mm x 15.24 m Yes
DK-22211 Continuous paper White (white labels) 29 mm x 15.24 m Yes
DK-11208 Pre-cut labels Black on white 38 x 90 mm (400 labels) Yes
DK-11207 CD/DVD labels Black on white Diam. 58 mm (100 labels) No

Labels are matched by size, not by reference number. Continuous rolls of 12/17/24/29/38/50/54/58/62 mm and the die-cut sizes handled by brother_ql (17x54, 17x87, 23x23, 29x42, 29x90, 38x90, 62x29, 62x100…) are supported; round and CD/DVD labels are not.

Configuration

Preferences (default label size, font, grid, language) are stored with QSettings in ~/.config/LabelAssister/LabelAssister.conf, following the XDG convention.