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. Set at least PRINTER_USB (e.g. PRINTER_USB=vid:2d37:pid:62de, found via lsusb) in a .env or the environment, then run labeljetty and open http://localhost:8888/. The Setup guide covers the printer, the udev rule, and verifying your first label.

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.2.0.tar.gz (307.6 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.2.0-py3-none-any.whl (86.9 kB view details)

Uploaded Python 3

File details

Details for the file labeljetty-0.2.0.tar.gz.

File metadata

  • Download URL: labeljetty-0.2.0.tar.gz
  • Upload date:
  • Size: 307.6 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.2.0.tar.gz
Algorithm Hash digest
SHA256 ba463f7459b5a9d480b206782f23b315b40d87fa2956d78f7ce377ce02766d2b
MD5 104946976037ceed565b6adc3bd44ba0
BLAKE2b-256 32cf31855b669a65302a8ef8247a8d84e7ee1d2320f2549ba958b7acdf019818

See more details on using hashes here.

File details

Details for the file labeljetty-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: labeljetty-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 86.9 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c3dc4cbf4426663805ef760cc542f111e4b891ad991e1ac323dddb1857d1166
MD5 12f28d7694e86e687d3f22129b383ab7
BLAKE2b-256 0285f7958b932911c2394f608f7398069c0da5793ad0e5fc5009a547e79e9c07

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