Metadata-Version: 2.4
Name: toopdf
Version: 0.2.0
Summary: PDF tools CLI — translate, convert, merge, split, OCR, compress and more
Project-URL: Homepage, https://github.com/toopdf/toopdf
Project-URL: Repository, https://github.com/toopdf/toopdf
Project-URL: Issues, https://github.com/toopdf/toopdf/issues
Author: Toopdf Contributors
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Requires-Dist: cryptography>=41.0
Requires-Dist: httpx>=0.27
Requires-Dist: loguru>=0.7
Requires-Dist: pydantic>=2.0
Requires-Dist: python-dotenv>=1.0
Requires-Dist: rich>=13.7
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: mypy>=1.8; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-mock>=3; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Description-Content-Type: text/markdown

# Toopdf

Brauzersiz PDF bilan ishlash vositasi. Terminal orqali PDF tarjima, konvertatsiya va boshqa amallar.

## Imkoniyatlar

- **30+ PDF vosita** — tarjima, konvertatsiya, merge, split, OCR, watermark, encrypt/unlock
- **Batch ishlov** — bir necha faylni birdaniga qayta ishlash
- **Chiroyli CLI** — progress bar, rangli output, avtoto'ldirish
- **Stealth** — brauzerdek soxta headerlar, delay, cookie saqlash
- **Xavfsiz** — input validatsiya, rate limiting, shifrlangan cookie'lar

## O'rnatish

```bash
pip install toopdf
```

## Ishlatish

```bash
# Vositalar ro'yxati
toopdf list

# PDF tarjima (en → uz)
toopdf translate test.pdf --from en --to uz

# PDF konvertatsiya
toopdf convert pdf-to-word test.pdf
toopdf convert pdf-to-jpg test.pdf

# PDF yuklash (qayta ishlashsiz)
toopdf upload test.pdf

# Batch ishlov
toopdf batch *.pdf --tool pdf-to-word

# Konfiguratsiya
toopdf config

# Yordam
toopdf --help
toopdf translate --help
```

## Xavfsizlik

| Xususiyat | Tavsif |
|-----------|--------|
| Input validatsiya | Fayl yo'li, til kodi, vosita nomi tekshiriladi |
| File size limit | Katta fayllar rad etiladi (sozlash mumkin) |
| Path traversal | `../` bloklanadi |
| Rate limiting | So'rovlar soni cheklangan (sozlash mumkin) |
| Encrypted cookies | Shifrlangan cookie saqlash |
| Logging | Barcha hodisalar yoziladi |

## Konfiguratsiya

`.env` fayl orqali yoki environment variable'lar bilan:

```env
TOOPDF_MAX_FILE_SIZE_MB=50
TOOPDF_RATE_LIMIT_PER_MINUTE=10
TOOPDF_LOG_LEVEL=INFO
```

## Loyiha tuzilmasi

```
toopdf/
├── src/
│   └── toopdf/
│       ├── __init__.py      # Paket init
│       ├── cli.py            # CLI interfeys (typer)
│       ├── client.py         # Asosiy kutubxona (httpx)
│       ├── config.py         # Konfiguratsiya (pydantic)
│       └── exceptions.py     # Xatolik klasslari
├── tests/
│   ├── conftest.py           # Pytest fixture'lar
│   ├── test_client.py        # Client testlari
│   └── test_cli.py           # CLI testlari
├── pyproject.toml
└── README.md
```

## Testlar

```bash
pip install -e ".[dev]"
pytest
```

## Litsenziya

MIT
