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

Uploaded CPython 3.8+Windows x86-64

qrcode_ai_scanner-0.7.2-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.2-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.2-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.2-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.2-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.2.tar.gz.

File metadata

  • Download URL: qrcode_ai_scanner-0.7.2.tar.gz
  • Upload date:
  • Size: 163.8 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.2.tar.gz
Algorithm Hash digest
SHA256 9aaa55a7ceb2ac2dac21274f7161ce07d636ad3e11b54c74ce10fcaa59971e0a
MD5 cc98b2db2e46a27b6e142c30547e7e69
BLAKE2b-256 2485d09a5e69c4cce52ef4e7fc88fdeab0f1840a67ed4bce67e6d0650d58113b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 56e1a3574d81d76a8b6c9a59c0d76abc655594c518907574b3e27c11153c725c
MD5 76c1bf9ecb5382b4339ddf523729832e
BLAKE2b-256 7061981cf81cf968463e40891b3e4d5321d976f0e5ec6e2361220bb0045b4b19

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.2-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 19fd83f7f5b3e40873d55f1fbb78c14ecbe0ead9496457e9b775e2c101eacf81
MD5 33ab865eeba47a556d06465074a144a9
BLAKE2b-256 262ee6b7e4da419a97f7f9f55ddca8ec769191e54eed122a7f3f73529d37e5b0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6714c38a5cb46c658d647abfd7bc58bddc66a296120f8ee88a64ae495912aec3
MD5 56830306b8988a0af8639f514fada5b2
BLAKE2b-256 d818e3581555bae04cdb5d352a9b95e6d34f87059d196a680cd86fe741799286

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e9ca4fd4cf1e1f22886f2af0572d1164207c8c321e3e0120ca5f0734563061c4
MD5 4acb6508b06126c4adcddb8b4a93371c
BLAKE2b-256 e1d19bec010ebb46768856c1293884f264c55da063c9e008a8e0abd7e4bba6d5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b72da2d8e430d960613e75feb9dc5f16ef2a732d5ce5f0d1514ae907bcac2d6
MD5 b4b1d8353f19de74b65eaef7827792ec
BLAKE2b-256 720bf1b8ffb3c3c156eab10a190263bd8e33a0885bc260ffa99d5b779150b63a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0e476c3da513fc738722faa73b325e61251b0516a2b69cf7bbc430909f17d236
MD5 52320bd3c13797f022884310e7588f06
BLAKE2b-256 88c0732d8a15fd713b078f6cf6b9ee14e1ec0a8ccc6d5e918cbdeb00627f787d

See more details on using hashes here.

Provenance

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