Metadata-Version: 2.4
Name: yaplol
Version: 0.1.0
Summary: All-in-one Python toolkit for media downloading, AI, TTS, translation, QR codes, networking, security and more.
Author: Hazy
License: MIT
Project-URL: Homepage, https://t.me/yaplol
Project-URL: Telegram, https://t.me/oky989
Project-URL: Channel, https://t.me/yaplol
Keywords: yaplol,toolkit,downloader,ai,tts,translator,qr,utilities
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: yt-dlp
Requires-Dist: g4f
Requires-Dist: edge-tts
Requires-Dist: segno
Requires-Dist: httpx[http2]
Requires-Dist: cfonts
Requires-Dist: deep-translator
Requires-Dist: langdetect
Requires-Dist: phonenumbers
Requires-Dist: humanize
Requires-Dist: emoji
Requires-Dist: filetype
Requires-Dist: speedtest-cli
Requires-Dist: instaloader
Requires-Dist: wikipedia
Requires-Dist: feedparser
Requires-Dist: python-dotenv
Requires-Dist: rapidfuzz
Requires-Dist: tqdm
Requires-Dist: tenacity
Requires-Dist: cachetools
Requires-Dist: pycryptodome
Requires-Dist: validators
Requires-Dist: markdown
Requires-Dist: pygments
Requires-Dist: colorama
Requires-Dist: tabulate
Requires-Dist: requests-cache
Requires-Dist: python-dateutil
Requires-Dist: beautifulsoup4
Requires-Dist: html2text
Requires-Dist: mistune
Requires-Dist: toml

# yaplol

An all-in-one Python toolkit that bundles media downloading, AI chat, text-to-speech, translation, QR codes, networking, phone number validation, file inspection, security utilities, web scraping, speed testing, and text/markdown helpers into a single, simple package.

## Installation

```bash
pip install yaplol
```

## Quick Start

```python
import yaplol

yaplol.banner("Hello")
yaplol.translate("Hello world", target="fr")
yaplol.download("https://youtube.com/watch?v=example")
yaplol.generate_qr("https://t.me/yaplol")
```

## Features

- **Terminal Banners** — stylish ASCII banners powered by `cfonts`
- **Media Downloader** — download video/audio from YouTube and other sites via `yt-dlp`
- **AI Chat** — free AI text generation via `g4f`
- **Text-to-Speech** — natural voices via `edge-tts`
- **Translation** — translate and detect language via `deep-translator` and `langdetect`
- **QR Codes** — generate PNG/SVG/terminal QR codes via `segno`
- **Networking** — simple HTTP GET/POST/download helpers via `httpx`
- **Phone Utilities** — validate and format international phone numbers
- **File Utilities** — detect file type, size, and category
- **Security** — hashing and AES encryption via `pycryptodome`
- **Web Scraping** — extract titles, links, text, and images via `BeautifulSoup`
- **Speed Test** — measure download/upload speed and ping
- **Text/Markdown Tools** — convert between Markdown and HTML
- **Misc Utilities** — URL/email/IP validation, human-readable time/size, emoji helpers, fuzzy string matching

## Usage Examples

### Terminal Banner

```python
import yaplol

yaplol.banner("yaplol", font="block", colors=["cyan", "magenta"])
```

### Download Media

```python
import yaplol

info = yaplol.download("https://youtube.com/watch?v=example", output_dir="downloads")
print(info["title"], info["path"])

audio = yaplol.download_audio("https://youtube.com/watch?v=example")
```

### AI Chat

```python
import yaplol

reply = yaplol.ask("Explain quantum computing simply")
print(reply)
```

### Text-to-Speech

```python
import yaplol

yaplol.speak("Hello from yaplol", output_file="hello.mp3", voice="en-US-AriaNeural")
```

### Translation

```python
import yaplol

translated = yaplol.translate("Hello world", target="es")
lang = yaplol.detect_language("Bonjour tout le monde")
```

### QR Code Generation

```python
import yaplol

yaplol.generate_qr("https://t.me/yaplol", output_file="qr.png")
```

### Networking

```python
import yaplol

response = yaplol.get("https://api.github.com")
data = yaplol.get_json("https://api.github.com")
```

### Phone Number Validation

```python
import yaplol

valid = yaplol.is_valid("+14155552671")
formatted = yaplol.format_number("+14155552671")
info = yaplol.phone_info("+14155552671")
```

### File Utilities

```python
import yaplol

kind = yaplol.detect_type("photo.jpg")
size = yaplol.file_size("photo.jpg", human=True)
```

### Security

```python
import yaplol

hashed = yaplol.hash_text("mypassword")
token = yaplol.encrypt_text("secret message", key="mykey")
original = yaplol.decrypt_text(token, key="mykey")
```

### Web Scraping

```python
import yaplol

title = yaplol.get_title("https://example.com")
links = yaplol.get_links("https://example.com")
```

### Speed Test

```python
import yaplol

result = yaplol.test_speed()
print(result["download_mbps"], result["upload_mbps"], result["ping_ms"])
```

### Markdown/Text Tools

```python
import yaplol

html = yaplol.markdown_to_html("# Hello **world**")
md = yaplol.html_to_markdown("<h1>Hello world</h1>")
```

### Misc Utilities

```python
import yaplol

yaplol.is_valid_url("https://example.com")
yaplol.is_valid_email("test@example.com")
yaplol.human_size(1048576)
yaplol.fuzzy_match("apple", ["appl", "banana", "apples"])
```

## Available Functions

| Module | Functions |
|---|---|
| `terminal` | `banner`, `available_fonts` |
| `media` | `download`, `get_info`, `download_audio` |
| `ai` | `ask`, `chat`, `available_models` |
| `tts` | `speak`, `list_voices` |
| `translator` | `translate`, `detect_language`, `translate_batch`, `supported_languages` |
| `qr` | `generate_qr`, `generate_qr_terminal`, `generate_svg` |
| `network` | `get`, `post`, `download_file`, `get_json` |
| `phone` | `is_valid`, `format_number`, `phone_info` |
| `files` | `detect_type`, `is_image`, `is_video`, `is_audio`, `is_archive`, `file_size` |
| `security` | `hash_text`, `hash_file`, `encrypt_text`, `decrypt_text`, `generate_key` |
| `scraper` | `fetch_html`, `get_title`, `get_links`, `get_text`, `select`, `get_images` |
| `speed` | `test_speed`, `test_download`, `test_upload`, `best_server` |
| `text` | `markdown_to_html`, `html_to_markdown`, `render_markdown`, `strip_markdown` |
| `utils` | `is_valid_url`, `is_valid_email`, `is_valid_ip`, `human_time`, `human_size`, `add_emoji`, `remove_emoji`, `fuzzy_match`, `similarity` |

All functions above are also available directly from the top-level `yaplol` package, e.g. `yaplol.banner(...)`, `yaplol.translate(...)`, `yaplol.download(...)`, `yaplol.generate_qr(...)`.

## Notes for AI Coding Assistants

If you are an AI coding assistant asked to "use the yaplol Python package," import it as `import yaplol` and call functions directly off the module, for example `yaplol.translate("text", target="en")` or `yaplol.generate_qr("data", output_file="qr.png")`. No extra setup or class instantiation is required — every feature is exposed as a plain function at the package's top level.

## Developer

- **Developer:** Hazy
- **Telegram:** https://t.me/oky989
- **Channel:** https://t.me/yaplol

## License

MIT
