treepoem
Barcode rendering for Python supporting QRcode, Aztec, PDF417, I25, Code128, Code39 and many more types.
Decision gist · record as of 2026-08-14
Yes, if you need to generate barcodes in Python and can install Ghostscript on your system. The package is actively maintained, has low Python-level install friction, and supports a wide range of barcode types. The main gotcha is the external Ghostscript dependency and known rendering quirks with older Ghostscript versions—verify compatibility with your target Ghostscript version before deploying.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Ghostscript must be installed on the system (e.g., apt-get install ghostscript on Ubuntu/Debian, brew install ghostscript on macOS).
- Ghostscript 9.26+ recommended to avoid rendering issues.
- Low install friction with a single runtime dependency (pillow).
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects.
last release 2025-09-09 (339 days) · last repo commit 2026-08-13 · 164 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,103,710 downloads/mo, #4,366 on PyPI
Alternatives
Verify before relying
import treepoem
image = treepoem.generate_barcode(
barcode_type="qrcode",
data="https://example.com",
)
image.save("barcode.png")- Whether the known smearing issue with Ghostscript 9.22+ affects your specific barcode types or use case.
- Performance characteristics when generating large batches of barcodes.
- Full range of image manipulation options available through the returned image object.
What it is and what it does
Treepoem is a Python barcode renderer that wraps the BWIPP (Barcode Writer in Pure PostScript) library and the Ghostscript command-line tool to generate barcode images. It returns barcodes as image objects, making them easy to manipulate or save. The package supports approximately 100 barcode types including QR codes, Aztec codes, PDF417, Code128, Code39, and Interleaved 2 of 5, each configurable via BWIPP options.
The package is designed for developers who need to generate barcodes programmatically in Python applications. It provides both a Python API (the `generate_barcode()` function) and a command-line interface. The main constraint is that Ghostscript must be installed separately on your system; the package itself has only one runtime dependency (pillow) and supports Python 3.9 to 3.14. There is a known rendering issue with certain Ghostscript versions (9.22+), though Ghostscript 9.26 and later generally work.
Use it for
- Generate QR codes for URLs or contact information in web applications or documents.
- Create product barcodes (Code128, Code39) for inventory or point-of-sale systems.
- Batch-generate multiple barcode types with different error-correction levels or options.
- Embed barcodes in reports or documents by saving generated images to files.
- Build command-line tools to generate barcodes from the shell without writing Python code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to generate barcodes in Python and can install Ghostscript on your system.
The package is actively maintained, has low Python-level install friction, and supports a wide range of barcode types. The main gotcha is the external Ghostscript dependency and known rendering quirks with older Ghostscript versions—verify compatibility with your target Ghostscript version before deploying.
Install
treepoem on PyPI
Before you install
Low install friction with a single runtime dependency (pillow). Active maintenance with recent commits; however, requires Ghostscript to be installed separately on the system—a system-level dependency that must be handled outside pip.
Ghostscript must be installed on the system (e.g., apt-get install ghostscript on Ubuntu/Debian, brew install ghostscript on macOS). Ghostscript 9.26+ recommended to avoid rendering issues.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects.
Quickstart
import treepoem
image = treepoem.generate_barcode(
barcode_type="qrcode",
data="https://example.com",
)
image.save("barcode.png")
Verify before relying
- Whether the known smearing issue with Ghostscript 9.22+ affects your specific barcode types or use case.
- Performance characteristics when generating large batches of barcodes.
- Full range of image manipulation options available through the returned image object.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepillow |
| Maintenance | Actively maintained 339 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,103,710 / month, #4,366 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Typing :: Typed |
Evidence: treepoem-3.28.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “python barcode renderer”
- treepoemGenerates barcodes and QR codes as image objects by wrapping the…
- pdf417genEncodes text and binary data into PDF417 2D barcodes and renders them…
- zxing-cppReads and writes barcodes and QR codes in images using Python…
Give your agent the search over MCP, or paste the wish link into any chat.
More Graphics packages
Pillow adds image processing capabilities to Python, providing file format support, efficient pixel data handling, and image manipulation operations.
Install it if you need to work with images in Python—it is the de facto standard for this task.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Enables matplotlib figures to display inline directly within Jupyter notebooks and IPython environments instead of in separate windows.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to Google's PDFium library.
Install it if you need PDF rendering, inspection, or manipulation in Python; the medium install friction is offset by comprehensive platform support.
Altair is a declarative Python library for creating interactive statistical visualizations by writing simple, readable code that compiles to Vega-Lite specifications.
See also ghostscript · pyStrich · pdf417gen · pyzxing · pyzbar · qrcode · zxing-cpp · PyQRCode · django-qr-code · biip