Skip to main content

CodaraScan — Offline Barcode Detection for Images and PDFs

PyPI Python CI License

One local Python API for detecting, localizing, and decoding 40 selectable 1D and 2D barcode formats in images and PDF documents.

CodaraScan is an open-source, offline barcode detector, barcode localizer, decoder, and document scanner for Python. It finds multiple linear and matrix barcodes, returns their quadrilateral coordinates, and preserves decoded text and original payload bytes. Multi-page PDF processing, ordered concurrency, streaming results, and a command-line interface are included—without a cloud API, telemetry, or runtime model download.

For teams looking for a universal barcode detection layer, CodaraScan provides one stable interface across QR Code, Data Matrix, PDF417, Aztec, MaxiCode, Code 128, Code 39, EAN, UPC, ITF, DataBar, and other formats. The exact 40-format catalog and its validation boundaries are documented below; “multi-format” does not mean that every degraded barcode is guaranteed to decode.

Install · Quick start · PDF batch scanning · CLI · Formats · API reference · PyPI

Alpha notice — CodaraScan 0.1.2 is alpha software. Its APIs and schemas may change during 0.x. Pin an exact version and evaluate it against your own documents before production use. See the known limitations and release policy.

Why CodaraScan?

Most barcode libraries focus on decoding a clean, tightly cropped symbol. Document workflows need more: finding an unknown number of barcodes on a page, retaining their geometry, processing long PDFs in a controlled order, and handling symbols that can be located but not decoded. CodaraScan exposes those states explicitly.

Capability What CodaraScan provides
Barcode detection Finds multiple 1D/linear and 2D/matrix symbols in an image or PDF page
Barcode localization Returns clockwise pixel and normalized quadrilaterals, even when decoding is disabled
Barcode decoding Returns Unicode text, exact raw payload bytes, and a canonical format name
Document scanning Reads selected PDF pages, preserves requested order, and supports bounded parallel work
Batch processing Scans complete or selected multi-page PDFs and can stream pages without accumulating them
Format coverage 40 selectable formats: 27 linear and 13 matrix selections in version 0.1.2
Recovery profiles fast Tessera mode for lower latency; robust Mosaic mode for stronger recovery
Local processing No server, network request, telemetry, external executable, or runtime model download
Integration Typed Python API, deterministic JSON, CLI, schemas, and a private persistent worker protocol
Deployment Native wheels for supported Linux, macOS, and Windows targets; Python fallback for Tessera

Common use cases

  • Extract QR Codes and barcodes from scanned PDF documents.
  • Localize multiple barcodes on shipping labels, forms, invoices, and archive pages.
  • Process document batches while keeping page results in deterministic order.
  • Read retail, logistics, inventory, manufacturing, and library barcode formats.
  • Return barcode coordinates for redaction, cropping, indexing, annotation, or review.
  • Run barcode recognition inside private, air-gapped, or offline environments.
  • Add a local barcode reader to Python, OpenCV, Pillow, desktop, or backend workflows.

Installation

CodaraScan supports CPython 3.11, 3.12, 3.13, and 3.14.

python -m pip install codarascan

For reproducible alpha deployments, pin the current release:

python -m pip install codarascan==0.1.2

Quick start

Detect and decode barcodes in an image

from codarascan import DecodedSymbolResult, Scanner

scanner = Scanner(
    mode="fast",       # "fast" (Tessera) or "robust" (Mosaic)
    symbols="all",     # "linear", "2d", or "all"
    decode=True,
)

result = scanner.scan_image("shipping-label.png")

for symbol in result.symbols:
    print("status:", symbol.status.value)
    print("corners:", [(point.x, point.y) for point in symbol.quad])

    if isinstance(symbol, DecodedSymbolResult):
        print("format:", symbol.format)
        print("text:", symbol.text)
        print("raw bytes:", symbol.raw_bytes)

result.symbols may contain zero, one, or multiple detections. Every symbol has full-image pixel geometry in quad and resolution-independent coordinates in normalized_quad.

Scan only selected barcode formats

Narrowing the format set can reduce unnecessary work and makes the expected contract explicit:

from codarascan import Scanner

scanner = Scanner(
    mode="robust",
    symbols="all",
    formats=["qr-code", "data-matrix", "code-128", "ean-13"],
)

result = scanner.scan_image("warehouse-label.jpg")

Canonical names and common aliases are accepted. Unknown formats and contradictions such as symbols="linear" with formats=["qr-code"] fail at configuration time.

Localize barcodes without decoding

Use detection-only mode when you need coordinates for crops, overlays, redaction, indexing, or a separate decoding pipeline:

from codarascan import Scanner

localizer = Scanner(symbols="all", decode=False)
result = localizer.scan_image("document.png")

for symbol in result.symbols:
    assert symbol.status.value == "localized"
    print(symbol.kind.value, symbol.quad, symbol.normalized_quad)

Localization-only results deliberately have no text, raw_bytes, or format attributes.

Scan a region of interest

The ROI is (x, y, width, height) normalized to the oriented full image. The returned barcode coordinates remain relative to the full image.

result = scanner.scan_image(
    "form.png",
    roi=(0.50, 0.00, 0.50, 0.40),  # top-right portion of the page
)

Scan a multi-page PDF

Page numbers are one-based. Requested order is preserved even when pages are processed concurrently.

from codarascan import Scanner

scanner = Scanner(mode="robust", symbols="all")

document = scanner.scan_document(
    "archive-batch.pdf",
    pages=[3, 1, 2],
    workers=4,          # positive integer or "auto"
    on_error="collect", # keep successful pages and report page errors
)

for page in document.pages:
    print(f"page {page.page}: {len(page.image.symbols)} symbol(s)")

print("complete:", document.complete)
print("errors:", document.errors)

Use on_error="raise" for fail-fast behavior. With "collect", failed pages are recorded as typed errors while successful pages remain available.

Stream a large PDF with bounded memory

iter_document yields ordered page results without storing all returned pages:

from codarascan import Scanner

scanner = Scanner(mode="fast")

with scanner.iter_document("large-document.pdf", workers="auto") as pages:
    for page in pages:
        save_result(page)

    print("complete:", pages.complete)
    print("errors:", pages.errors)

At most the selected worker count is in flight. Access and rendering are serialized; owned pixel snapshots are then analyzed concurrently.

Use the one-off functions

For short scripts, the module-level functions reuse cached immutable scanner configurations:

from codarascan import scan_document, scan_image

image_result = scan_image("label.png", mode="fast", formats=["code-128"])
pdf_result = scan_document("forms.pdf", mode="robust", workers=2)

Long-running applications can create a Scanner once, optionally call scanner.warm(), and safely share the immutable configuration across threads.

Barcode detection, localization, and decoding

These terms describe different parts of barcode recognition:

  • Localization (also spelled localisation) describes where a detected barcode is. CodaraScan returns four clockwise corners rather than only an axis-aligned bounding box.
  • Decoding interprets the bars or modules and returns the payload and barcode symbology.

A difficult symbol may be localized without being decoded. CodaraScan keeps that information instead of silently discarding the region.

Status Meaning
decoded Geometry, format, Unicode text, and raw payload bytes are available
localized_unresolved_linear A linear/1D barcode was confidently localized, but its payload could not be decoded
localized_unresolved_matrix A matrix/2D barcode was confidently localized, but its payload could not be decoded
localized Geometry-only result produced with decode=False
review_candidate A barcode-like region was found with weaker evidence and may require human review

Confidence is an engine-specific evidence score in [0, 1], not a calibrated probability. It is not directly comparable between Tessera and Mosaic. Treat status as the primary semantic signal.

Fast vs. robust barcode scanning

CodaraScan makes the performance/recovery choice explicit. It does not switch engines automatically.

Mode Engine Best fit Trade-off
mode="fast" Tessera Low-latency document scanning and common workflows Less exhaustive recovery
mode="robust" Mosaic Difficult inputs where stronger recovery is worth more work Higher CPU time and latency

Start with fast, measure on representative inputs, and choose robust where it materially improves your corpus. Avoid choosing a mode from synthetic benchmarks alone.

Supported barcode formats

CodaraScan 0.1.2 exposes 40 selectable barcode formats generated from the installed ZXing-C++ readable catalog: 27 linear/1D selections and 13 matrix/2D selections.

1D and linear barcodes

codabar, code-128, code-32, code-39, code-39-extended, code-39-standard, code-93, databar, databar-expanded, databar-expanded-stacked, databar-limited, databar-omni, databar-stacked, databar-stacked-omni, dx-film-edge, ean-13, ean-8, ean-upc, isbn, itf, itf-14, pzn, telepen, telepen-alpha, telepen-numeric, upc-a, upc-e.

2D and matrix barcodes

aztec, aztec-code, aztec-rune, compact-pdf417, data-matrix, maxicode, micro-pdf417, micro-qr-code, pdf417, qr-code, qr-code-model-1, qr-code-model-2, rmqr-code.

Inspect the catalog programmatically instead of hard-coding it:

from codarascan import supported_formats

groups = supported_formats()

for kind, formats in groups.items():
    print(kind, [item.name for item in formats])

Some selectors are semantic or family views, and clean-fixture coverage is not the same as production accuracy on blur, glare, damage, perspective, or poor quiet zones. See the compatibility notes and 0.1.0 format evidence.

Inputs and results

Image inputs

scan_image accepts:

  • str and pathlib.Path image paths;
  • encoded bytes, bytearray, and memoryview values;
  • Pillow images;
  • 2D uint8 grayscale NumPy arrays;
  • 3-channel BGR and 4-channel BGRA uint8 NumPy arrays.

EXIF orientation is applied to encoded and Pillow inputs. NumPy arrays are analyzed exactly as supplied and copied to isolate the scan from caller mutation.

PDF inputs

scan_document and iter_document accept PDF paths or encoded PDF bytes. Version 0.1 supports PDFs only through the document API; password-protected documents do not yet have a password parameter.

Geometry and payloads

Every symbol includes:

  • status and kind;
  • engine-specific confidence and contributing sources;
  • quad: four pixel-space points in top-left, top-right, bottom-right, bottom-left order;
  • normalized_quad: the same four points normalized by image width and height;
  • analyzed image_width and image_height.

A DecodedSymbolResult additionally includes format, text, its value alias, and exact raw_bytes.

Deterministic JSON

from codarascan import scan_image, to_json

result = scan_image("label.png", mode="robust")
print(to_json(result, indent=2))

to_json emits UTF-8, sorted keys, finite JSON numbers, and Base64-encoded raw bytes. JSON schemas and golden examples ship in codarascan/schemas for consumer contract tests.

Command-line interface

The codarascan CLI uses the same engines and result contract as the Python API.

# Scan an image and emit one JSON result
codarascan image shipping-label.png --mode fast --symbols all --json

# Restrict decoding to QR Code, Data Matrix, and Code 128
codarascan image mixed-label.png --formats qr-code,data-matrix,code-128 --json

# Return barcode locations without decoding payloads
codarascan image page.png --no-decode --json

# Scan selected PDF pages in parallel and stream NDJSON
codarascan document archive.pdf --pages 1-4,7 --workers auto --ndjson

Human-readable output is the default. --json emits one shared-schema result; --ndjson streams page objects and a final document summary. Standard output is reserved for results, while warnings and debug-output locations use standard error.

Exit code Meaning
0 Scan completed and found symbols
1 Scan completed successfully with no symbols
2 Invalid usage or input
3 Processing failure
4 Partial document result

Run codarascan image --help or codarascan document --help for every option.

Platform support

Official 0.1.2 wheels target:

Operating system Architectures Python
Linux glibc / manylinux x86_64, ARM64 CPython 3.11–3.14
macOS Intel x86_64, Apple Silicon ARM64 CPython 3.11–3.14
Windows x86_64 CPython 3.11–3.14

The native Tessera extension is included in supported wheels. If it cannot load, CodaraScan emits one warning and continues with the slower Python reference backend. Set CODARASCAN_FORCE_PYTHON=1 to exercise that path. Result metadata records the selected backend.

PyPy, CPython 3.10 and older, Alpine/musl, 32-bit systems, and Windows ARM64 are outside the initial support contract. See the full compatibility matrix.

Offline operation, privacy, and resources

Import, warm-up, image scanning, PDF rendering, CLI, and worker operations make no network requests and emit no telemetry. Default scans leave no persistent crops, overlays, rendered pages, or payload files.

Inputs, decoded payloads, diagnostics, and explicit debug output may still be sensitive. Applications should apply their own access control and retention policy.

CodaraScan intentionally imposes no hidden limits on input bytes, dimensions, pages, workers, CPU, memory, or result count. Large images, 300-DPI PDF rendering, broad format searches, diagnostics, and high worker counts can exhaust resources. Production callers own quotas, isolation, timeouts, admission control, and cancellation.

Frequently asked questions

How do I detect barcodes in a PDF with Python?

Install CodaraScan, create a Scanner, and call scanner.scan_document("file.pdf"). Use pages=[...] to select pages, workers="auto" for bounded parallel analysis, or iter_document to stream a large PDF without accumulating all page results.

Can CodaraScan find multiple barcodes in one image or document page?

Yes. Each image or page result contains a symbols tuple with zero, one, or multiple barcode detections. Each detection has its own status, kind, confidence, and quadrilateral.

Can it return barcode coordinates without reading the value?

Yes. Set decode=False in Python or pass --no-decode to the CLI. CodaraScan returns localization results with pixel and normalized quadrilaterals and does not expose payload attributes.

Is CodaraScan an offline barcode scanner?

Yes. Barcode detection, decoding, PDF rendering, the CLI, and the worker all run locally with no telemetry or network calls. No cloud account or API key is required.

Is CodaraScan a universal barcode reader?

It is a multi-format barcode detection layer with 40 selectable 1D and 2D formats in version 0.1.2. No honest scanner can guarantee every barcode under every capture condition, so CodaraScan publishes the exact catalog, evidence, and known limitations instead of making an unlimited compatibility claim.

Which mode should I use?

Begin with mode="fast" for lower latency. Evaluate mode="robust" when difficult inputs justify stronger recovery and extra computation. Benchmark both on your actual documents.

Is CodaraScan open source and usable commercially?

Yes. CodaraScan is released under the permissive Apache License 2.0. Review the license, notice, and third-party notices for the complete terms.

Documentation

The private codarascan _worker command provides a persistent, versioned, length-prefixed JSON protocol for backend adapters without opening a network port. It is not a public network service or a pre-1.0 stability promise.

Development and contributing

Contributions, reproducible bug reports, and representative barcode samples are welcome. Read CONTRIBUTING.md before opening a pull request.

git clone --recurse-submodules https://github.com/flh-raouf/codarascan.git
cd codarascan
python3.11 -m venv .venv
.venv/bin/python -m pip install -e ".[dev]"
.venv/bin/ruff check src/codarascan tests
.venv/bin/mypy
.venv/bin/python -m pytest
.venv/bin/python -m build

Research history remains under archive/ and benchmarks/; it is not installed as runtime package data.

Contact

CodaraScan is maintained by Abderraouf FELLAHI. For questions and bug reports, use GitHub Issues or email ma_fellahi@esi.dz.

License

CodaraScan is open-source software licensed under Apache-2.0. Third-party provenance is recorded in THIRD_PARTY_NOTICES.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codarascan-0.1.2.tar.gz (205.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

codarascan-0.1.2-cp314-cp314-win_amd64.whl (446.5 kB view details)

Uploaded CPython 3.14Windows x86-64

codarascan-0.1.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (251.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

codarascan-0.1.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (251.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

codarascan-0.1.2-cp314-cp314-macosx_11_0_arm64.whl (248.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

codarascan-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl (249.1 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

codarascan-0.1.2-cp313-cp313-win_amd64.whl (438.6 kB view details)

Uploaded CPython 3.13Windows x86-64

codarascan-0.1.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (251.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

codarascan-0.1.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (251.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

codarascan-0.1.2-cp313-cp313-macosx_11_0_arm64.whl (248.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

codarascan-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl (249.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

codarascan-0.1.2-cp312-cp312-win_amd64.whl (438.6 kB view details)

Uploaded CPython 3.12Windows x86-64

codarascan-0.1.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (251.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

codarascan-0.1.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (251.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

codarascan-0.1.2-cp312-cp312-macosx_11_0_arm64.whl (248.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

codarascan-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl (249.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

codarascan-0.1.2-cp311-cp311-win_amd64.whl (438.6 kB view details)

Uploaded CPython 3.11Windows x86-64

codarascan-0.1.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (251.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

codarascan-0.1.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (251.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

codarascan-0.1.2-cp311-cp311-macosx_11_0_arm64.whl (248.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

codarascan-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl (249.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file codarascan-0.1.2.tar.gz.

File metadata

  • Download URL: codarascan-0.1.2.tar.gz
  • Upload date:
  • Size: 205.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for codarascan-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f58e35058f98a73a407ddf2f5b705c54f02f9d246709b4ba7962daeddb94bbc8
MD5 bbe19cfdfec4c098bcc82f267ec3b9c3
BLAKE2b-256 e44fd8f8b58d80f1d450489d7ca8f6a11db06e8af2a3e29e9677007c30a44545

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2.tar.gz:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: codarascan-0.1.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 446.5 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for codarascan-0.1.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a49a129731551f6c75c094018ff08b34fb76c70a5a2b0e549238f21076415cc6
MD5 22d5b04bba2c054449675808b5c72f1b
BLAKE2b-256 1c197cd70cf349190cb20eaa61004077899b2bc5f8af76c9cad0d1ee255421fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp314-cp314-win_amd64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a1d66bc9a5ce1ecdff81c4e0a08ead1993bf86d60a8be6aca81d37a6e49b20d9
MD5 8c07b6dc96d28e22be990303dd6c7315
BLAKE2b-256 ea70a0a4f4414fa4c17544421888b7dfe0becdfb182c25a04ab12be45807a4ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5ca4f517fe6bccd51a990b7551e064901c63d24718b5856f7176c1176489ad25
MD5 5a9e30947562e306110abbd35c853233
BLAKE2b-256 a399d3de4d21db127c6636ffb8b21ed068dc7500cc0316bf2fbaf0d74ab2d123

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05cb5cacb79c9ad951ece443629b2340643a47c4b7b05f3a93a8b7c9295aa77f
MD5 b5d921cc37635b65440cb680d3e60be7
BLAKE2b-256 188c725b295ca678a1e18250fa9445eeaede9f4f29f1a05ff5a20c4a4167ccf2

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 60a73bf2e371352da6f64f924b85fcc8460e2c233f8021f7ea95dc285442d7ba
MD5 f5895b2bc074a600a67b5b4750d155d0
BLAKE2b-256 92084c044ef359cf2d41a34f79adb188c89fb3c4dd4887192d1e1ef96814b641

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: codarascan-0.1.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 438.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for codarascan-0.1.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b2faeceb96a54ad11a24c90bf47be9d76d15ed1aa31298a28fbe87fa65d86a44
MD5 e36662ad0ec0d36b20300b7241edafa0
BLAKE2b-256 d77ab30379466a1e8229a9ce644ddb1b72c6ef7a74a79ae33c6bf66542a8eade

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp313-cp313-win_amd64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52a55f744545fe18126c8815101112ad99256466141a7abb28b55817976b6c7e
MD5 b7d90bf7f984fd8a4800283fc49a9120
BLAKE2b-256 58a45c11fe6211d6b6b4cb4a736879688c68ba87ac411da4a401f7253c36666c

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7109266ed3c4ca9adee4c3d6101c90a2f6ea059b5d4c5c0dfb735ed51ef7ed2c
MD5 01b98fc324083d01d2c9494dfef14dd3
BLAKE2b-256 8cdac183f9a030ad379e664ee1a65e4418d76fb5b19f018ae05cb100e354ccaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08c4188fc697a051c1cbde59c164365b89f07ee767b75f8b83ea685822a8cd46
MD5 301ba00d0d68d4b26e1e5c09943fb66f
BLAKE2b-256 b1b9f3848996d3ba6c08e869014fe0215677afc1148997b7ccaba0412be48db3

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6178265729cef61ec06af7ce97618939425e7ff556ac3977d140ebb178ea9953
MD5 247ae0eed5e4b4be4e68f1bfdb203360
BLAKE2b-256 6165b7bb2b5c9fada0acec2deca25cfa009286b73efc93a57226a8ab0ac3f8cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: codarascan-0.1.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 438.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for codarascan-0.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 35bacaf6499cd9d58d6fb2f18d6478a7b1989f276058427ac002bd5f2835744e
MD5 ba5c2a26ffb56a0aae9c015794e8e41a
BLAKE2b-256 043c5b84c1a31e6f59b66347803246cd9ef4782e88decc334bc84229fb56508b

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp312-cp312-win_amd64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ffec1239cd85f1369d308b078f552e9df4e22d99e609e223db9f908744938460
MD5 54c6aba71eff5aa556d24bab0cd8882b
BLAKE2b-256 e7fd6b7c2f74a78c3b67e68a1825dbe37fcaf4b06d636fc6525d168cfe5a3be1

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 635dec0fa808a94187c88c01eb510d491f7c75be2a85946da4c39b138bb8cd7b
MD5 7d6a0d2f278c271ca5f791a11c71cbea
BLAKE2b-256 8f9ce0de9d45bbc2e31649f8f1fd10910d0d8bc6db0a06bd67814baf87a24529

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 438f9727f137f10663dea4f00db5e7d619b693a7350bca6dff8f5760529e0f96
MD5 59dffb45f6f227e6a253dd39335ccc81
BLAKE2b-256 fb9d31c9eecfd19666770b0df6135d2257e8665180a2afa9cd47c37d50284076

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 cc43e9e0e6ecb01b43289f91fb73a984c53bdfd254c4e7567fc2cca6e5305e50
MD5 70400c76b04b57823b657e033238b9d8
BLAKE2b-256 2ab80dd4ea58b5d9e851a374859a6391c4872b78b7a7bf45613d837010875eb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: codarascan-0.1.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 438.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for codarascan-0.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5d27def8584e0225bd2d3b8516f6a8883755d3a5ea01ed395e98cfd62855405d
MD5 b6a6041b7d490f9c1ababa7c4917536a
BLAKE2b-256 779bce57d3f5b80955cd195418b3039f95efc11d7f4bd2cd243b93213abf7a9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp311-cp311-win_amd64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a37575ee32926997dbdeb22783915ea931cc86cc855f61768103ae4a5f4ce95d
MD5 a57f98e77981e4861a432677841b37d4
BLAKE2b-256 0c846b809577e3ada8a767edc8a566af835aa126ef4961594ed9b8019b1a0390

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c43855d80cf6e7fdeef5015e04f7ad02320dd88419dd543cc3c0eecc240c6ff2
MD5 ef17c38a2417dd2ee05cbf0e80194b29
BLAKE2b-256 f69e460bec861f8bc95b89200e6f01a7cd9d3d19cd2b2992ca2e42124bdcc68a

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20dc43bb64f91ba257b3806d2a63d9886bab718d3dd886c847340a7da69bf15c
MD5 a66c8132d2975a79f629b9b37ad5a2ed
BLAKE2b-256 edc098d9621c70fb13a471cf077647dfe267ae837a45f8989a2a78f2d8bc253b

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on flh-raouf/codarascan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codarascan-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for codarascan-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 233a86dae969bb95892078ef34ddfabb9cadfb85ae8a3cd96d680f17aaf438ea
MD5 a7e0813be3c581e6b4ef3cd0977959f6
BLAKE2b-256 9ec4de1278d7ec6ea430261155b97a541210d5cb865905389d38381308ee8db1

See more details on using hashes here.

Provenance

The following attestation bundles were made for codarascan-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release.yml on flh-raouf/codarascan

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 Sentry Error logging StatusPage Status page