Install & Compatibility
Where this runs
tested against v2.3.69 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 2.156s · 54.7MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 4.9s · import 1.900s · 55MB
53MB installed
● package 53MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Client
✓ from pyrogram import Client
✗ from pyrofork import Client
PyroFork uses the same module name as Pyrogram: 'pyrogram'. Do NOT import from 'pyrofork'.
Basic async client initialization. Ensure API_ID and API_HASH are set.
import asyncio
from pyrogram import Client
api_id = os.environ.get('API_ID', '')
api_hash = os.environ.get('API_HASH', '')
async def main():
async with Client("my_account", api_id=api_id, api_hash=api_hash) as app:
await app.send_message("me", "Hello from PyroFork!")
asyncio.run(main())
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'pyrofork'
Attempting to import from 'pyrofork' instead of 'pyrogram'.
fixInstall pyrofork package, but use 'from pyrogram import ...'.
ConnectionError: Unable to connect to Telegram
Missing or incorrect API_ID/API_HASH, or firewall blocking MTProto.
fixEnsure API_ID and API_HASH are correct and network allows MTProto (port 443).
Upgrade
Version history
2.3.69latest on PyPI · released Dec 10, 2025
Audit
Dependencies
No dependency data recorded yet.