labelle-org
and maintained by
@tomers, @maresb,
and @tomek-szczesny:
https://github.com/labelle-org/labelleLabelle is not affiliated with DYMO. Please see the disclaimer below.
For more information about experimental device support, see #4.
If you have a device or tape size that we do not yet support, the first step is to try and get it to print. In some cases this is as simple as adding the device id. Once you can print, you can help us determine the print head size and margins for your tape sizes by following these instructions.
It is recommended to install Labelle with pipx so that it runs in an isolated virtual environment:
pipx install labelle
In case pipx is not already installed, it can be installed on Ubuntu/Debian with
sudo apt-get install pipx
or on Arch with
sudo pacman -S python-pipx
In case the USB development libraries are not already installed, you may see an error like
DeviceManagerError: Failed scanning devices: No backend available
To fix this, on Ubuntu/Debian, install with
sudo apt-get --no-install-recommends install libusb-1.0-0
By default, users don't have permission to access generic USB devices, so you will
need to add a rule. The first time you run labelle
, it will give instructions
about how to do this:
$ labelle "Hello world"
...
You do not have sufficient access to the device. You probably want to add the a udev rule in /etc/udev/rules.d with the following command:
echo 'ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0922", ATTRS{idProduct}=="1001", MODE="0666"' | sudo tee /etc/udev/rules.d/91-labelle-1001.rules
...
To install a test branch, by GitHub user ghuser
for the branch branchname
, run
pipx install --force git+https://github.com/ghuser/labelle@branchname
To revert back to the release version, run
pipx install --force labelle
To install a particular release version, specify labelle==x.y.z
in place of
labelle
in the above command.
To install for development, fork and clone this repository, and run (ideally within a venv):
pip install --editable .
This project uses pre-commit to run some checks
before committing.
After installing the pre-commit
executable, please run
pre-commit install
Default fonts are managed via labelle.ini.
This should be placed in your config folder (normally ~/.config
).
An example file is provided here.
For my Arch-Linux System, fonts are located at e.g.
/usr/share/fonts/TTF/DejaVuSerif.ttf
It is also possible to Download a font from http://font.ubuntu.com/ and use it.
For font discovery, Labelle contains code excerpts from
matplotlib
.
See here for more information and
LICENSE for the license.
Labelle includes the Carlito font, licensed under the SIL Open Font License.
labelle MyText
Multilines will be generated on whitespace
labelle MyLine MySecondLine # Will print two Lines
If you want whitespaces just enclose in " "
labelle "prints a single line"
labelle --help
Just add a text after your qr or barcode text
labelle -qr "QR Content" "Cleartext printed"
Any picture with JPEG standard may be printed. Beware it will be downsized to tape.
labelle -p mypic.jpg ""
Take care of the trailing "" - you may enter text here which gets printed in front of the image
When run with --batch
, labelle gives you more control over the output. As the
UI does, this mode allows multiple blocks of each type. --batch
reads from
stdin. Each line must begin with a command, a colon, and then details. The
commands are:
LABELLE-LABEL-SPEC-VERSION:1
must be the first line.TEXT
: Starts a new text block. Any previous text lines will be printed
first.NEWLINE
: Adds an additional line to the current block of text or QR. Used to
create multiline blocks.QR
: Creates a QR code blockFor instance, this input:
LABELLE-LABEL-SPEC-VERSION:1
TEXT:FD12
NEWLINE:2013
QR:1234
TEXT:BIG
TEXT:LINE1
NEWLINE:LINE2
QR:12345
Creates a label with:
FD12
, second line 2013
)BIG
Which looks like this:
labelle-gui
Nodes can be freely arranged, simply drag&drop rows on the list. To add or delete the node from the label - right-click on the list and select the action from the context menu. To print - click the print button.
Example 1: multiple text + QR code
Example 2: two images + text with frame, white on red
Example 3: barcode with text, text, image
The name "Labelle" is a multilingual pun by @claui.
Language | Word/Interpretation | Meaning | Pronunciation (IPA) | Simplified Phonetic Spelling |
---|---|---|---|---|
English | Label | A printed sticker | /ˈleɪbəl/ | LAY-buhl |
French | La belle | The beautiful | /la bɛl/ | lah BEL |
German | Libelle (sounds like) | Dragonfly | /liˈbɛlə/ | lee-BELL-uh |