Skip to main content
wzgram

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.33.tar.gz (956.2 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.33-py3-none-any.whl (5.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wzgram-3.0.33.tar.gz
  • Upload date:
  • Size: 956.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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.33.tar.gz
Algorithm Hash digest
SHA256 1a4620c12a267d4c8f60721ffbbc65118fd0057786561102c254322db3be4d36
MD5 52004ddaf7602143626850d6639ea7d3
BLAKE2b-256 3f0d8148afd402a01165cacde0a6a52a4447c2c5e4e5961e19c2979f371e2651

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wzgram-3.0.33-py3-none-any.whl
  • Upload date:
  • Size: 5.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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.33-py3-none-any.whl
Algorithm Hash digest
SHA256 b3101463a78c2b69b5771f296bf36b26c9d419561f222666d2eac404110d837f
MD5 e270c4fc16f20faa0c4a47a7f980bace
BLAKE2b-256 60bba42739478a0cc3c371e73bb96b2b58cf92eef26c8578111901392cfbcefc

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

This release

3.0.33 This release

2 files

3.0.32

2 files

3.0.31

2 files

3.0.30

2 files

3.0.29

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