Skip to main content

Beautiful, developer-friendly QR codes — generate in batches with parallel processing

Project description

batchqr

PyPI version Python versions License: MIT

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


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)

Uploaded Source

Built Distribution

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

batchqr-1.0.0-py3-none-any.whl (44.3 kB view details)

Uploaded Python 3

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

Hashes for batchqr-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7a5166a1d3fc1ff9247836c0a50be5762dee737acf98609712c108bd9ffef85e
MD5 3a60102dd8dca8855371d624a9a2aaa8
BLAKE2b-256 63cf27c29d1383fd60dee16a7fe714ef2101e04cb67a01e647936be4ff1ec4b6

See more details on using hashes here.

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

Hashes for batchqr-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c9398acea8bb3ab2c1debc8c0c96f8a0bfed02dd3cc9d6558088c5f5b684501
MD5 d1ce46fdfabc4f05845136fec6d6f948
BLAKE2b-256 fe611ec5b155f60add7c0de4bc3c34b48d99e07cd251315a9fee424df510fff5

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