Beautiful, developer-friendly QR codes — generate in batches with parallel processing
Project description
batchqr
Generate QR codes in large batches with parallel processing.
Features
- Batch generation — process thousands of QR codes in parallel
- Multiple input formats — CSV, JSON, Excel, or Python lists
- Multiple output formats — PNG, SVG, PDF, EPS
- Flexible export — individual files, ZIP archives, or PDF label sheets
- Styling — custom colors, logo overlays, preset themes
- CLI & API — use from the command line or as a Python library
- Fault-tolerant — per-item error handling, failed items don't kill the batch
Installation
pip install batchqr
With optional dependencies:
pip install batchqr[pdf] # PDF sheet export
pip install batchqr[excel] # Excel input support
pip install batchqr[all] # Everything
Quick Start
Python API
import batchqr
# Single QR code
batchqr.make("https://example.com").save("qr.png")
# Batch generation
results = batchqr.batch([
"https://example.com/1",
"https://example.com/2",
"https://example.com/3",
]).save_all("./qrcodes/")
From CSV
import batchqr
batchqr.batch.from_csv("data.csv").save_zip("qrcodes.zip")
CLI
# Generate from inline data
batchqr make "https://example.com" -o qr.png
# Batch from CSV
batchqr batch data.csv --output ./qrcodes/
# Legacy CLI still works
qrbatch generate --input data.csv --output ./qrcodes/ --format png
Configuration
from batchqr import QRConfig
config = QRConfig(
error_correction="H", # L, M, Q, H
box_size=10,
border=4,
fg_color="#000000",
bg_color="#ffffff",
image_format="png",
)
Styling
import batchqr
# Use a preset theme
qr = batchqr.make("https://example.com").theme("corporate-blue").save("styled.png")
# Or customize directly
qr = batchqr.make("https://example.com").color("#1a1a2e", "#ffffff").style("rounded").save("custom.png")
Contributing
See CONTRIBUTING.md for development setup and guidelines.
License
MIT LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
batchqr-1.0.0.tar.gz
(50.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
batchqr-1.0.0-py3-none-any.whl
(44.3 kB
view details)
File details
Details for the file batchqr-1.0.0.tar.gz.
File metadata
- Download URL: batchqr-1.0.0.tar.gz
- Upload date:
- Size: 50.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a5166a1d3fc1ff9247836c0a50be5762dee737acf98609712c108bd9ffef85e
|
|
| MD5 |
3a60102dd8dca8855371d624a9a2aaa8
|
|
| BLAKE2b-256 |
63cf27c29d1383fd60dee16a7fe714ef2101e04cb67a01e647936be4ff1ec4b6
|
File details
Details for the file batchqr-1.0.0-py3-none-any.whl.
File metadata
- Download URL: batchqr-1.0.0-py3-none-any.whl
- Upload date:
- Size: 44.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c9398acea8bb3ab2c1debc8c0c96f8a0bfed02dd3cc9d6558088c5f5b684501
|
|
| MD5 |
d1ce46fdfabc4f05845136fec6d6f948
|
|
| BLAKE2b-256 |
fe611ec5b155f60add7c0de4bc3c34b48d99e07cd251315a9fee424df510fff5
|