Metadata-Version: 2.5
Name: atlib-telegram
Version: 1.0.1
Summary: Advanced Telegram Bot Library — production-ready asynchronous framework for the official Telegram Bot API
Project-URL: Homepage, https://github.com/rezamoradi-ux/ATLib
Project-URL: Documentation, https://github.com/rezamoradi-ux/ATLib#readme
Project-URL: Repository, https://github.com/rezamoradi-ux/ATLib
Author: ATLib Contributors
License: MIT
License-File: LICENSE
Keywords: api,async,bot,framework,telegram
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
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 :: Communications :: Chat
Requires-Python: >=3.10
Requires-Dist: httpx<1,>=0.27
Requires-Dist: pydantic<3,>=2.0
Provides-Extra: asgi
Requires-Dist: starlette>=0.37; extra == 'asgi'
Requires-Dist: uvicorn>=0.30; extra == 'asgi'
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Provides-Extra: dotenv
Requires-Dist: python-dotenv>=1.0; extra == 'dotenv'
Provides-Extra: full
Requires-Dist: asyncpg>=0.29; extra == 'full'
Requires-Dist: python-dotenv>=1.0; extra == 'full'
Requires-Dist: redis>=5; extra == 'full'
Requires-Dist: starlette>=0.37; extra == 'full'
Provides-Extra: postgres
Requires-Dist: asyncpg>=0.29; extra == 'postgres'
Provides-Extra: redis
Requires-Dist: redis>=5; extra == 'redis'
Description-Content-Type: text/markdown

# ATLib — Advanced Telegram Bot Library

**Version 1.0.0** · Official Telegram Bot API · Async · Production-oriented

ATLib is a modular asynchronous Python framework for building Telegram bots using the **official Telegram Bot API**. It does not depend on user account sessions or unofficial clients.

## Features

- Async HTTP transport with connection pooling, rate limiting and retries
- Full update processing (long polling)
- Router / handler system with composable filters
- Inline & reply keyboard builders (including documented style fields)
- Custom (Premium) emoji entities with correct UTF-16 offsets
- Rich message builders (Bot API 10.1+)
- Finite State Machine with Memory and SQLite storage
- Mini App `initData` HMAC validation
- Typed configuration, token redaction, structured logging
- CLI (`atlib doctor`, `atlib init`, …)
- Dual-language docs (English + Persian)

## Installation

```bash
pip install atlib-telegram
# or from source
pip install .
```

Optional extras:

```bash
pip install "atlib-telegram[redis,postgres,dotenv,asgi]"
```

## Quick start

```python
import os
from atlib import Application, Command

app = Application(token=os.environ["BOT_TOKEN"])

@app.router.message(Command("start"))
async def start(ctx):
    await ctx.answer("Hello from ATLib!")

if __name__ == "__main__":
    app.run_polling()
```

## API compatibility

Verified against **Telegram Bot API 10.3** (August 2026 changelog).  
See [API_COVERAGE.md](API_COVERAGE.md) for the method matrix.

## Documentation

| Document | Description |
|----------|-------------|
| [QUICKSTART](docs/QUICKSTART.md) | First bot |
| [HANDLERS](docs/HANDLERS.md) | Routers & handlers |
| [FILTERS](docs/FILTERS.md) | Filters |
| [FSM](docs/FSM.md) | State machine |
| [KEYBOARDS](docs/KEYBOARDS.md) | Keyboards |
| [CUSTOM_EMOJI](docs/CUSTOM_EMOJI.md) | Premium emoji |
| [SECURITY](docs/SECURITY.md) | Security notes |
| [README.fa.md](README.fa.md) | مستندات فارسی |

## License

MIT
