Metadata-Version: 2.4
Name: rubpy
Version: 7.1.21
Summary: A powerful, fast and optimal library for making robots in Rubika with sync and async support.
Home-page: https://github.com/shayanheidari01/rubika
Author: Shayan Heidari
Author-email: contact@shayanheidari.info
Keywords: rubika,rubpy,chat,bot,robot,asyncio
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
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: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Topic :: Internet
Classifier: Topic :: Communications
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: ~=3.7
Description-Content-Type: text/markdown
Requires-Dist: aiohttp
Requires-Dist: pycryptodome
Requires-Dist: aiofiles
Requires-Dist: markdownify
Requires-Dist: mutagen
Provides-Extra: cv
Requires-Dist: opencv-python; extra == "cv"
Provides-Extra: movie
Requires-Dist: numpy; extra == "movie"
Requires-Dist: moviepy; extra == "movie"
Requires-Dist: pillow; extra == "movie"
Provides-Extra: pil
Requires-Dist: pillow; extra == "pil"
Provides-Extra: rtc
Requires-Dist: aiortc; extra == "rtc"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<p align="center">
  <a href="https://github.com/shayanheidari01/rubika">
    <img src="https://raw.githubusercontent.com/shayanheidari01/rubika/master/icon.png" width="128" alt="Rubpy Logo" />
  </a>
  <br><br>
  <strong><font size="+2">Rubpy</font></strong><br>
  <em>Asynchronous & elegant Python framework for the Rubika API</em>
  <br><br>
  <a href="https://github.com/shayanheidari01/rubika">🏠 Homepage</a> •
  <a href="https://rubpy.shayan-heidari.ir/">📘 Documentation</a> •
  <a href="https://pypi.org/project/rubpy/#history">📦 Releases</a> •
  <a href="https://rubika.ir/rubikapy">🗞 News</a>
</p>

---

## 🌟 Rubpy

> **Modern. Elegant. Asynchronous.**  
> A clean Pythonic interface to interact with Rubika's API — for both **users** and **bots**.

---

### 🚀 Async Example
```python
from rubpy.bot import BotClient, filters

app = BotClient("bot_token")


@app.on_update(filters.private)
async def hello(client, message):
    await message.reply("Hello from Rubpy!")


app.run()
```

### 🚀 Async Example
```python
from rubpy import Client, filters
from rubpy.types import Update

bot = Client(name='rubpy')

@bot.on_message_updates(filters.text)
async def updates(update: Update):
    print(update)
    await update.reply('`hello` __from__ **rubpy**')
  

bot.run()
```

**Minimal Async:**
```python
from rubpy import Client
import asyncio

async def main():
    async with Client(name='rubpy') as bot:
        result = await bot.send_message('me', '`hello` __from__ **rubpy**')
        print(result)

asyncio.run(main())
```

---

### ⚡ Sync Example
```python
from rubpy import Client

bot = Client('rubpy')

@bot.on_message_updates()
def updates(message):
    message.reply('`hello` __from__ **rubpy**')

bot.run()
```

**Minimal Sync:**
```python
from rubpy import Client

with Client(name='rubpy') as client:
    result = client.send_message('me', '`hello` __from__ **rubpy**')
    print(result)
```

---

### ✨ Why Rubpy?

- 📦 **Ready** — Install with pip and start instantly
- 🧠 **Easy** — Clean, intuitive, and beginner-friendly
- 💅 **Elegant** — Beautifully abstracted low-level details
- 🚀 **Fast** — Powered by high-performance `pycryptodome`
- 🔁 **Async First** — Full async design, with sync support
- 💪 **Powerful** — Everything the official client can do — and more

---

### 📦 Installation

```bash
pip install -U rubpy
```

---

### 📣 Stay Connected

- [Rubika Channel](https://rubika.ir/rubikapy)
- [Project Homepage](https://github.com/shayanheidari01/rubika)
