finds.dev← search

// the find

Edinburgh-Genome-Foundry/blabel

★ 205 · Python · MIT · updated Apr 2025

:label: Python label/sticker PDF generation. HTML templates, built-in barcodes, qr codes, and other goodies

Blabel is a Python package that turns a list of dicts into a PDF with one label per page. The layout is an HTML Jinja template plus a CSS stylesheet, and it has built-in helpers for barcodes, QR codes and datamatrix. It was written for printing biological sample labels, and it suits anyone printing stickers from a spreadsheet.

The page size and margins live in the CSS @page rule, so a new sticker format is a stylesheet change, not a code change. The image-rendering: pixelated note shows the author has printed these on black-and-white label printers and dealt with blurry barcodes, which is the kind of detail usually learned the hard way. Input is plain dicts, so a CSV or spreadsheet becomes labels in a few lines, and the labels_from_spreadsheet example shows that path end to end.

WeasyPrint does the rendering, and its native dependencies (Pango, libffi) are the reason most of the install section exists, including a pin to weasyprint 52 for older Ubuntu. Expect that to hurt on Windows, where the README gives no instructions at all. The last push was 2025-04-09, about 18 months before this review, and nothing in the repo shows activity since, so upstream WeasyPrint or Python changes will be yours to chase. Barcode and datamatrix support are wrappers over other libraries, and the README does not list the supported symbologies. The tests directory is a single file that appears to exercise the example templates, which is light coverage for a library whose whole output is print geometry.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →