Skip to main content

QR decoding + scannability scoring for artistic, AI-generated, and photo-captured QR codes — Rust core via PyO3.

Project description

qrcode-ai-scanner (Python)

QR decoding + scannability scoring for artistic / AI-generated / photo-captured QR codes — the Rust qrcode-ai-scanner engine, via PyO3. Same versioned ScanReport contract as the Rust, Node and WASM surfaces.

import qrcode_ai_scanner as qr

with open("image.png", "rb") as f:
    report = qr.scan(f.read(), profile="full")   # "full" | "fast" | "frame"

if report["detections"]:
    d = report["detections"][0]
    print(d["content"]["text"])
    print(report["score"]["value"], report["score"]["grade"])  # 0-100 + ISO band
    print(report["hints"])                                      # machine-actionable
  • scan(image: bytes, profile="full", max_dimension=None, max_pixels=None, budget_ms=None) -> dict — decode encoded bytes (PNG/JPEG/WebP/GIF).
  • scan_frame(rgba: bytes, width: int, height: int, profile="frame", max_dimension=None, max_pixels=None, budget_ms=None) -> dict — raw RGBA frame, no image-format roundtrip.
  • Optional kwargs: max_dimension / max_pixels cap inputs BEFORE any pixel work (defaults 10000 px / 64 MP — lower them for untrusted uploads); budget_ms bounds the scan wall-clock (0 = unbounded — leave unset for strictly reproducible reports).
  • "No QR found" returns a dict with empty detections; ValueError is raised only for invalid input.

The returned dict is the same ScanReport documented in the spec.

License: AGPL-3.0-or-later · © SuperNovae Studio.

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

qrcode_ai_scanner-0.8.1.tar.gz (165.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qrcode_ai_scanner-0.8.1-cp38-abi3-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.8+Windows x86-64

qrcode_ai_scanner-0.8.1-cp38-abi3-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

qrcode_ai_scanner-0.8.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

qrcode_ai_scanner-0.8.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

qrcode_ai_scanner-0.8.1-cp38-abi3-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

qrcode_ai_scanner-0.8.1-cp38-abi3-macosx_10_12_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file qrcode_ai_scanner-0.8.1.tar.gz.

File metadata

  • Download URL: qrcode_ai_scanner-0.8.1.tar.gz
  • Upload date:
  • Size: 165.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for qrcode_ai_scanner-0.8.1.tar.gz
Algorithm Hash digest
SHA256 ebcfcf532598a29017de1dc56d0b1099301df57e4abe388769e18bb855439b9f
MD5 acd9158fd2565909a1b56a532444aa34
BLAKE2b-256 ac23a8eb560d9d8292fb98c20c038d93e06f019bec4bfe5c2d422a2c3bd7c863

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.8.1.tar.gz:

Publisher: python.yml on supernovae-st/qrcode-ai-scanner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrcode_ai_scanner-0.8.1-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.8.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c37ef947592b7e652ba8a89d587685fbcd53fc02da2c982e6a91abaa6dec2896
MD5 ff240232bda2db1821790de7405b5a15
BLAKE2b-256 b00a06688f22498abf788e1c24c1a0d0064827890f35958f4ee5047409379890

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.8.1-cp38-abi3-win_amd64.whl:

Publisher: python.yml on supernovae-st/qrcode-ai-scanner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrcode_ai_scanner-0.8.1-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.8.1-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d1365a66134e4f892ae069909ef6b5420b242a8b6b836cace516228252844d8c
MD5 49af39ee26b3052dbacaade704d08222
BLAKE2b-256 f819f7c50497aa724177cd897df89fbd355a6d2eeb20345f45e6ac84cd861e17

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.8.1-cp38-abi3-musllinux_1_2_x86_64.whl:

Publisher: python.yml on supernovae-st/qrcode-ai-scanner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrcode_ai_scanner-0.8.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.8.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ef512c45566bdb4555880fe37cac7beaac0caa62d5b0229e5db3b949ce6e8bb
MD5 ee8c1ac2086035225e5d2ed8ea724c22
BLAKE2b-256 a08b2b9b018d0398d95e23ea7d245fefe749bdf045b05b618af47ed17f87e0aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.8.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python.yml on supernovae-st/qrcode-ai-scanner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrcode_ai_scanner-0.8.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.8.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7d37ff5547c010b5218606d24f01a6e5fae15f230a86d1148b6537dfa83aa7de
MD5 3562abc616edc1867497ad6e64edaf0a
BLAKE2b-256 09d7cd7b75f4cf37b6a5ebc4a24e8a21114ad8591ec8d247c6ae84db052e1e30

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.8.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: python.yml on supernovae-st/qrcode-ai-scanner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrcode_ai_scanner-0.8.1-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.8.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 47a5fc11cdfd09bbcfad7af235028d3c5d27ed38347a5bce5f9992ef00bb5744
MD5 b029be3c484779db8ade3fd05d9b58f1
BLAKE2b-256 a8cf7f76d1bee55e94a3d45d942d8ca49911bc8ea54f8e203a930d53274045b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.8.1-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: python.yml on supernovae-st/qrcode-ai-scanner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrcode_ai_scanner-0.8.1-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.8.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c883d748186c17fd5321ef65a87c3b0a87100787c0c0a383e44755d2ce58304b
MD5 3792f0b2e10031ba83ef08fbc371a922
BLAKE2b-256 ba5232909d91da8ebe0257ced75b75ff50b3faec8d6a9aabef10dad6db27a433

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.8.1-cp38-abi3-macosx_10_12_x86_64.whl:

Publisher: python.yml on supernovae-st/qrcode-ai-scanner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page