Metadata-Version: 2.1
Name: srigram
Version: 2.4.1
Summary: Fork of pyrogram. Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots
Project-URL: Channel, https://t.me/OriginalSrijan
Project-URL: Documentation, https://t.me/srigram
Project-URL: Developer, https://t.me/SrijanMajumdar
Author-email: SrijanMajumdar <srijanae028@gmail.com>
License-File: COPYING
License-File: COPYING.LESSER
License-File: NOTICE
Keywords: telegram chat messenger mtproto api client library python
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
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: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Communications
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: ~=3.10
Requires-Dist: pyaes==1.6.1
Requires-Dist: pymediainfo<7.0.0,>=6.0.1
Requires-Dist: pysocks==1.7.1
Provides-Extra: dev
Requires-Dist: hatch>=1.7.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.1; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
Requires-Dist: pytest>=7.4.3; extra == 'dev'
Requires-Dist: twine>=4.0.2; extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-autobuild; extra == 'docs'
Requires-Dist: sphinx-copybutton; extra == 'docs'
Requires-Dist: sphinx-immaterial==0.12.5; extra == 'docs'
Requires-Dist: tornado>=6.3.3; extra == 'docs'
Provides-Extra: speedup
Requires-Dist: tgcrypto>=1.2.6; extra == 'speedup'
Requires-Dist: uvloop>=0.19.0; extra == 'speedup'
Description-Content-Type: text/markdown

<div align="center">
    <h1>Srigram</h1>
    <b>High-Performance Telegram MTProto API Framework for Python</b>
    <br>
    <br>

[![PyPI version](https://img.shields.io/pypi/v/srigram?color=blue&logo=pypi&logoColor=white)](https://pypi.org/project/srigram/)
[![Python versions](https://img.shields.io/pypi/pyversions/srigram?logo=python&logoColor=white)](https://pypi.org/project/srigram/)
[![License](https://img.shields.io/github/license/SrijanMajumdar/srigram)](https://github.com/SrijanMajumdar/srigram/blob/main/LICENSE)
[![Telegram Support](https://img.shields.io/badge/Telegram-Support%20Chat-blue?logo=telegram)](https://t.me/Srigram)

</div>

<br>

> **Srigram** is an elegant, asynchronous, and deeply customizable Python framework built directly on top of the Telegram MTProto API. It empowers developers to build highly scalable bots and user accounts with minimal boilerplate.

---

## ⚡️ Why Srigram?

When building production-grade Telegram applications, you need a framework that doesn't just work, but stays ahead of the curve. 

* **Modern UI Support:** Natively supports the latest Telegram UI updates, including Bot API 9.4+ colored keyboards (`primary`, `danger`, `success`) and Custom Premium Emojis directly on buttons.
* **High-Concurrency Ready:** Engineered from the ground up on Python's `asyncio` to handle thousands of concurrent updates seamlessly.
* **Unified Ecosystem:** Write identical, intuitive code for both standard Bot Accounts and User Accounts (Userbots). 
* **Direct MTProto Access:** Built for power users. Drop down to raw MTProto schema methods whenever you need precise control over Telegram's backend.

## ⚙️ Installation

Install Srigram and its core dependencies via PyPI:

```bash
pip install -U srigram
```
*Requires Python 3.8 or higher.*

## 🚀 Quick Start

### 1. The Standard Bot
Building a highly responsive bot takes less than 15 lines of code.

```python
from srigram import Client, filters

app = Client(
    "my_bot",
    api_id=1234567,
    api_hash="your_api_hash_here",
    bot_token="your_bot_token"
)

@app.on_message(filters.command("start") & filters.private)
async def hello(client, message):
    await message.reply_text("Hello from Srigram! 🚀")

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

### 2. Advanced: Smart Keyboards & Custom Emojis
Srigram makes it incredibly easy to utilize advanced Telegram UI features natively.

```python
from srigram import Client, filters
from srigram.types import InlineKeyboardMarkup, InlineKeyboardButton

@app.on_message(filters.command("menu"))
async def send_menu(client, message):
    keyboard = InlineKeyboardMarkup(
        [
            [
                InlineKeyboardButton(
                    "Confirm Action", 
                    callback_data="confirm", 
                    style="success", # Renders a green button
                    icon_custom_emoji_id=5368324170671202286 # Native premium emoji support
                )
            ]
        ]
    )
    
    await message.reply_text("Please confirm your action below:", reply_markup=keyboard)
```

## 🤝 Contributing & Support

Srigram is actively maintained and thrives on community feedback. Whether you are hunting bugs, proposing features, or just want to show off what you've built:

* **Issue Tracker:** [Report bugs or request features](https://github.com/SrijanMajumdar/srigram/issues)
* **Community & News:** [Join the Srigram Telegram Channel](https://t.me/Srigram)

---
<div align="center">
    <i>Engineered with ❤️ by Srijan Majumdar.</i>
</div>
