Skip to main content

wzgram

PyPI Python Downloads License Documentation

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

wzgram is a drop-in replacement for Pyrogram — your existing from pyrogram import ... code works without changes, with access to the latest Telegram features including Gifts, Stories, Topics, Business Accounts, and more.

from pyrogram import Client, filters

app = Client("my_account")


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


app.run()

wzgram is a modern, elegant and asynchronous MTProto API 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

  • Drop-in Replacement — Use from pyrogram import ...; existing codebases migrate with zero import changes.
  • Up-to-Date — Supports Gifts, Stories, Topics, Business Accounts, Giveaways, and the latest Telegram layer.
  • Async Natively — Fully async/await throughout. Also usable synchronously via app.run() for convenience.
  • Type-hinted — Every type and method is annotated for excellent editor support.
  • Fast — Boosted by WarpCrypto, a high-performance cryptography library written in Rust.
  • Powerful — Full access to Telegram's API for any official client action and more.

Example with Inline Keyboard

from pyrogram import Client, filters
from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton

app = Client("my_bot")


@app.on_message(filters.command("start"))
async def start(client, message):
    await message.reply(
        "Choose an option:",
        reply_markup=InlineKeyboardMarkup([
            [
                InlineKeyboardButton("Website", url="https://example.com"),
                InlineKeyboardButton("Help", callback_data="help"),
            ],
            [InlineKeyboardButton("About", callback_data="about")],
        ])
    )


app.run()

Installing

pip install wzgram

For better performance:

pip install wzgram[fast]

Development

# Clone the repo
git clone https://github.com/rjriajul/wzgram.git
cd wzgram

# Install uv (if not already)
pip install uv

# Create virtual environment with dev dependencies
uv sync --frozen --extra dev

# Generate TL API types
uv run poe api

# Run tests
uv run poe test

Documentation

Full documentation at https://rjriajul.github.io/wzgram

Resources

Download files

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

Source Distribution

wzgram-3.0.29.tar.gz (615.3 kB view details)

Uploaded Source

Built Distribution

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

wzgram-3.0.29-py3-none-any.whl (5.8 MB view details)

Uploaded Python 3

File details

Details for the file wzgram-3.0.29.tar.gz.

File metadata

  • Download URL: wzgram-3.0.29.tar.gz
  • Upload date:
  • Size: 615.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for wzgram-3.0.29.tar.gz
Algorithm Hash digest
SHA256 9762cb5ddb7f97ad908b93e7cf213287ef5c550dfedab781a7d21b4c5326b0ec
MD5 89a1a9a6430752dbd5ab7b94542faa71
BLAKE2b-256 751b7b2c854dacfaa4ed7604131f32e20db19d211751ce4617038a0aee5a22bc

See more details on using hashes here.

File details

Details for the file wzgram-3.0.29-py3-none-any.whl.

File metadata

  • Download URL: wzgram-3.0.29-py3-none-any.whl
  • Upload date:
  • Size: 5.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for wzgram-3.0.29-py3-none-any.whl
Algorithm Hash digest
SHA256 2c326c2e2a01e2a6d10f3a51cc608e7517993e5c409559238d0bdbdae996db85
MD5 b2b6be99db52e62612c8b7078249e43e
BLAKE2b-256 7b3fba0f55ab430c2694d407035d89df83aa0c3c3e7d1434d1d852654553ae81

See more details on using hashes here.

Release history Release notifications | RSS feed

3.1.1

2 files

3.1.0

2 files

3.0.36

2 files

3.0.35

2 files

3.0.34

2 files

3.0.33

2 files

3.0.32

2 files

3.0.31

2 files

3.0.30

2 files

This release

3.0.29 This release

2 files

3.0.28

2 files

3.0.27

2 files

3.0.26

2 files

3.0.25

2 files

3.0.24

2 files

3.0.23

2 files

3.0.22

2 files

3.0.21

2 files

3.0.20

2 files

3.0.19

2 files

3.0.18

2 files

3.0.17

2 files

3.0.16

2 files

3.0.15

2 files

3.0.14

2 files

3.0.13

2 files

3.0.12

2 files

3.0.11

2 files

3.0.10

2 files

3.0.9

2 files

3.0.8

2 files

3.0.7

2 files

3.0.6

2 files

3.0.5

2 files

3.0.4

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

2.2.23

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page