# 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`.
```sh
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`][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][pyzbar-install] for more details.
[pyzbar]: https://github.com/NaturalHistoryMuseum/pyzbar
[pyzbar-install]: https://github.com/NaturalHistoryMuseum/pyzbar?tab=readme-ov-file#installation
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](https://streamlit.io) "frontend" can be run via:
```sh
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:
```sh
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.
Raw data
{
"_id": null,
"home_page": null,
"name": "qrdm",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "QR, QR code",
"author": "MIT Lincoln Laboratory",
"author_email": "\"Cuyler D. O'Brien\" <cuyler.obrien@ll.mit.edu>, \"Eric A. Quintero\" <Eric.Quintero@ll.mit.edu>, Tod Shannon <tod@ll.mit.edu>, \"Michael J. Snyder\" <michael.snyder@ll.mit.edu>",
"download_url": "https://files.pythonhosted.org/packages/96/9e/478133d57d87bbbf4b79f03cd8014e42f2ba759e18548c11b0c2487e8bc5/qrdm-2.1.0.tar.gz",
"platform": null,
"description": "# QR Data Manager (QRDM)\nQRDM provides a python package, network API endpoints, and web interfaces for encoding\nand decoding documents as a series of QR codes.\n\n## Setup and Execution\n\nThe `qrdm` package is written in pure Python; the ease of installation is dependent on\navailability of its dependencies.\n\nThe simplest method of installing the `qrdm` package is via `pip`.\n```sh\npip install qrdm\n```\n\nIf `pip` is able to reach a suitable package index, `qrdm` will install along with its\ncore Python dependencies.\n\n**IMPORTANT**\n> The QR decoding functionality depends on the [`pyzbar`][pyzbar] python package, which\n> in turn depends on the `zbar` shared library. This may require you to install the\n> `zbar` package via your system's package manager.\n> See the [`pyzbar` installation instructions][pyzbar-install] for more details.\n\n[pyzbar]: https://github.com/NaturalHistoryMuseum/pyzbar\n[pyzbar-install]: https://github.com/NaturalHistoryMuseum/pyzbar?tab=readme-ov-file#installation\n\nTwo main \"package extras\" are available for `qrdm` that provide REST API application\n(\"backend\") and Web application (\"frontend\") services for the QR encoding & decoding\nfunctions. These can be included by specifying `qrdm[backend]` or\n`qrdm[frontend]` to the installation command above, respectively.\n\n### Web UI via Streamlit\nA [Streamlit](https://streamlit.io) \"frontend\" can be run via:\n\n```sh\ngit clone https://github.com/mit-ll/qrdm\ncd qrdm\npython -m pip install .[frontend]\nstreamlit run ui/QRDM_Home.py --client.toolbarMode=viewer\n```\n\nThis will host the app at `http://localhost:8501` by default, with pages for QR encoding\nand decoding. The host and port can be controlled by passing `--server.port=XXXX` and\n`--server.address=X.X.X.X`, as per the syntax of the `streamlit run` command.\n\n### REST API via FastAPI\n\nTo run the \"backend\" FastAPI app via uvicorn, use `uvicorn` directly. For example:\n```sh\npython -m pip install qrdm[backend]\nuvicorn qrdm.backend:app --host localhost --port 8182\n```\n\nThis will result in the app being hosted at `http://localhost:8182`. Swagger\ndocumentation will be hosted at `http://localhost:8182/docs`, if an internet connection\nis available. Further options are available via `uvicorn` command-line configuration.\n\n## Disclaimer\n\nDISTRIBUTION STATEMENT A. Approved for public release: distribution unlimited.\n\n\u00a9 2024 Massachusetts Institute of Technology\n\n- Subject to FAR 52.227-11 - Patent Rights - Ownership by the Contractor (May 2014)\n- SPDX-License-Identifier: MIT\n\nThis material is based upon work supported by the Name of Sponsor under Air Force\nContract No. FA8721-05-C-0002 and/or FA8702-15-D-0001. Any opinions, findings,\nconclusions or recommendations expressed in this material are those of the author(s) and\ndo not necessarily reflect the views of the Name of Sponsor.\n\nDelivered to the U.S. Government with Unlimited Rights, as defined in DFARS Part\n252.227-7013 or 7014 (Feb 2014). Notwithstanding any copyright notice, U.S. Government\nrights in this work are defined by DFARS 252.227-7013 or DFARS 252.227-7014 as detailed\nabove.\n\nThe software/firmware is provided to you on an As-Is basis.\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "QR Data Manager",
"version": "2.1.0",
"project_urls": {
"Documentation": "https://mit-ll.github.io/qrdm",
"Repository": "https://github.com/mit-ll/qrdm"
},
"split_keywords": [
"qr",
" qr code"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "780aa90d102600fd10313b91fbeb473df9ce53cb2d89c27451c361032317ad17",
"md5": "eaec857b6c5029ac724a5485becdf4b2",
"sha256": "03d2aa0c8ad58a86ef1585100764a89d4214eadac86b8059cb0b5478ea928a90"
},
"downloads": -1,
"filename": "qrdm-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "eaec857b6c5029ac724a5485becdf4b2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 49374,
"upload_time": "2024-05-08T14:40:00",
"upload_time_iso_8601": "2024-05-08T14:40:00.411811Z",
"url": "https://files.pythonhosted.org/packages/78/0a/a90d102600fd10313b91fbeb473df9ce53cb2d89c27451c361032317ad17/qrdm-2.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "969e478133d57d87bbbf4b79f03cd8014e42f2ba759e18548c11b0c2487e8bc5",
"md5": "285ef87a1a29ee23c432e9e221ae505b",
"sha256": "f9606c0962bc1921e91af720c7347961128c9647ea032413b70fba59e3e72276"
},
"downloads": -1,
"filename": "qrdm-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "285ef87a1a29ee23c432e9e221ae505b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 48055,
"upload_time": "2024-05-08T14:40:03",
"upload_time_iso_8601": "2024-05-08T14:40:03.364006Z",
"url": "https://files.pythonhosted.org/packages/96/9e/478133d57d87bbbf4b79f03cd8014e42f2ba759e18548c11b0c2487e8bc5/qrdm-2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-08 14:40:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mit-ll",
"github_project": "qrdm",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "qrdm"
}