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

Uploaded CPython 3.8+Windows x86-64

qrcode_ai_scanner-0.5.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.5.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.5.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.5.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.5.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.5.0.tar.gz.

File metadata

  • Download URL: qrcode_ai_scanner-0.5.0.tar.gz
  • Upload date:
  • Size: 135.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.5.0.tar.gz
Algorithm Hash digest
SHA256 55cb584eeef3d7ca4dfdb0258b739b0d4e9094034aea8c520897dbb93505a544
MD5 b5afa85967fdf788fb1378ae613e2c93
BLAKE2b-256 9d3ae32259ccf623e2f04c557dbf614c03854fc98031f8166b24c14048837127

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.5.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2dda09778ad02434b878cad6ab4e42f11ddafb1aee972aa733334f7ce2858398
MD5 a7e0691a9e74b983e71e26238d261041
BLAKE2b-256 bfdb1df794b9469fe2c651dc1f74bef192bbff5dce9ea3118bd6dc49a363e027

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.5.0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a790bb7c8011890b31f1ca1e03692f3a54f7ebc8d676b6d5f527d0b2b9c8b1a9
MD5 664ff24b1f8cb387ada9b31ec88791b7
BLAKE2b-256 4a1c9224a2c22815adad666bf7e934fd8dabfe68733d05682db67d9222898b67

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.5.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 875fda7006ecbd87541e9ffedb0112e21d1989e9d5ed9f582555231db7071268
MD5 44d3ecd9464219b41e6cdb9b2cf200fe
BLAKE2b-256 797bd22049786b9fac0e94ce078369c8e610a52b1441d19664498cfddd7b24fd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.5.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 22037872d8869a81e13b74d23fe9848504f69a1bbb0fa60da7c5404f98fbf12b
MD5 2078095be8c868a5d0d4febecbf5186c
BLAKE2b-256 d28b0e3cb3ecca64a91f24d06b4be2078a554a8260185832a4a8830e453d3d9c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.5.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 911c6f603c302f997a57d864e4f786ac4a8db6e5b874fb92288c2265defba5a2
MD5 bc2c5663b31b7ac39027769f02207a88
BLAKE2b-256 5bd09f605e63d12daab63acda0e4324cabcbd217cc7f29edb08ce484f635f7a8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.5.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e97364af5a50d230236dee4e77ce8f56fa085042f746d72f20f7d12bc7e3c461
MD5 3b186ca3867a664db7156efaacb76a5a
BLAKE2b-256 817c8f635b8cac7d0a2f85fea36c4abaa77489e5ba74dc6e5a5dc319b2ec18c9

See more details on using hashes here.

Provenance

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