Skip to main content

Real time Barcode and QR Code scanner Edit

Project description


Build Status Coverage Status PyPI version Documentation Status

Real time Barcode and QR Code scanner using the camera. It's built on top of Kivy and pyzbar.


How to use

Simply import and instanciate ZBarCam in your kvlang file and access its symbols property.

#:import ZBarCam kivy_garden.zbarcam.ZBarCam
#:import ZBarSymbol pyzbar.pyzbar.ZBarSymbol
    orientation: 'vertical'
        id: zbarcam
        # optional, by default checks all types
        code_types: ZBarSymbol.QRCODE, ZBarSymbol.EAN13
        size_hint: None, None
        size: self.texture_size[0], 50
        text: ', '.join([str( for symbol in zbarcam.symbols])

A full working demo is available in src/



Install system requirements (Ubuntu 18.04):

make system_dependencies

Install zbarcam:

pip install zbarcam

Then import it in your Python code via:

from kivy_garden.zbarcam import ZBarCam


Build for Android via buildozer, see buildozer.spec.


To play with the project, install system dependencies and Python requirements using the Makefile.


Then verify everything is OK by running tests.

make test
make uitest


Android ValueError: Empty module name

More likely an import issue in your .kv file. Try to from zbarcam import ZBarCam in your to see the exact error. It's common to forget Pillow in buildozer.spec requirements section.

Project details

Download files

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

Source Distribution

zbarcam-2020.524.tar.gz (6.9 kB view hashes)

Uploaded source

Built Distribution

zbarcam-2020.524-py3-none-any.whl (6.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page