skillfed

Kurigram

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

kurigram v2.2.24 86.8K downloads/30d#13,835 on PyPI796
Copyleft license LGPL-3.0-or-later Active released

What it is and what it does

Kurigram is a maintained fork of Pyrogram that provides an asynchronous Python interface to Telegram's MTProto API. It abstracts low-level protocol details while giving you full access to Telegram's official client actions, supporting both user accounts and bot identities. The framework is type-hinted, async-first (with optional synchronous convenience wrappers), and designed to be a drop-in replacement for Pyrogram.

You use it to build Telegram clients and bots in Python by defining message handlers, managing conversations, and calling Telegram API methods through a clean, Pythonic interface. It depends on pyaes for encryption and python-socks for proxy support, and is built on top of high-performance C-based cryptography (TgCrypto) for speed. The package supports modern Python versions (3.8 through 3.14) and is actively maintained with recent feature additions.

Use it for:

  • Build a Telegram bot that responds to messages, handles commands, and manages conversations without running a separate bot API server.
  • Create a user client that automates Telegram account actions like sending messages, managing groups, or monitoring channels.
  • Develop applications that need access to Telegram features like Stories, Topics, or Business Accounts that may not be available through the official Bot API.
  • Implement a Telegram client with custom business logic, such as message filtering, forwarding, or analytics.
  • Build multi-account Telegram automation tools that interact with the protocol directly rather than through HTTP endpoints.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Kurigram is an asynchronous Python framework for interacting with Telegram's MTProto API, enabling you to build user clients and bots that access Telegram features including Gifts, Stories, Topics, and Business Accounts.

Yes, if you need direct MTProto access to Telegram or want a Pyrogram replacement. Kurigram has low install friction, active maintenance, no known vulnerabilities, and broad Python version support. The copyleft license (LGPL-3.0) is permissive for most use cases but requires derivative works to remain open-source. Install it if you're building Telegram bots or clients; skip it if you only need the official Bot API or prefer a simpler HTTP-based wrapper.

Install

kurigram on PyPI

pip

pip install kurigram

uv

uv add kurigram

poetry

poetry add kurigram

Installing Kurigram

Before you install

Low install friction with only two runtime dependencies (pyaes, python-socks). Actively maintained with recent commits and a stable production release status; last release 34 days old.

License in practice

Licensed under LGPL-3.0-or-later (copyleft). You may use and modify the package freely, but any derivative work must also be released under a compatible copyleft license.

Quickstart

pip install kurigram

from kurigram import Client, filters

app = Client("my_account")

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

app.run()

Requires Python 3.8 or later; asynchronous runtime (asyncio) needed for full functionality, though synchronous usage is available for convenience.

Verify before relying

  • Whether TgCrypto (the C-based cryptography dependency mentioned in the description) is automatically installed or requires separate setup.
  • Compatibility guarantees with official Telegram API changes and how quickly Kurigram tracks new Telegram features.
  • Performance characteristics and rate-limiting behavior compared to the original Pyrogram.

Package facts

License LGPL-3.0-or-later (copyleft)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 2 — pyaes, python-socks
Maintenance actively maintained — 34 days since the last release
Last repo commit
First released
Downloads 86,812/month — #13,835 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: kurigram-2.2.24-py3-none-any.whl

Keywords: api, chat, client, library, messenger, mtproto, python, telegram

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Natural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: ImplementationProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: CommunicationsTopic :: Communications :: ChatTopic :: InternetTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Application FrameworksTopic :: Software Development :: Libraries :: Python Modules

Tags

telegram mtproto api pythontelegram bot framework asynctelegram client librarypyrogram fork telegramtelegram api wrapper pythontelegram bot developmenttelegram user client
telegram-apiasync-frameworkmtproto

More Libraries packages