Python library for generating QR codes for QR platba.
See http://qr-platba.cz/pro-vyvojare/ for more information about the specification (available only in czech).
from qrplatba import QRPlatbaGenerator
from datetime import datetime, timedelta
due = datetime.now() + timedelta(days=14)
generator = QRPlatbaGenerator('123456789/0123', 400.56, x_vs=2034456, message='text', due_date=due)
img = generator.make_image()
img.save('example.svg')
# optional: custom box size and border
img = generator.make_image(box_size=20, border=4)
# optional: get SVG as a string.
# Encoding has to be 'unicode', otherwise it will be encoded as bytes
svg_data = img.to_string(encoding='unicode')To install qrplatba, simply:
$ pip install qrplatbaThis module generates SVG file which is an XML-based vector image format. You can use various libraries and/or utilities to convert it to other vector or bitmap image formats. Below is an example how to use libRSVG to convert SVG images.
libRSVG renders SVG files using cairo and supports many output image formats. It can also be used directly in console with rsvg-convert command.
$ rsvg-convert -f pdf example.svg -o example.pdfQR Platba uses SPAYD format (application/x-shortpaymentdescriptor) for encoding information related to bank transfer. In addition to generating QR codes, this library can also generate just the encoded string using the following code:
generator = QRPlatbaGenerator('123456789/0123', 400.56, x_vs=2034456, message='text', due_date=due)
spayd = generator.get_text()This software is licensed under MIT license since version 1.0.0.
- Added compatibility with
lxmllibrary. FixesTypeErrorwhen using this library whilelxmlis installed in the same virtualenv.
- Dropped support for Python 3.7
- Added pre-commit, black and ruff for code formatting
Warning: While the API is mostly backwards compatible, the look and size of the generated QR codes has changed.
- Updated requirements to support the latest
qrcodeversion - Added support for custom output sizes using
box_sizeandborderparameters - Changed legacy setuptools to poetry
- Dropped support for Python
2.xand<3.7 - Changed license to MIT
- Added unit tests