pyqrcodex 1.0.0
Library Python sederhana untuk membuat dan membaca QR Code dari nol.
Requires Python: >=3.13

# 🧩 myqrcode 4.0  
### 🔥 QR Code Generator & Decoder — 100% Tanpa GUI, Super Lengkap, dan Siap Produksi  

![Python](https://img.shields.io/badge/Python-3.7%2B-blue)
![License](https://img.shields.io/badge/license-MIT-green)
![Status](https://img.shields.io/badge/build-passing-success)
![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey)

---

## 🧠 Tentang Proyek

`myqrcode` adalah **library Python buatan sendiri** untuk membuat dan membaca QR Code secara **mandiri dan sepenuhnya tanpa GUI**.  
Didesain untuk digunakan di **terminal, server headless, dan lingkungan scripting otomatis**, library ini mampu:

- 📤 **Membuat QR Code** dari teks apa pun  
- 📥 **Mendekode QR Code** kembali ke teks  
- 🧱 **Error Correction (Reed–Solomon)** untuk ketahanan data  
- 🎨 **Custom warna isi & latar belakang**  
- 🖼️ **Logo tengah (seperti WhatsApp)**  
- 💾 **Ekspor dalam format PNG dan biner (`.bin`)**  
- 💻 **100% tanpa GUI — berbasis CLI dan script Python murni**

---

## 🚀 Fitur Utama

| Fitur | Deskripsi |
|-------|------------|
| 🧠 Encode & Decode | Mendukung encoding teks menjadi QR dan decoding kembali |
| 🧩 Reed–Solomon Correction | Menambahkan lapisan perlindungan data |
| 🎨 Warna Custom | Ubah warna isi dan latar QR |
| 🖼️ Logo Tengah | Tempelkan logo PNG di tengah QR |
| 🧾 Output Ganda | Simpan ke `.png` dan `.bin` |
| 🖥️ ASCII Terminal | Lihat QR langsung di terminal |
| 🔒 CLI Tanpa GUI | Tanpa Tkinter, Qt, atau GUI lainnya |
| ⚙️ Modular API | Dapat digunakan langsung dalam kode Python |
| 📋 Logging Warna | Menampilkan proses dengan warna (INFO, SUCCESS, WARN, ERROR) |

---

## 🧩 Instalasi

### 🔹 Dari Folder Lokal
```bash
git clone https://github.com/username/myqrcode.git
cd myqrcode
pip install .
```

### 🔹 Dari File ZIP
```bash
pip install myqrcode-4.0.zip
```

---

## 💻 Cara Penggunaan

### 🧠 1. Generate QR Code

```bash
myqrcode generate --text "ATHALLAH 2025" --output athallah.png --fill "#2ECC71" --bg "white" --ascii --binary
```

💡 **Penjelasan opsi**:

| Opsi | Keterangan |
|-------|------------|
| ``--text`` | Teks yang akan diubah menjadi QR |
| ``--output`` | Nama file output (default: qrcode.png) |
| ``--fill`` | Warna isi QR |
| ``--bg`` | Warna latar belakang QR |
| ``--ascii`` | Menampilkan QR di terminal |
| ``--binary`` | Menyimpan versi biner (.bin) dari QR |
| ``--logo`` | (Opsional) Path ke file logo PNG |

### 📥 2. Decode QR Code

```bash
myqrcode decode --input athallah.png
```

Output:

```yaml
[12:31:01] [SUCCESS] Berhasil decode: ATHALLAH 2025
ATHALLAH 2025
```

### 🧩 Contoh Penggunaan dalam Kode Python

```python
from myqrcode import QRCode, decode_qr

# Membuat QR Code
qr = QRCode(
    data="ATHALLAH PYTHON PROJECT",
    fill_color="#3498db",
    back_color="#ecf0f1",
    logo_path="logo.png"
)
qr.show_ascii()         # tampilkan di terminal
qr.save("project_qr.png")
qr.export_binary("project_qr.bin")

# Membaca QR Code kembali
hasil = decode_qr("project_qr.png")
print("Hasil decoding:", hasil)
```

## 🧰 Struktur Proyek

```bash
myqrcode/
├── myqrcode/
│   ├── __init__.py
│   ├── cli.py
│   ├── core.py
│   ├── decoder.py
│   ├── encoder.py
│   ├── generator.py
│   ├── logger.py
│   ├── utils.py
│   └── error_correction.py
│
├── setup.py
├── tests/
│   └── test_myqrcode.py
└── README.md
```

## 🧩 Pengujian (Testing)

Untuk menjalankan semua test:

```bash
pytest tests/
```

Atau jalankan manual:
```bash
python -m myqrcode.cli generate --text "TEST" --ascii
python -m myqrcode.cli decode --input qrcode.png
```

## 🧠 Arsitektur Internal

```bash
+-------------------+
|  CLI Interface    |
+-------------------+
         ↓
+-------------------+
|  Generator Class  |
+-------------------+
         ↓
+-------------------+
|  Encoder + EC     |
+-------------------+
         ↓
+-------------------+
|  Matrix Builder   |
+-------------------+
         ↓
+-------------------+
|  Decoder Module   |
+-------------------+
```

## 🤝 Kontribusi

Kontribusi sangat diterima!\n
Silakan fork repository ini dan buat pull request.

Langkah:

```git
git clone https://github.com/username/myqrcode.git
git checkout -b fitur-baru
# Edit kode
git commit -m "Menambahkan fitur baru"
git push origin fitur-baru
```

## 🪪 Lisensi

Lisensi: MIT License \n
Dibuat oleh ATHALLAH RAJENDRA PUTRA JUNIARTO

## 💬 Kontak

📧 Email: your.email@example.com

🌐 GitHub: https://github.com/Athallah1234

## ⭐ Jangan lupa beri bintang di GitHub jika kamu suka proyek ini!