Knihovna pro české QR platby se po třech letech dočkala nové verze
Knihovna python-qrplatba skládá české platební QR kódy ve formátu SPAYD přímo v programu, bez volání cizí služby. Verze 1.2.0 z 6. března 2026 přidala výstup do PNG a ukončila podporu Pythonu 3.8; předchozí vydání bylo z roku 2023.

Čtvereček na faktuře, který po naskenování vyplní příkaz k úhradě, stojí na českém formátu Short Payment Descriptor. Portál QR Platba ho popisuje jako otevřený formát a nabízí k němu vlastní rozhraní. Kdo nechce volat cizí službu kvůli řetězci, který se dá složit lokálně, sáhne po knihovně – a pro Python jednu takovou píše Viktor Stískala pod jménem python-qrplatba.
Šest řádků a hotový obrázek
Použití vypadá tak, jak by u knihovny na jednu věc mělo. Do generátoru se předá číslo účtu, částka, variabilní symbol, zpráva pro příjemce a datum splatnosti, načež metoda vrátí obrázek, který se uloží. Výchozím výstupem je vektorový formát SVG, od letoška umí knihovna i PNG, ale jen s doinstalovaným rozšířením. Nastavit jde velikost bodu i okraj.
Formát SPAYD je textový řetězec, takže knihovna nedělá nic tajemného: poskládá ho z předaných údajů a převede na kód. Právě proto se vejde do projektu, který nechce kvůli faktuře posílat data o platbě ven.
Osm let ticha, pak návrat
Zajímavější než funkce je historie vydání. Podle katalogu PyPI vyšly první tři verze v roce 2013. Pak se osm let nedělo nic. Verze 0.4.1 přišla v květnu 2021, další dvě v letech 2022 a 2023, kdy knihovna během tří týdnů přeskočila na jedničku a dostala dvě opravné verze.
A pak zase tři roky nic – až 6. března 2026 vyšla verze 1.2.0. Přidala výstup do PNG, obnovila závislosti a ukončila podporu Pythonu 3.8. Poslední zásah do kódu je z 19. dubna 2026 a týkal se zranitelnosti v knihovně Pygments, tedy v závislosti, ne ve vlastním kódu.
Deset verzí za třináct let vypadá na první pohled jako opuštěný projekt. U knihovny, která umí jednu úzce vymezenou věc a formát pod ní se nemění, je to spíš známka toho, že není co přidávat. Vydání přicházejí tehdy, když se pohne okolí – nová verze Pythonu, děravá závislost, chybějící výstupní formát.
Proč vůbec skládat kód doma
QR Platba nabízí i rozhraní, kterému stačí poslat údaje o platbě a ono vrátí hotový obrázek. Pro pár kódů měsíčně je to nejrychlejší cesta a portál ji sám doporučuje. Jenže každé takové volání znamená, že číslo účtu, částka a variabilní symbol odejdou na cizí server, a u systému, který vystavuje faktury po tisících, k tomu přibude ještě závislost na dostupnosti té služby.
Knihovna obojí odpadá. Řetězec SPAYD i samotný kód vzniknou v paměti programu a ven neodejde nic. Cenou je, že si vývojář musí sám pohlídat, jestli údaje odpovídají specifikaci – knihovna vstupy neověřuje proti žádnému úřednímu seznamu.
Podporované verze Pythonu a licence
Balíček se hlásí k Pythonu 3.9 až 3.14 a je pod licencí MIT, takže se dá použít i v uzavřeném programu. Devatenáct hvězdiček na GitHubu je na knihovnu pro jeden národní platební formát slušné číslo.
Knihovna není v tomhle oboru sama. Portál QR Platba odkazuje na knihovny pro několik jazyků a pro Python existují i další. Rozdíl je v stáří a v tom, že tahle prošla několika generacemi jazyka, aniž by změnila rozhraní – kód napsaný podle příkladu z roku 2013 vypadá skoro stejně jako dnešní.
Co v projektu chybí, je český popis. README je anglicky a odkazuje na specifikaci, která je dostupná jen česky – kdo přijde odjinud, dostane knihovnu bez vysvětlení, k čemu je. Autor to v odkazu sám přiznává poznámkou, že popis formátu existuje pouze v češtině.