NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2038 most downloaded on PyPI
Create standard barcodes with Python. No external modules needed. (optional Pillow support included).
Last release 1 years ago
27 Aug 2025
Release timing varies
gaps range from 2 weeks to 2.1 years
Nearly every release is documented
notes for 14 of 14 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
14 releases · first in 2017
Switch from setup.py to pyproject.toml. Only affects how installation from source is performed, and has no runtime impact.
Switch from setup.py to pyproject.toml. Only affects how installation from source is performed, and has no runtime impact.
Breaking Drop support for Python 3.7 and 3.8.
Breaking Drop support for Python 3.7 and 3.8.
Make image DPI configurable.
Fixed inconsistent checksum calculation when calculating the checksum multiple times for EAN barcodes.
Update the documentation with some barcodes that were not previously documented.
Specifying None as a background for the SVGWriter, no background is included resulting in a transparent background.
Do not paint text if its size would be zero, to avoid an "invalid ppem value" error with newer versions of Pillow.
Optimization of code creation, avoiding to many charset switch. This results in shorter codes; according to GS1 codes should not be longer than 165 mm (6.5"). (#232)
One column per quarter.
Add missing dependency to release script.
Add missing dependency to release script.
Breaking: The default dimensions have changed slightly. This is so that the results of generating a PNG and an SVG look more alike.
Breaking: The default dimensions have changed slightly. This is so that the results of generating a PNG and an SVG look more alike.
Previous versions included an empty text element for SVGs with no comment. This is no longer the case.
Some internals have been improved so as to allow better subclassing. Subclasses of Barcode can now override default_writer_options and default_writer().
A guardbar parameter has been added to EAN barcodes. This renders barcodes with guardars (longer bars).
Added support for Python 3.10.
The documentation setup has been redone, hopefully squashing a lot of legacy quirks.
Previous versions installed the tests module. This was not intentional and have been fixed.
Fix a crash when using the generate shortcut function.
Fix a crash when using the generate shortcut function.
Added support for transparent backgrounds. This is done by setting the mode option for a writer to RGBA.
Added support for transparent backgrounds. This is done by setting the mode option for a writer to RGBA.
Dropped support for Python 3.5.
Added support for Python 3.9.
Removed writer_options from barcode.get. This parameter was not used.
Removed writer_options from barcode.get. This parameter was not used.
Add a with_doctype flag to SVGWriter. Set this to false to avoid including a DOCTYPE in the resulting SVG.
Add support for Pillow>=8.0.0.
Added basic support for multiline text.
Added basic support for multiline text.
Dropped lots of older compat-only code and other cleanups.
Fixed a bug in the API when combining certain barcodes and writers.
Published documentation again and updated all project references.
Fix python_barcode.get mixups between options as writer_options. Previously, some writer/barcode combinations worked fine, while others failed. Now all work consistently.
The cli tool has been fixed and should now work as expected again.
* Added support for GS1-128.
Added support for GS1-128.
Removed buggy Barcode.raw attribute.
Removed buggy Barcode.raw attribute.
Various CLI errors ironed out.
Make the default value for writer_options` consistent across writers.
Fix pushing of releases to GitHub.
Fix pushing of releases to GitHub.
Fix crashes when attempting to use the CLI app.
Fix crashes when attempting to use the CLI app.
Properly include version numbers in SVG comments.
Improve README rendering, and point to this fork's location (the outdated README on PyPI was causing some confusion).
Improve README rendering, and point to this fork's location (the outdated README on PyPI was causing some confusion).
Data for charsets and bars moved to subpackage barcode.charsets.
Code 128 added.
Data for charsets and bars moved to subpackage barcode.charsets.
Merged in some improvements.
Your coding agent can read these notes before it upgrades. Set up the MCP server →