Metadata-Version: 2.5
Name: Harukagram
Version: 2.3.1
Summary: Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots
Project-URL: Source, https://github.com/harukasen/harukagram
Project-URL: Issues, https://github.com/harukasen/harukagram/issues
Author-email: Dan <dan@pyrogram.org>
Maintainer: harukasen
License-Expression: LGPL-3.0-or-later
License-File: COPYING
License-File: COPYING.lesser
Keywords: api,chat,client,library,messenger,mtproto,python,telegram
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
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: 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.8
Requires-Dist: harukacrypto<=2.0.6; python_version >= '3.10'
Requires-Dist: pyaes<=1.6.1
Requires-Dist: python-socks[asyncio]<=2.8.1
Provides-Extra: dev
Requires-Dist: hatch<=1.17.0; extra == 'dev'
Requires-Dist: keyring<=25.7.0; extra == 'dev'
Requires-Dist: pre-commit<=4.6.2; extra == 'dev'
Requires-Dist: pytest-asyncio<=1.4.0; extra == 'dev'
Requires-Dist: pytest-cov<=7.1.0; extra == 'dev'
Requires-Dist: pytest-timeout<=2.4.0; extra == 'dev'
Requires-Dist: pytest<=9.1.1; extra == 'dev'
Requires-Dist: ruff<=0.16.3; extra == 'dev'
Requires-Dist: twine<=6.2.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: pygments<=2.20.0; extra == 'docs'
Requires-Dist: shibuya<=2026.5.19; extra == 'docs'
Requires-Dist: sphinx-autobuild<=2025.8.25; extra == 'docs'
Requires-Dist: sphinx-copybutton<=0.5.2; extra == 'docs'
Requires-Dist: sphinx-design<=0.7.0; extra == 'docs'
Requires-Dist: sphinx-iconify<=0.3.0; extra == 'docs'
Requires-Dist: sphinx<=9.1.0; extra == 'docs'
Provides-Extra: fast
Requires-Dist: harukacrypto<=2.0.6; (python_version >= '3.10') and extra == 'fast'
Requires-Dist: uvloop<=0.22.1; (sys_platform == 'darwin' or sys_platform == 'linux') and extra == 'fast'
Description-Content-Type: text/markdown

<p align="center">    <br>    <b>Telegram MTProto API Framework for Python</b>
    <br>
    <br/>
    <br/>
    <a href="https://github.com/harukasen/harukagram/releases">
        <img src="https://img.shields.io/github/v/release/harukasen/harukagram?logo=github&label=release" alt="Latest GitHub release">
    </a>
    <a href="https://github.com/harukasen/harukagram/blob/dev/COPYING.lesser">
        <img src="https://img.shields.io/badge/license-LGPL--3.0-blue.svg" alt="LGPL-3.0 license">
    </a>
    <a href="https://github.com/harukasen/harukagram">
        <img src="https://img.shields.io/badge/python-3.8%2B-blue.svg" alt="Python 3.8 or newer">
    </a>
</p>

## Harukagram

> Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots

Harukagram is an independent **fork of [Kurigram](https://github.com/KurimuzonAkuma/kurigram)**, adapted and rebranded to use HarukaCrypto while preserving the Pyrogram-compatible API. It provides support for the latest Telegram features, including Gifts, Stories, Topics, Business Accounts, and more.

```python
from pyrogram import Client, filters

app = Client("my_account")


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


app.run()
```

**Harukagram** is a modern, elegant and asynchronous [MTProto API](https://core.telegram.org/mtproto)
framework. It enables you to easily interact with the main Telegram API through a user account (custom client) or a bot
identity (bot API alternative) using Python.

### Key Features

- **Ready**: Install Harukagram with pip and start building your applications right away.
- **Easy**: Makes the Telegram API simple and intuitive, while still allowing advanced usages.
- **Elegant**: Low-level details are abstracted and re-presented in a more convenient way.
- **Fast**: Boosted up by [HarukaCrypto](https://pypi.org/project/HarukaCrypto), a high-performance cryptography library written in Rust.
- **Type-hinted**: Types and methods are all type-hinted, enabling excellent editor support.
- **Async**: Fully asynchronous (also usable synchronously if wanted, for convenience).
- **Powerful**: Full access to Telegram's API to execute any official client action and more.

### Installing

Stable version

``` bash
pip install harukagram
```

Dev version

``` bash
pip install https://github.com/harukasen/harukagram/archive/dev.zip --force-reinstall
```

