A library to generate barcodes
Project description
Barcodes python module
Thanks to Melisa for her precious help.
⚠️ This python package is still in development. ⚠️
- For now only QR codes are available. Only alphanumeric and byte encodings are available.
- It looks like qr codes encoding a URL sometimes do not work unless you add a "/" at the end.
OpenAPI
I used this package to learn how to use the fastapi package. The API that I created is available at https://qrgeneratorapi-1-c9139268.deta.app.
-
Use it to generate QR codes by sending GET requests to the API.
-
For now the API can return the QR code data or the QR code image encoded in base64.
-
Example usage:
-
import requests from PIL import Image import base64 url = 'https://qrgeneratorapi-1-c9139268.deta.app/qrimg/test' #get json r = requests.get(url) jsonData = r.json() #Get the json answer from the API size = jsonData["img"]["size"] base64Data = jsonData["img"]["base64"] imgdecoded = Image.frombytes('L', (size, size), base64.b64decode(base64Data)) #Decode the image imgdecoded.show() #Show the image
-
Installation
pip install barcodes-uc
You might want to install the package in a virtual environment. For that do:
python3 -m venv venv
source venv/bin/activate
pip install barcodes-uc
Usage
from barcodes_uc.qrcodes import qrgenerator, qrutils
# Generate a QR code
message = "Hello world!"
encoding = qrutils.QREncoding.byte
version, error_correction_level, qr = qrgenerator.get_min_version(message, encoding, qrutils.QRErrorCorrectionLevels.Q)
generator = qrgenerator.QRGenerator(msg=message, encoding=encoding, version=version, error_correction=error_correction_level)
qr = generator.generate()
qr.show() # Show the QR code in the terminal
qr.save("qr.png", imgSize = 1000, colour=[qrgenerator.QRColour.red]) # Save the QR code in a file
CLI tools
The package comes with CLI tools:
QR code generator
qrcode --help
usage: qrcode [-h] [-e {byte,numeric,alphanumeric,kanji}] [-V QR_VERSION] [-E {L,M,Q,H}] [--save SAVE] [--no-show] message
Create QR codes
positional arguments:
message Message to encode
optional arguments:
-h, --help show this help message and exit
-e {byte,numeric,alphanumeric,kanji}, --encoding {byte,numeric,alphanumeric,kanji}
Encoding of the message
-V QR_VERSION, --qr-version QR_VERSION
QR version, 1-40
-E {L,M,Q,H}, --qr-error-correction {L,M,Q,H}
QR error correction
--save SAVE Save the QR code to a .png file, do not add the file format
--no-show Do not show the QR code
Made by Pedro Juan Royo, @UnstrayCato
The program will show the QR code in the terminal and save it to a file if the --save
option is used.
If no -e, -V or -E options are used, the program will try to guess the best options for the message.
Future work
-
Add byte and numeric encoding to qr codes.
-
Save qr code as image in different styles.
-
Generate barcodes.
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
Built Distribution
File details
Details for the file barcodes_uc-0.9.0.tar.gz
.
File metadata
- Download URL: barcodes_uc-0.9.0.tar.gz
- Upload date:
- Size: 28.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Darwin/22.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2591686b35f23a129b0d61f158b3817f16dd4829ef8c293fd08e6511eb2ba000 |
|
MD5 | 6284f75123189f11c51eaa4f6da39055 |
|
BLAKE2b-256 | ffe0211613c1bc01ce348971928c2211332133ebc952d85b53ccf7fcf3f57595 |
File details
Details for the file barcodes_uc-0.9.0-py3-none-any.whl
.
File metadata
- Download URL: barcodes_uc-0.9.0-py3-none-any.whl
- Upload date:
- Size: 28.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Darwin/22.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d881d299c15e26072f06d591da5d1d5d6f534a21ec7ae79628a9a916ed289202 |
|
MD5 | 183905c2bb5180f6aa2722b50fc77b82 |
|
BLAKE2b-256 | 214059ab856f6d5ed3de8b3cafc46b64a0e256fcd4e3759c66516823b0f28d2b |