Metadata-Version: 2.4
Name: termstyle-uz
Version: 0.2.0
Summary: Terminal uchun yengil rang berish, jadval, spinner va progress bar kutubxonasi
Author: xasanboy
License: MIT
Keywords: terminal,color,table,spinner,progress bar,ansi
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# 🎨 termstyle-uz

Terminalni chiroylitish uchun **yengil Python kutubxonasi**.
termstyle-uz — terminalda rangli matn, chiroyli jadval, ramka (box), spinner
animatsiyasi va progress bar yaratishning oson yo'li.

> **Bog'liqlik YO'Q** — faqat Python'ning standart kutubxonasidan foydalanadi!

## 📋 Texnik ma'lumot

| Xususiyat       | Qiymat                    |
|-----------------|---------------------------|
| Versiya         | 0.2.0                     |
| Python talabi   | 3.8 va undan yuqori       |
| Tashqi kutubxona| **YO'Q** (nol dependency) |
| Fayl hajmi      | ~14 KB, bitta `.py` fayl  |
| Kross-platforma | Windows / macOS / Linux   |

## ⬇️ O'rnatish

```bash
pip install termstyle-uz
```

Import qilish:
```python
from termstyle_uz import TermStyle, Spinner, ProgressBar
```

## 🚀 Tez boshlash (Quick start)

```python
from termstyle_uz import TermStyle, Spinner, ProgressBar
```

### 1. Rangli matn va statuslar
```python
print(TermStyle.color("Oddiy ko'k matn", "blue"))
print(TermStyle.color("Qalin yashil", "green", bold=True))
print(TermStyle.success("Muvaffaqiyatli!"))   # ✔ Muvaffaqiyatli!
print(TermStyle.error("Xatolik!"))            # ✖ Xatolik!
print(TermStyle.warn("Diqqat!"))              # ⚠ Diqqat!
print(TermStyle.info("Ma'lumot"))             # ℹ Ma'lumot
```

### 2. Ramka (box)
```python
TermStyle.print_box("Salom, Dunyo!\nBu termstyle kutubxonasi.")
TermStyle.print_box("Markazlashtirilgan matn", center=True)

text = TermStyle.box("Qaytarilgan string")  # string sifatida olish
```

### 3. Jadval (table)
```python
headers = ["ID", "Ism", "Kasbi", "Maosh ($)"]
data = [[1, "Ali", "Dasturchi", 1500],
        [2, "Vali", "Dizayner", 1200]]

TermStyle.print_table(headers, data)
TermStyle.print_table(headers, data, align=["l", "l", "l", "r"])
```

### 4. Sarlavha va ajratuvchi
```python
TermStyle.heading("Bo'lim nomi")        # ═══════ BO'LIM NOMI ═══════
TermStyle.print_rule(width=40)          # ────────────────────
```

### 5. Spinner (yuklanish animatsiyasi)
```python
import time

with Spinner("Ulanmoqda..."):       # with-blok chiqmas jarayonni to'xtatadi
    time.sleep(3)
# ✔ Tayyor!  (avtomatik chiqadi)

# Eski usul ham ishlaydi:
sp = Spinner("Yuklanmoqda...")
sp.start()
time.sleep(3)
sp.stop("Ulanish hosil qilindi!")
```

### 6. Progress bar (foiz, ETA)
```python
total = 100
with ProgressBar(total, "Yuklanmoqda...") as pb:
    for i in range(total):
        time.sleep(0.01)
        pb.update()
# Fayllar ko'chirilmoqda... |██████████| 100/100 100.0% 1s / Qolgan: 0s
```

### 7. Rangli input va rainbow
```python
ism = TermStyle.color_input("Ismingizni kiriting: ", "cyan")
TermStyle.print_rainbow("Salom!")   # har biri boshqa rangda
```

### 8. Ranglarni o'chirish (log/fayl uchun)
```python
TermStyle.disable_colors()   # barcha ANSI kodlarini olib tashlaydi
...                          # matnlarni faylga yozish yoki log uchun
TermStyle.enable_colors()    # qaytga yoqing
```

## 📚 API qisqacha

| Funksiya / sinf                              | Vazifasi                          |
|----------------------------------------------|-----------------------------------|
| `TermStyle.color(text, name, bold, ...)`      | Matnga rang/uslub beradi         |
| `TermStyle.success/error/warn/info(text)`     | ✔ ✖ ⚠ ℹ belgilari bilan          |
| `TermStyle.print_box(text, color, center)`    | Ramka ichida ko'rsatadi           |
| `TermStyle.print_table(headers, rows, align)` | Jadval chizadi                    |
| `TermStyle.heading(text)` / `.print_rule(w)`  | Sarlavha / chiziq                 |
| `TermStyle.rainbow(text)`                     | Har harfini boshqa rangda         |
| `TermStyle.color_input(prompt)`               | Rangli `input()`                  |
| `TermStyle.disable_colors()`                  | Ranglarni o'chiradi               |
| `Spinner(message)`                            | Yuklanish animatsiyasi            |
| `ProgressBar(total, message)`                 | Foizli progress bar               |

## 📄 Litsenziya

MIT
