Skip to main content

Network-accessible printing for USB TSPL thermal label printers (library + REST API + web UI).

Project description

🏷️ LabelJetty

Turn a cheap, USB-only TSPL thermal label printer into a smart, network-accessible label printer - drive it from your phone, desktop, or another machine over your LAN. It talks to the printer directly over USB (no CUPS, no vendor driver) and gives you a mobile-first web UI, a REST API, and a Python library for printing PNGs, PDFs, text, markdown, barcodes and QR codes. Optional, self-contained Homebox integration is built in.

Install

pip install labeljetty
# or, with uv:
uv tool install labeljetty

This gives you three commands:

  • labeljetty - runs the service (REST API + web UI + background print worker)
  • labeljetty-testbench - drives the printer library directly (real device or dry-run)
  • labeljetty-hash-password - generates a password hash for a login user

You need Python 3.11+, libusb, and a USB TSPL printer. PRINTER_USB auto-detects a single connected printer; pin one (e.g. PRINTER_USB=vid:2d37:pid:62de, found via lsusb) in a .env or the environment if you have several. Then run labeljetty and open http://localhost:8888/. The Setup guide is the overview; finding the printer and the udev rule are covered under Advanced usage.

Prefer Docker? The image is motey/labeljetty.

Heads-up

  • No authentication by default - fine on a trusted home LAN, but turn on AUTH_MODE=protected before exposing it to an untrusted network.
  • Reference hardware is a Vretti 420B (Poskey-class TSPL, ~203 dpi). It should work with any USB TSPL printer; feedback/PRs for other models are welcome.

More information

Full docs, the configuration reference, authentication, the REST API, printer/udev setup, and Homebox integration live on GitHub: https://github.com/motey/LabelJetty

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labeljetty-0.5.0b1.tar.gz (329.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

labeljetty-0.5.0b1-py3-none-any.whl (102.2 kB view details)

Uploaded Python 3

File details

Details for the file labeljetty-0.5.0b1.tar.gz.

File metadata

  • Download URL: labeljetty-0.5.0b1.tar.gz
  • Upload date:
  • Size: 329.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for labeljetty-0.5.0b1.tar.gz
Algorithm Hash digest
SHA256 2f8cc18f89a58d7ab2aa84a4d8c7d9d39d861b7976482d31411f98bd2f1be9ca
MD5 f5f8b3b573fda56a1bb83873e7251a21
BLAKE2b-256 c3ea915b0aaf70a8cf1b83709222cb3fc1aa953dcac1b27784aa09eb8cd94961

See more details on using hashes here.

File details

Details for the file labeljetty-0.5.0b1-py3-none-any.whl.

File metadata

  • Download URL: labeljetty-0.5.0b1-py3-none-any.whl
  • Upload date:
  • Size: 102.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for labeljetty-0.5.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b5eb6db11419e25a288d7fcfe7c9f8f95e3295557f3db3f9a3df9812221aa08
MD5 0b84585f4a80bf2d454f557dfe57bd98
BLAKE2b-256 476a8b12d3e3090458f3513153d52d2ebd8ef06dfcb36fa135330037a75ede02

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page