Skip to main content

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.

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

Supported by

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