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

Uploaded CPython 3.8+Windows x86-64

qrcode_ai_scanner-0.6.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.6.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.6.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.6.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.6.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.6.0.tar.gz.

File metadata

  • Download URL: qrcode_ai_scanner-0.6.0.tar.gz
  • Upload date:
  • Size: 159.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.6.0.tar.gz
Algorithm Hash digest
SHA256 25345f06a54080909d7acbdeebf9ad198639e06f8b0ccaec55920f52d1b2930a
MD5 dd1d8d53c2edf9ee7917d01ec4f59ebb
BLAKE2b-256 b68997da7d51f2dfacafd3d5167194af1bf5fc331e1ee52e0c2083609de39165

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.6.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 529d39b48b57692098aab87bdc9067eab0cacfacb2f7f6a4c4a3bc2ab1525148
MD5 5137650b54976af33fc07a9a2adf3374
BLAKE2b-256 4f9caa7687414f9a4c9105a86beb588f23938dfdc54f79f471b6aa540feefc1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.6.0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 92854539a864f395a051d4d57b39204ef158343609095b1f106b197b818e1f97
MD5 da422f2bb4e2b3825d4ab069a77b4a59
BLAKE2b-256 8b9021a13960e1d015ebb54f704c095760a84e2110ade3e4a4f1586f367c864d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.6.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47c2815a46ef62661b769efb6af2e45655e9cfdf18cef989c71ffd838c476c59
MD5 49ea02ab329fbab3409f3276b41f6725
BLAKE2b-256 328306f915c002f1c728ff3b03e95f906e872b27826a279a1d198fc3e89fcdc4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.6.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5f2cb912b147b064d13c98b260363538d1e99f4fe2c43f4f24af32640813e531
MD5 381c4ee9e62d2dce5e313a6eb21bd2ea
BLAKE2b-256 24b936fb849eb7d6edd42cdb19083a5405c47d3a65809630d42d533e903e5705

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.6.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 74d80694e6e3350432e8b93953b6de80c087837894c6a1da1a88b550999c2d84
MD5 8e2a2bd677da13d664d85ccd6986948e
BLAKE2b-256 42dfaf91e80d200f49b1bfb6d9e1cd9066e4d684722d978dbacfa8218a1b153e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.6.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d4a5a309eb2e524803d881809164c057b8d7304a9bdf28ea2a59ce7b0105f4fb
MD5 cf2ff9ae4875f79a28d3dab073d514bf
BLAKE2b-256 b0f4bbb655b8d92c837f90df4dec465c3546a9d6c817931cb71bcbd2066e3903

See more details on using hashes here.

Provenance

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