A minimalist paper data storage based on QR codes
Project description
Description
Pawpyrus is a minimalist open-source paper data storage based on QR codes and ArUco. It generates a PDF from any small-sized binary file (recommended size <100kb). Further, the paper data storage can be scanned and decoded (recommended resolution 300dpi).
It can be useful if you need to backup data on paper:
Usage
NOTE: Backward compatibility is not provided yet.
Encoder:
pawpyrus Encode -n "Description" -i "input.file" -o "output.pdf"
Also, pawpyrus can read data from stdin. For example, encoding GPG public keys:
gpg --export 0xDEADBEEF | pawpyrus Encode -n "My pubkey" -i - -o "my-pubkey.pdf"
Decoder:
pawpyrus Decode -i "scan1.jpg" "scan2.png" "scan3.jpg" "masked/too/*.png" -o "output.file"
Data Format
Pawpyrus uses a custom alphanumeric encoding, which is designed to store information in QR code effectively. For now, that makes 4.3kb per A4 page (pixel size 0.6 mm).
Got a Trouble?
QR and ArUco detectors may fail on one or several blocks. The situation is totally normal, although uncomfortable. I fixed it for now, with two detectors (opencv and pyzbar) instead of one, but the bug may reappear in some circumstances. That's why I implemented Debug Mode:
pawpyrus Decode -d "debug_dir" -i "scan1.jpg" "scan2.jpg" "scan3.jpg" -o "output.file"
With Debug Mode, you can inspect undetected QR codes, read them manually with any device you have, and create a file with text blocks which can be processed as well:
pawpyrus Decode "scan1.jpg" "scan2.jpg" "scan3.jpg" -t "unrecognized_codes.txt" -o "output.file"
Similar Projects
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for pawpyrus-2024.3.24.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4276b180fb6c1082633022920830edd790b004e662e8c08bcdc09792c46f11ef |
|
MD5 | f65c2d2bd10993dc2eff50093652b09e |
|
BLAKE2b-256 | 323be32e59c6e95620a71b96fc9e0aff3c8f2141eab4defc379eb531dfaa67c6 |