Metadata-Version: 2.4
Name: qtech
Version: 1.0.0
Summary: A unified Python package for accessing multiple Telegram, Bale, Rubika, Eitaa and Shad libraries through one namespace.
Author: SepehrKarimi
License: MIT
Keywords: qtech,telegram,bale,rubika,eitaa,shad,telegram,bot,python,telegram-bot,telegram-self,shad-self,bale-bot,bale-self,rubika-bot,rubika-self,eitaa-bot,eitaa-self
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://drive.google.com/uc?export=view&id=1qVejYm6f6udKaaxopc6sRCQozPzQ1acf" width="180" alt="QTech Logo">
</p>

<h1 align="center">QTech</h1>

`qtech` is a unified Python package that brings multiple libraries from the **Telegram, Bale, Rubika, and Eitaa ecosystems** under a single namespace.

Instead of installing and importing each bundled library through its original package name, you can access them through `qtech`:

```python
from qtech import telegram_self
from qtech import telegram_bot
from qtech import bale_self
```

---

## ✨ Features

* 🎯 One unified namespace
* 📦 Multiple messaging libraries in one package
* 🔌 Original library code remains available
* 🧩 Separate modules for each ecosystem
* 🚀 Simple imports
* 🛠️ Suitable for bots and self clients
* 📚 Independent documentation links for every module
* 🐍 Python 3.9+

---

# 📥 Installation

Install `qtech` directly from PyPI:

```bash
pip install qtech
```

After installation:

```python
import qtech
```

---

# 🚀 Quick Start

Import the library you need through `qtech`:

```python
from qtech import telegram_self
from qtech import telegram_bot
from qtech import bale_self
from qtech import shad_self
from qtech import bale_bot
from qtech import rubika_self
from qtech import rubika_bot
from qtech import eitaa_self
from qtech import eitaa_bot
```

Each module represents a separate bundled library.

---

# 📚 Modules

| qtech Module    | Ecosystem | Original Library |
| --------------- | --------- | ---------------- |
| `telegram_self` | Telegram  | telethon         | 
| `telegram_bot`  | Telegram  | aiogram          | 
| `bale_self`     | Bale      | aioBale          | 
| `bale_bot`      | Bale      | python-bale-bot  | 
| `shad_self`     | Shad      | shadism          | 
| `rubika_self`   | Rubika    | rubika           | 
| `rubika_bot`    | Rubika    | rubka            |
| `eitaa_self`    | Eitaa     | eitaa-cli        | 
| `eitaa_bot`     | Eitaa     | eitaa            | 

> Replace each `https://test.ir` with the documentation URL of the corresponding module.

---

# 🔵 Telegram

## `qtech.telegram_self`

Telegram self-client functionality through the bundled **telethon** library.

```python
from qtech import telegram_self

client = telegram_self.TelegramClient(...)
```

📖 **Documentation:**
`https://docs.telethon.dev/en/stable/`

---

## `qtech.telegram_bot`

Telegram bot development through the bundled **aiogram** library.

```python
from qtech import telegram_bot

bot = telegram_bot.Bot(...)
```

📖 **Documentation:**
`https://docs.aiogram.dev/en/dev-3.x/`

---

# 🟡 Bale

## `qtech.bale_self`

Bale self-client functionality through the bundled **aiobale** library.

```python
from qtech import bale_self
```

📖 **Documentation:**
`https://aminmadaniofficial.github.io/aiobale/`

---

## `qtech.bale_bot`

Bale bot development through the bundled **python-bale-bot** library.

```python
from qtech import bale_bot

bot = bale_bot.Bot(...)
```

📖 **Documentation:**
`https://docs.python-bale-bot.ir/en/stable/`

---

# 🟢 Shad

## `qtech.shad_self`

Shad self-client functionality through the bundled **shadism** library.

```python
from qtech import shad_self
```

📖 **Documentation:**
`https://shadism.spark-js.ir/`

---

# 🟣 Rubika

## `qtech.rubika_self`

Rubika self-client functionality through the bundled **rubika** library.

```python
from qtech import rubika_self
```

📖 **Documentation:**
`https://github.com/Bahman-Ahmadi/rubika`

---

## `qtech.rubika_bot`

Rubika bot development through the bundled **rubka** library.

```python
from qtech import rubika_bot
```

📖 **Documentation:**
`https://github.com/Mahdy-Ahmadi/rubka/tree/main`

---

# 🔴 Eitaa

## `qtech.eitaa_self`

Eitaa self-client functionality through the bundled eitaa-cli library.

```python
from qtech import eitaa_self

from qtech.eitaa_self.eitaa_cli import EitaaClient
```

📖 **Documentation:**
`https://github.com/EhsanAhmadzadeh/eitaa-cli/blob/main/docs/getting-started.md`

---

## `qtech.eitaa_bot`

Eitaa bot functionality through the bundled eitaa-cli library.

```python
from qtech import eitaa_bot
```

📖 **Documentation:**
`https://bistcuite.github.io/eitaapykit/`

---

# 🧩 Unified Namespace

The main purpose of `qtech` is providing a consistent top-level namespace.

Instead of:

```python
import telethon
import aiogram
import aiobale
import shadism
```

you can use:

```python
from qtech import telegram_self
from qtech import telegram_bot
from qtech import bale_self
from qtech import shad_self
```

This keeps your project imports organized around one package.

---

# 📦 Project Structure

```text
qtech/
│
├── __init__.py
│
├── telegram_self/
│   └── telethon/
│
├── telegram_bot/
│   └── aiogram/
│
├── bale_self/
│   └── aiobale/
│
├── bale_bot/
│   └── bale/
│
├── shad_self/
│   └── shadism/
│
├── rubika_self/
│
├── rubika_bot/
│
├── eitaa_self/
│   └── eitaa_cli/
│
└── eitaa_bot/
```

---

# ⚙️ Dependencies

`qtech` does not attempt to install every possible dependency of every bundled library automatically.

Individual libraries may require additional packages.

For example, if a library requires HTTP/2 support for `httpx`, install its required dependency:

```bash
python -m pip install "httpx[http2]"
```

The required dependencies depend on which `qtech` module you actually use.

> Check the documentation of each module for its specific requirements.

---

# 🧪 Testing

You can test an individual module independently.

Example:

```python
from qtech import eitaa_self

print("qtech.eitaa_self loaded successfully")
```

For a specific library, install its required dependencies first and then run its corresponding examples.

---

# 🏗️ Building

Install the build tools:

```bash
python -m pip install --upgrade build twine
```

Build the package:

```bash
python -m build
```

The generated distributions will be placed inside:

```text
dist/
```

---

# 🚀 Publishing to PyPI

Build the package:

```bash
python -m build
```

Then upload the generated distributions:

```bash
python -m twine upload dist/*
```

---

# 📝 Version

Current version:

```text
1.0.0
```

---

# 🐍 Python Support

`qtech` targets:

```text
Python 3.9+
```

Individual bundled libraries may have their own Python-version requirements.

---

# 📄 License

`qtech` is distributed under the **MIT License**.

The bundled libraries remain subject to their respective original licenses.

Before redistributing or modifying a bundled library, review the license terms of that library.

---

# 👤 Author

**SepehrKarimi**

---

<div align="center">

**qtech**

One namespace for multiple Python messaging libraries.

</div>
