Skip to main content

Python wrapper for ZXing Java library.

Project description

pyzxing

English | 简体中文

GitHub release (latest by date including pre-releases) PyPI Conda-forge Conda

Travis (.org) Codacy grade

First GA

After a year of development, the first General Availability of pyzxing is finally released. I would like to express my gratitude to all the developers for their suggestions and issue, which helped the development of this project to a great extent. This project will continue to be open source and updated regularly.

Introduction

A Python wrapper of ZXing library. python-zxing does not work properly and is out of maintenance. So I decide to create this repository so that Pythoneers can take advantage of ZXing library with minimum effort.

Features

  • Super easy to get hands on decoding qrcode with Python
  • Structured outputs
  • Scan multiple barcodes in one picture
  • Scan multiple pictures in parallel, which speeds up 77%

Installation

Installing from Github source is recommended :

git clone https://github.com/ChenjieXu/pyzxing.git
cd pyzxing
python setup.py install

It is also possible to install from PyPI:

pip install pyzxing

Install from Anaconda. Now available on the public channel, conda-forge:

conda install pyzxing # conda-forge channel
conda install -c chenjiexu pyzxing # private channel

Build ZXing Library

A ready-to-go jar file is available with release, but I can not guarantee that this file will work properly on your PC. You may run test script before building ZXing. Pyzxing will download compiled Jar file automatically and call unit test. For those who haven't installed Java, I strongly recommend you to install openjdk8.

python -m unittest tests.test_decode

If failed, build ZXing using following commands.

git submodule init
git submodule update
cd zxing
mvn install -DskipTests
cd javase
mvn -DskipTests package assembly:single

Quick Start

from pyzxing import BarCodeReader

reader = BarCodeReader()
results = reader.decode('/PATH/TO/FILE')
# Or file pattern for multiple files
results = reader.decode('/PATH/TO/FILES/*.png')
print(results)
# Or a numpy array
# Requires additional installation of opencv
# pip install opencv-python
results = reader.decode_array(img)

Or you may simply call it from command line

python scripts/scanner.py -f /PATH/TO/FILE

TODO

  • Fix setup.py

  • Add multi and pure_barcode into parameters to resolve #25

  • Change Travis CI to GitHub Action

Sponsor

Logo
Open Source Support Program

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

pyzxing-1.0.2b0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

pyzxing-1.0.2b0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file pyzxing-1.0.2b0.tar.gz.

File metadata

  • Download URL: pyzxing-1.0.2b0.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for pyzxing-1.0.2b0.tar.gz
Algorithm Hash digest
SHA256 6a31932d823f45fd9a97c7e627e588300ce3d752d6d7a2c486384719a05a3cea
MD5 c2a0584184af8365d35eba1d587d8fe2
BLAKE2b-256 e0c9feeff923c97f150e2b53b529c1b01718201f962c0ae4b922a526089fd02d

See more details on using hashes here.

File details

Details for the file pyzxing-1.0.2b0-py3-none-any.whl.

File metadata

  • Download URL: pyzxing-1.0.2b0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for pyzxing-1.0.2b0-py3-none-any.whl
Algorithm Hash digest
SHA256 85e42c9d447c00b22851c55da8d8d60a80977523d9e1a1ad983b1418e3551bad
MD5 e5b82d1919ea7e75a09d9d0ea2237135
BLAKE2b-256 3187fbd94b9a39c2da2f2b173401da13a23cd390c4d9bcf1ed07826877a7102f

See more details on using hashes here.

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