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

Uploaded CPython 3.8+Windows x86-64

qrcode_ai_scanner-0.7.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.7.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.7.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.7.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.7.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.7.1.tar.gz.

File metadata

  • Download URL: qrcode_ai_scanner-0.7.1.tar.gz
  • Upload date:
  • Size: 162.1 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.1.tar.gz
Algorithm Hash digest
SHA256 87bbfe79524c8645d60c0a67c1a1753da5a39a6850dd37fb9a099c9d4967d990
MD5 c9efb8ae6cabe6d4ac6bef41f34226b2
BLAKE2b-256 b0cbf5e4d86dd91a95fb8cb1c27d716e7a5adc98d2f131618d117fd72f067c50

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2655dc0446e58923f6373e9ed7bb263ab7cd4e3ebe07096e749409e7b842df1a
MD5 fb92a1088bd4975bc804275fe48d0199
BLAKE2b-256 f1dd8cf0e71b9bac75a10eeebac947f15d392bed6c6968cc916aaa6166f84453

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.1-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7e42a6cae7c60e7ae5d68cb5f2e9f8c1156ff9a9cb457bfdcee3b388e15de604
MD5 144ca470346682223d7d6c16dd2b2710
BLAKE2b-256 cc696974f63107b770ec3c16fa8b4f637c218fd92e88a89442d63eab651532ff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7209d45042abac1dd40eb062b72d04c6d555cc7bd222c29a75c10fe0e69554f0
MD5 2f4007ddff2ecdf23f5d5f3b1191a991
BLAKE2b-256 41076a3484318d2f340d7bb9fae4bb493df08923466e20328250de5d0b22cf51

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 25d67720a199c88909bf5bee74f530b5ae874f38c1cd0d05d30e16db89aef979
MD5 7a18b08d6a27924d2733b96b8d5b1d4b
BLAKE2b-256 5400a8b5afbf3dcdb2fdc485e307b09dc90a440d675c0a6e4d053e686870139c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 060194bde122856ef1852b059eb7aec42b48e0ce03a8b7f55a646228c1a8dc43
MD5 b038712fee8c8e3dfdf290c3c5ecef8a
BLAKE2b-256 15899197455d5ac25d32af8b03e005cd9ad2740ff29a24141b4e994f18884665

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qrcode_ai_scanner-0.7.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bba781f656cbf6adf216bcf2657e6a72fcd337904d3f36d473c5572258b6fb27
MD5 ba8f474b7098f897f989a9b87a03960e
BLAKE2b-256 6a8b0d93d39332b4a3693f1342509b74bff64f47c603aa6fdca9327a62a12213

See more details on using hashes here.

Provenance

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