Phone scanner, document archive and sync for urirun — scanner://, document sync, artifact admin
Project description
urirun-connector-scanner
AI Cost Tracking
- 🤖 LLM usage: $0.0434 (3 commits)
- 👤 Human dev: ~$200 (2.0h @ $100/h, 30min dedup)
Generated on 2026-07-05 using openrouter/qwen/qwen3-coder-next
Phone scanner, document archive & sync — connector ekosystemu
ifURI / urirun.
Schematy URI: scanner://, document://, dashboard:// (phone-scanner / QR)
Capture documents from a phone over the LAN, run the OCR + metadata pipeline, deduplicate and archive them, and sync the archive to a node — all addressed by URI. This package holds the scanner pipeline, the document archive/sync logic, and the artifact-admin helpers.
Opis
The scanner pipeline ingests a phone capture, runs OCR + LLM/regex metadata extraction, fingerprints the result for dedup, registers it as an artifact, and can sync the document archive to another node.
Routes / URIs produced and served:
| URI | Co robi |
|---|---|
scanner://host/capture/<digest> |
a captured frame (artifact URI) |
scanner://host/session/<digest> |
a scan session |
document://host/... |
an archived document |
document://host/archive/command/sync-to-node |
sync the document archive to a node |
dashboard://host/phone-scanner/command/start |
start the phone-scanner service |
dashboard://host/service/phone-scanner/command/restart |
restart it |
dashboard://host/qr/... |
LAN QR codes (open the scanner on a phone) |
fs://{target}/file/command/write-b64 · query/read-b64 |
move small PDFs to/from a node |
Modules: scanner_bridge.py (pipeline + artifact registration), scanner_service.py
/ scanner_net.py (phone-scanner service + LAN URLs), document_sync.py +
document_metadata.py (archive + metadata), artifacts_admin.py (artifact admin).
Wiring
This package is a library, not a standalone urirun.bindings scheme connector
(so it has no urirun.bindings entry point — that is by design, not a gap). It is
consumed by the urirun-service-scanner service, which registers under
[project.entry-points."urirun.services"] and whose service_manifest() declares
the scanner:// / dashboard:// / service:// routes. The phone scanner runs on
:8196; run the service (urirun-service-scanner serve) to expose the routes, which
the host dashboard also drives.
The library deliberately does not depend on the hub urirun package. That keeps
the dependency edge clean so the hub can later replace its bundled
urirun_scanner/* fallback with thin shims to this package without creating a
release-cycle (urirun -> scanner -> urirun).
Wymagania
- python: Python 3.10+
- optional: PaddleOCR / Tesseract for OCR; an LLM (
llm://) for metadata extraction (regex fallback otherwise);urirun-artifactsfor the archive schema.
Instalacja (dev)
pip install -e .
PYTHONPATH=. pytest -q
Powiązane
- urirun — rdzeń ekosystemu
- urirun-connector-ocr · urirun-connector-smart-crop — pipeline OCR/crop
- urirun-connector-docid — dedup / document identity
License
Licensed under Apache-2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file urirun_connector_scanner-0.1.4.tar.gz.
File metadata
- Download URL: urirun_connector_scanner-0.1.4.tar.gz
- Upload date:
- Size: 55.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a528b36319af103394bee869723e372cefd3b2d4b41779afccec61b10aed3c9e
|
|
| MD5 |
8ace035e8bb8aa8e95f43f94cc10b3ec
|
|
| BLAKE2b-256 |
8bcc385c46809002672879a8ef4b809c0822e76f92b4298363fa71f3e57a28cc
|
File details
Details for the file urirun_connector_scanner-0.1.4-py3-none-any.whl.
File metadata
- Download URL: urirun_connector_scanner-0.1.4-py3-none-any.whl
- Upload date:
- Size: 52.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
399580066f7b24295627d7fa32a75717a9e5c95f2108543ccb5466f3b12c51fa
|
|
| MD5 |
5182fa44864da17282e05a0d7482de85
|
|
| BLAKE2b-256 |
35032e6b7f819c12e39408288d9a37f3cf144fad1bed4a8786f6aa44709eac4b
|