Skip to main content

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, and template: 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 NamQRError subclasses.

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


Download files

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

Source Distribution

namqr-0.1.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

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

namqr-0.1.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

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

Hashes for namqr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 eb88e72cc04e21fc6d81c661d0ba31f13f6e23d4cf6d748a8b07678a10aeff6c
MD5 9b7722f8a90c8048ae911c2b6c064585
BLAKE2b-256 5b35585cb0ce9e0f43f5d6c5cd17e70d6c2751a287c141b58d56a8d2df03aafd

See more details on using hashes here.

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

Hashes for namqr-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbf6a1433ba1e5ede5f9549f0affe9deb45ffc3c9cabf21e9751b32266900831
MD5 e1076184000278fee61a2ed39b12c6bf
BLAKE2b-256 1c942c87a25f63faa3037b77b23e73f2e6bf3560c3e734d96eef07aef9487df6

See more details on using hashes here.

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