Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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

Release history Release notifications

This version
History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
Inventicode-1.0.2.tar.gz (11.5 kB) Copy SHA256 hash SHA256 Source None Feb 26, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page