Skip to main content

Core label and QR generation utilities with built-in printer support.

Project description

🏷️ etikettierer – Label & QR Code Generator with Printer Support

⚠️ Disclaimer

This software is an independent product and is not developed, maintained, or endorsed by Zebra, Brother, or any other printer manufacturer.
All trademarks, brand names, and product names referenced in this software are the property of their respective owners.

The software is designed to interface with Zebra and Brother QL printers, but it is not affiliated with or supported by them.
Use of this software is at the user's own risk. The developers assume no liability for damages, malfunctions, or losses arising from its use.

By using this software, you acknowledge that the developers are not responsible for any damage, malfunction, or loss resulting from its use.


🧩 Introduction

etikettierer is a Python package for generating print-ready labels containing QR codes and human-readable sample names.

Each label consists of:

  • Sample name (text)
  • Two QR codes:
    • One encoding the Electronic Lab Notebook (ELN) link
    • One encoding the sample name

Features

  • Generate QR labels programmatically
  • Export labels as PNG images
  • Print directly to:
    • 🖨️ Zebra ZD421 (ZPL protocol)
    • 🖨️ Brother QL-800 (USB)
    • 🖨️ Windows system printers

📦 Installation

Install from PyPI (all printer dependencies included):

pip install etikettierer

⚙️ Printer Setup

All required libraries — including Brother QL and Windows printing support — are automatically installed.

💡 On non-Windows systems, pywin32 (Windows-only dependency) is skipped automatically.


🧾 Zebra ZD421 (ZPL-compatible)

  1. Install the official Zebra driver:
    👉 Zebra Setup Utilities
  2. Verify the printer name in your system (e.g., ZDesigner ZD421-203dpi ZPL).
  3. Printing is handled via the ZPL protocol using the built-in zpl Python library.

🧾 Brother QL-800

  • Uses the Python brother_ql library (included automatically).
  • Recommended connection: USB

Setup Steps

  1. On Windows, install the libusb-win32 filter driver (required for USB communication).
    You can install the Python interface with:
    pip install pyusb
    
  2. Brother devices are typically identified by hardware IDs such as vid:04F9:XXXX.
  3. After installing the USB filter, restart your computer.

📝 No official Brother drivers are required when using this package.


🧠 QR Code Error Correction Levels

The QR code’s error correction level controls its redundancy and damage tolerance.

Level Correction Description
L (7%) - High Capacity 7% of codewords can be restored Highest capacity, lowest redundancy
M (15%) - Standard 15% of codewords can be restored Standard level (default)
Q (25%) - Higher Security 25% of codewords can be restored Increased reliability
H (30%) - Very Robust 30% of codewords can be restored Most robust against damage

🔍 Troubleshooting

Issue Cause Solution
Font not found (arial.ttf) Missing on Linux/macOS Install Arial or modify to another font
Brother printer not detected USB filter missing Install libusb-win32 and restart
Zebra printer not responding Incorrect printer name Check printer name in system settings
pywin32 fails on macOS/Linux Platform-specific dependency Automatically skipped outside Windows

📜 License

This package is distributed under the GNU General Public License (GPL) v3.
See the LICENSE file for full details.


🧠 About

Developed at the
Leibniz Institute of Polymer Research Dresden e.V. (IPF)

Originally created for internal use to streamline laboratory labeling and sample tracking workflows.


📧 Contact

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

etikettierer-0.0.1.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

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

etikettierer-0.0.1-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file etikettierer-0.0.1.tar.gz.

File metadata

  • Download URL: etikettierer-0.0.1.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.10

File hashes

Hashes for etikettierer-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3f1dd371699f8efead9daf9f993f2486891f6ad67e9e31d9b44503249ca5cc8c
MD5 f7ed181c90d95393f8b49856bdbe33e5
BLAKE2b-256 df83f266ca7f26515a8ec4f3a2099b7a9be25d7be99a0a0d672389be872a3310

See more details on using hashes here.

File details

Details for the file etikettierer-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: etikettierer-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.10

File hashes

Hashes for etikettierer-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20621dd556e6e670bd4d65638a73649f9f84afeab1f7a56f888b0ac219b96381
MD5 d7a97a5dc0405957fc0d6c1a99b9dea4
BLAKE2b-256 282f624db47305d9625504730fe546051326bd5f50834ff4df73992eaed510d9

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