Skip to main content

A minimalist paper data storage based on QR codes

Project description

Logo

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:

  • Encryption keys (e.g. GnuPG)
  • File-based password databases (e.g. KeePassXC)
  • Cryptocurrency wallets

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

  1. intra2net/paperbackup
  2. Paperback by Olly and Wikinaut/paperback-cli
  3. colorsafe/colorsafe
  4. Twibright Optar
  5. Paperkey
  6. 4bitfocus/asc-key-to-qr-code

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pawpyrus-2024.3.24.0-py3-none-any.whl (22.9 kB view hashes)

Uploaded Python 3

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