Skip to main content

QR Data Manager

Project description

QR Data Manager (QRDM)

QRDM provides a python package, network API endpoints, and web interfaces for encoding and decoding documents as a series of QR codes.

Setup and Execution

The qrdm package is written in pure Python; the ease of installation is dependent on availability of its dependencies.

The simplest method of installing the qrdm package is via pip.

pip install qrdm

If pip is able to reach a suitable package index, qrdm will install along with its core Python dependencies.

IMPORTANT

The QR decoding functionality depends on the pyzbar python package, which in turn depends on the zbar shared library. This may require you to install the zbar package via your system's package manager. See the pyzbar installation instructions for more details.

Two main "package extras" are available for qrdm that provide REST API application ("backend") and Web application ("frontend") services for the QR encoding & decoding functions. These can be included by specifying qrdm[backend] or qrdm[frontend] to the installation command above, respectively.

Web UI via Streamlit

A Streamlit "frontend" can be run via:

git clone https://github.com/mit-ll/qrdm
cd qrdm
python -m pip install .[frontend]
streamlit run ui/QRDM_Home.py --client.toolbarMode=viewer

This will host the app at http://localhost:8501 by default, with pages for QR encoding and decoding. The host and port can be controlled by passing --server.port=XXXX and --server.address=X.X.X.X, as per the syntax of the streamlit run command.

REST API via FastAPI

To run the "backend" FastAPI app via uvicorn, use uvicorn directly. For example:

python -m pip install qrdm[backend]
uvicorn qrdm.backend:app --host localhost --port 8182

This will result in the app being hosted at http://localhost:8182. Swagger documentation will be hosted at http://localhost:8182/docs, if an internet connection is available. Further options are available via uvicorn command-line configuration.

Disclaimer

DISTRIBUTION STATEMENT A. Approved for public release: distribution unlimited.

© 2024 Massachusetts Institute of Technology

  • Subject to FAR 52.227-11 - Patent Rights - Ownership by the Contractor (May 2014)
  • SPDX-License-Identifier: MIT

This material is based upon work supported by the Name of Sponsor under Air Force Contract No. FA8721-05-C-0002 and/or FA8702-15-D-0001. Any opinions, findings, conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Name of Sponsor.

Delivered to the U.S. Government with Unlimited Rights, as defined in DFARS Part 252.227-7013 or 7014 (Feb 2014). Notwithstanding any copyright notice, U.S. Government rights in this work are defined by DFARS 252.227-7013 or DFARS 252.227-7014 as detailed above.

The software/firmware is provided to you on an As-Is basis.

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

qrdm-2.1.0.tar.gz (48.1 kB view details)

Uploaded Source

Built Distribution

qrdm-2.1.0-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

Details for the file qrdm-2.1.0.tar.gz.

File metadata

  • Download URL: qrdm-2.1.0.tar.gz
  • Upload date:
  • Size: 48.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for qrdm-2.1.0.tar.gz
Algorithm Hash digest
SHA256 f9606c0962bc1921e91af720c7347961128c9647ea032413b70fba59e3e72276
MD5 285ef87a1a29ee23c432e9e221ae505b
BLAKE2b-256 969e478133d57d87bbbf4b79f03cd8014e42f2ba759e18548c11b0c2487e8bc5

See more details on using hashes here.

File details

Details for the file qrdm-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: qrdm-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 49.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for qrdm-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03d2aa0c8ad58a86ef1585100764a89d4214eadac86b8059cb0b5478ea928a90
MD5 eaec857b6c5029ac724a5485becdf4b2
BLAKE2b-256 780aa90d102600fd10313b91fbeb473df9ce53cb2d89c27451c361032317ad17

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