Professional QR Code Toolkit for Developers and Power Users
Project description
NamQR
Professional QR Code Toolkit for Developers and Power Users.
NamQR is a typed Python CLI for generating, scanning, analyzing, exporting, and
organizing QR codes. The command layer is intentionally thin: business logic
lives in namqr.core, while the Typer CLI handles input and presentation.
Install
pip install namqr
For image and camera scanning extras:
pip install "namqr[scan]"
Quick Start
namqr create "https://example.com" --output example.png
namqr create --type wifi --ssid "Office WiFi" --password "correct horse battery staple"
namqr scan example.png
namqr analyze example.png
namqr history list
namqr stats
namqr doctor
Commands
NamQR exposes the project roadmap as first-class commands:
create: generate QR codes from plain text, URLs, WiFi, email, phone, SMS, geo, vCard, MeCard, WhatsApp, Telegram, Discord, Zoom, Meet, Teams, crypto, UPI, PayPal, calendar, file/folder links, app/social links, and custom data.scan: decode a single image, multiple images, folders, recursive folders, clipboard content, PDFs, GIFs, videos, and camera sources when optional scan dependencies are installed.analyze: inspect decoded content, image dimensions, hash, detected type, color hints, quality signals, and duplicate status.export: convert QR payloads to PNG, SVG, PDF, EPS, ASCII, UTF-8 block text, Base64, clipboard text, or ZIP.batch: generate QR codes from CSV, JSON, TXT, SQLite, Excel, clipboard, or folder sources.history,favorite,stats,config,doctor,plugins, andtemplate: manage the local SQLite workspace and automation surface.
Some advanced scanning modes are implemented as optional integrations. When a dependency or platform feature is unavailable, NamQR reports the exact missing capability instead of crashing.
Development
python -m pip install -e ".[dev,scan]"
ruff check .
black --check .
mypy src
pytest
namqr --help
Release
Always publish to TestPyPI first:
python -m pip install -U ".[release]"
ruff check .
black --check .
mypy src
pytest
python -m build
twine check dist/*
twine upload --repository testpypi dist/*
After installing and checking the TestPyPI build, publish the same artifacts to PyPI:
twine upload dist/*
Architecture
- CLI code lives in
src/namqr/cli.py. - Core business logic lives under
src/namqr/core. - SQLite persistence is isolated in
core/database.py. - Payload formatting is centralized in
core/payloads.py. - Optional integrations raise friendly
NamQRErrorsubclasses.
Status
This repository is scaffolded as a production-oriented foundation for NamQR. The command surface is complete, typed, and testable; advanced device scanning and highly custom module rendering are intentionally dependency-backed so the core remains stable across Windows, Linux, and macOS.
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 namqr-0.1.0.tar.gz.
File metadata
- Download URL: namqr-0.1.0.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb88e72cc04e21fc6d81c661d0ba31f13f6e23d4cf6d748a8b07678a10aeff6c
|
|
| MD5 |
9b7722f8a90c8048ae911c2b6c064585
|
|
| BLAKE2b-256 |
5b35585cb0ce9e0f43f5d6c5cd17e70d6c2751a287c141b58d56a8d2df03aafd
|
File details
Details for the file namqr-0.1.0-py3-none-any.whl.
File metadata
- Download URL: namqr-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbf6a1433ba1e5ede5f9549f0affe9deb45ffc3c9cabf21e9751b32266900831
|
|
| MD5 |
e1076184000278fee61a2ed39b12c6bf
|
|
| BLAKE2b-256 |
1c942c87a25f63faa3037b77b23e73f2e6bf3560c3e734d96eef07aef9487df6
|