A previous release had provenance metadata, but this release does not. View details.
QuickQRForge
Generate URL QR codes as PNG files using either:
- an interactive terminal UI (TUI), or
- a script-friendly command-line interface (CLI).
The CLI is exposed via the
qrgencommand once the package is installed from PyPI; no additional setup is necessary.
Quick Start
pip install QuickQRForge
# after installing you can use either the full name or the short alias
qrgen https://example.com --output qr.png --scale 10
# or simply
qr https://example.com --output qr.png --scale 10
Features
- Interactive TUI mode
- Non-interactive CLI mode for app/script integration
- URL normalization (
https://auto-added when missing) - Input validation and meaningful exit codes
- GitHub Actions CI and basic test coverage
Installation
Install from PyPI (dependencies are handled automatically):
pip install QuickQRForge
After installation a cross‑platform
qrgenexecutable script will be placed on your PATH, allowing you to run the utility directly from the shell.
Optional: install/upgrade to the latest release:
pip install --upgrade QuickQRForge
Usage
TUI Mode
By default the command launches a simple screen-based interface using the
standard library curses module. You can tab between fields and press
Enter when finished – it looks like a little form rather than a sequence of
prompts.
If curses isn't available (for example, on stock Windows installs) the
package gracefully falls back to a line-by-line prompt instead; no additional
dependencies are required, though installing windows-curses will enable
the full screen UI on Windows.
qrgen # or: qrgen --tui
CLI Mode
Positional URL:
qrgen https://example.com
Flag-based URL:
qrgen --url https://example.com --output qr.png --scale 10
Example Usage
Generate qr.png from a URL using defaults:
qrgen https://example.com
Generate a QR code with a custom file name and scale:
qrgen https://openai.com --output openai-qr.png --scale 12
Use the flag-based URL argument (useful in scripts):
qrgen --url https://github.com --output github.png --scale 8
Start in interactive TUI mode:
qrgen --tui
Use in Python Code
The library can be imported directly in Python. The public API originally
lived in the qrgen module, but the package was renamed and the canonical
import path is now quickqrforge. The old module still exists and issues a
DeprecationWarning when imported, so you can update at your leisure.
import quickqrforge as qrf
qrf.generate_qr("https://example.com", "example.png")
You can still use the CLI via subprocess if you prefer:
import subprocess
subprocess.run([
"qrgen", "https://example.com", "--output", "example.png", "--scale", "12"
], check=True)
## CLI Arguments
- `url_pos` (optional positional): URL to encode
- `--url`: URL to encode (alternative to positional)
- `--output`: Output PNG file (default: `qr.png`)
- `--scale`: Positive integer image scale (default: `10`)
- `--tui`: Force interactive mode
## Exit Codes (CLI)
- `0`: success
- `1`: error (invalid input or generation failure)
## Development
Install from source:
```powershell
git clone https://github.com/Hibob555556/QRGenerator.git # repo name remains for now
cd QRGenerator # directory name unchanged after clone
pip install -e .
Run tests:
pytest -q
See:
Metadata
Release files for QuickQRForge 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Loss of provenance
These files do not have provenance metadata, despite files in a prior release including this data.
We recommend further investigation before installing these files. View details.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| quickqrforge-1.2.0.tar.gz | 10.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quickqrforge-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.7 kB
Release files / quickqrforge-1.2.0.tar.gz
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | quickqrforge-1.2.0.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ffe49b64d7d69b37fd19c8e9a9fc436fe6849d95c95e43b845f16c87da67ba40
|
|
BLAKE2b-256 checksum How to use checksums |
13e44a49499cabb025162bffbe923f95682cbf35ee02f5ecab647efb3b516a4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / quickqrforge-1.2.0-py3-none-any.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | quickqrforge-1.2.0-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab1b1fe32220f0197b19877ebf5d57490a50dd80499feb35550ed434d724ac92
|
|
BLAKE2b-256 checksum How to use checksums |
92f08d896655d33278c0f86efdc51208add7c71b2ae471f70cf8246452f86f7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for QuickQRForge 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Loss of provenance
A previous release of these files had provenance metadata, but this release does not.
While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.
Release comparison
- Removed 1.0.0 2 files With provenance
- Added 1.2.0 2 files Without provenance
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.