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.7.0.tar.gz (161.5 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.7.0-cp38-abi3-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.8+Windows x86-64

qrcode_ai_scanner-0.7.0-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.7.0-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.7.0-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.7.0-cp38-abi3-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

qrcode_ai_scanner-0.7.0-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.7.0.tar.gz.

File metadata

  • Download URL: qrcode_ai_scanner-0.7.0.tar.gz
  • Upload date:
  • Size: 161.5 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.7.0.tar.gz
Algorithm Hash digest
SHA256 6f4652542d54f5bd6a754edb787b60e01fd651abfe788e477533ba3850f98b6e
MD5 a1162c5e004f1da4f7d9744f27b6d428
BLAKE2b-256 09860121bfce7c045b681598a3fb9ac2eeb3c16a9ac08d72e88f58219196f51a

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.7.0.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.7.0-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d780b49a82afac51a5eddde37a345cb158e14dc4377600e16d98fdfa937dd7cc
MD5 25a5f449cf5e1ada8ca38134672023d6
BLAKE2b-256 09215234439e7c6e214bad82aeca0d1a1ada3b13f8a60f3a1eaca9edc48d910b

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.7.0-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.7.0-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 da4afb874bcd69c73ddf9a9f4c8cf702cf0f2318294dc9bbd8d7e3a8e5d0a03e
MD5 897370996d35f92d042a1afb1b3135d0
BLAKE2b-256 af930b50a2b2804f4135d0ac547fc185af789a7abb473230264b93e36ce44cf9

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.7.0-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.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e8e209f103b173f6249d96e46c3e127228b04db154bf47d6969594c99b0ff95
MD5 62b516adc9f6420a9c30301632ee22ba
BLAKE2b-256 ff6ac9a16d367797c517d73878d2dc83fbd1a603efa61a49335f5aff5c81bce6

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.7.0-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.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4e2cda0466933b5ef0988f00903ddb428d0cf6f7eec887eacae0ce8c75d31dec
MD5 ef8016364cfecc3cbd90f5da7bfe9dad
BLAKE2b-256 bba9645dd8dff8913f95cf234db3fd8d13fd49981761b63804def7bb700f4884

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.7.0-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.7.0-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63b86722ebe46abaae0fed7db0c2c2f4014026cc3753a7678d6b9fe9631c1540
MD5 353447e8cc7c6117c17328b3844fd156
BLAKE2b-256 a18f84618592f4bdcd71dce1684e0683564342eb9dcc11d577449ef288c856ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.7.0-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.7.0-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 823cb00a9d604af82bd6734ca4c66f7d44c04da34d446fd66d394bfdb11f4509
MD5 09f12af805828c3e5f99ad453cbf4664
BLAKE2b-256 d25d084c5b99c07f810a976ac6a03117e62b330ca0db2e56ec003345268f0395

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrcode_ai_scanner-0.7.0-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