Skip to main content

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

Project description

Qelagram Logo

Qelagram

An elegant, modern, and asynchronous Telegram MTProto API framework in Python.

PyPI version Python Versions License Telegram Channel


Qelagram is a high-performance Telegram MTProto API framework designed for Python developers who value elegance and efficiency. It enables seamless interaction with the Telegram network using user accounts (custom clients) or bot identities.

Developed and maintained by Qelaro and Souvik Nandi, Qelagram offers a premium developer experience with full type hints, modern asyncio design, and robust fallback layers.

🚀 Key Features

  • Fully Asynchronous: Native asyncio implementation for high-concurrency event loops.
  • 💎 Elegant & Clean: Complicated MTProto structures are abstracted into intuitive, developer-friendly methods.
  • 🏎️ Optimized Cryptography: Speed is boosted by TgCrypto, a native C extension for ultra-fast AES and SHA calculations.
  • 🎯 Full Type-Safety: Fully type-hinted methods and objects, providing rich IDE auto-completion and static analysis.
  • 🛠️ Powerful Client: Execute low-level MTProto queries using raw invokes, alongside high-level abstractions.

📦 Installation

Install Qelagram easily via pip:

pip install -U qelagram

⚡ Boost Performance (Optional)

To enable hardware-accelerated cryptographic routines, compile and install tgcrypto:

pip install tgcrypto

💻 Quick Start

Create a client session and listen for private messages:

from qelagram import Client, filters

# Initialize client (saves session to my_account.session)
app = Client("my_account")

@app.on_message(filters.private & filters.text)
async def reply_handler(client, message):
    # Respond to incoming private text messages
    await message.reply("Hello from Qelagram!")

# Start the client event loop
app.run()

When running the script for the first time, you will be prompted via the terminal to input your credentials (phone number and Telegram login code).


📚 Resources

  • 📖 Official Website: qelaro.in
  • 📝 Guides & API Documentation: Docs
  • 📢 News & Updates Channel: @qelagram

⚖️ License & Copyright

  • License: GNU Lesser General Public License v3 or later (LGPLv3+)
  • Copyright: © 2025-present qelaro.in and Souvik Nandi. All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qelagram-2.0.106.tar.gz (377.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qelagram-2.0.106-py3-none-any.whl (4.7 MB view details)

Uploaded Python 3

File details

Details for the file qelagram-2.0.106.tar.gz.

File metadata

  • Download URL: qelagram-2.0.106.tar.gz
  • Upload date:
  • Size: 377.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for qelagram-2.0.106.tar.gz
Algorithm Hash digest
SHA256 208da144e2a432c677b4cadad0f30df7aa4f121b3e42de6fc85b2f4765240d6b
MD5 f902f32458a9302b57a3d95c86248969
BLAKE2b-256 3cd3aaf6fa6e266020f0661e26d3231c67b13f933cdae4f7f19cf2adfa258610

See more details on using hashes here.

File details

Details for the file qelagram-2.0.106-py3-none-any.whl.

File metadata

  • Download URL: qelagram-2.0.106-py3-none-any.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for qelagram-2.0.106-py3-none-any.whl
Algorithm Hash digest
SHA256 f90516aa4174f79ac0320a01c0740accd1215ecc7455c80c9b980838d32147c9
MD5 24e89ca5dc2076a186b87346af10f42c
BLAKE2b-256 1747c839e3fec88a30fdb6af076cb14790ea582783b8a71f7d536e50ebc364aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page