Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Create labels with QR and barcodes.

Project description


Web app for registering objects (an object is just a name associated to a comment and a serial number) and printing sheets of labels with EAN13 barcodes or QR codes. You can also associate a state and a category to these objects.

You define models of paper (size, number, size and background image of labels) and template for labels.

Use cases

* printing customized labels with QR or bar codes,
* changing the state or the category of a set of objects by only scanning their barcode, one-by-one,
* identify a given object by scanning its barcode in the search bar,
* displaying the object page by scanning its QR code.


sudo apt-get install python3.5 python3.5-dev build-essential
pip install inventicode
CONFIG_FILENAME=`inventicode-django config ini -v 2 | head -n 1 | grep ".ini" | cut -d '"' -f 2`
# create required folders
mkdir -p `dirname $FILENAME` $HOME/inventicode
# prepare a limited configuration file
cat << EOF > $FILENAME
data = $HOME/inventicode
# create the database (SQLite by default)
inventicode-django migrate
# prepare static files (CSS, JS, …)
inventicode-django collectstatic --noinput
# create an admin user
inventicode-django createsuperuser

You can define new templates for each label, and the default one is:

{% load inventicode %}<h2>{{ }}</h2>
<img class="name qr_code" style="" alt="{{ }}" src="{{|qr_code|base64_url }}" />
<img class="short_identifier bar_code" style="width: 4cm;" alt="{{ code.short_identifier }}" src="{{ code.short_identifier|bar_code:'ean13'|base64_url }}" />
<h3>{{ code.long_identifier }}</h3>

Available values are:

* code.comment
* code.serial
* code.long_identifier (URL to the model)
* code.short_identifier (unique code, usable as EAN13 barcode)

If you load `inventicode`, you can use some filters:

* `qr_code`: QR code as SVG (string)
* `bar_code`: bar code as SVG (string). Available barcodes are 'code39', 'ean', 'ean13', 'ean8', 'gs1', 'gtin', 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca'.
* `base64_url`: transform a string as an embedded base64 url.

You can also define a CSS for the whole page, and the default one is:

.qr_code {
width: 1cm;
height: 1cm;
h2 {
width: 100%;
text-align: center;
h3 {
text-align: center;
top: 1cm;
position: relative;
text-transform: uppercase;
img.bar_code {
width: 3cm;
top: 1cm;
left: -2cm;

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Inventicode, version 1.0.2
Filename, size File type Python version Upload date Hashes
Filename, size Inventicode-1.0.2.tar.gz (11.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page