Skip to main content

Yet Another Async client API for the Telegram Calls.

Project description

pytgcalls logo

A simple and elegant client that allows you to make group voice calls quickly and easily.
Examples Documentation PyPi Channel Chat

PyTgCalls PyPI Downloads

This project allows making Telegram call using MtProto and WebRTC, this is possible thanks to the power of NTgCalls library and @evgeny-nadymov

Example Usage

from pytgcalls import PyTgCalls
from pytgcalls import idle
...
chat_id = -1001185324811
app = PyTgCalls(client)
app.start()
app.play(
    chat_id,
    'http://docs.evostream.com/sample_content/assets/sintel1m720p.mp4',
)
idle()

Features

  • Prebuilt wheels for macOS, Linux and Windows.
  • Supporting all type of MTProto libraries: Pyrogram, Telethon and Hydrogram.
  • Work with voice chats in channels and chats.
  • Join as channels or chats.
  • Mute/unmute, pause/resume, stop/play, volume control and more...
  • 🆕 Advanced Memory Management: Automatic memory leak prevention and monitoring
  • 🆕 Cache Optimization: Intelligent cache cleanup and management
  • 🆕 Resource Cleanup: Proper shutdown and resource management

Memory Management Features

PyTgCalls now includes advanced memory management to prevent memory leaks:

# Initialize with memory management
call_py = PyTgCalls(
    app,
    enable_memory_manager=True,  # Enable automatic memory management
    memory_cleanup_interval=300,  # Cleanup every 5 minutes
    cache_duration=3600,  # Cache duration 1 hour
)

# Monitor memory usage
stats = call_py.get_memory_stats()
print(f"Memory Usage: {stats['usage']['rss_mb']:.1f} MB")

# Force cleanup
await call_py.force_cleanup()

# Proper shutdown
await call_py.shutdown()

For detailed memory management documentation, see MEMORY_MANAGEMENT.md.

Requirements

  • Python 3.9 or higher.
  • An MTProto Client
  • A Telegram API key.
  • Optional: psutil for memory monitoring features

How to install?

Here's how to install the PyTgCalls lib, the commands are given below:

# With Git
pip install git+https://github.com/pytgcalls/pytgcalls -U

# With PyPi (Recommended)
pip install anthraleia-pytgcalls -U

# With memory monitoring features
pip install "anthraleia-pytgcalls[memory-monitoring]" -U

Key Contributors

  • @Laky-64 (DevOps Engineer, Software Architect):
    • Played a crucial role in developing PyTgCalls being an ex developer of pyservercall and of tgcallsjs.
    • Automation with GitHub Actions
  • @kuogi (Senior UI/UX designer, Documenter):
    • As a Senior UI/UX Designer, Kuogi has significantly improved the user interface of our documentation, making it more visually appealing and user-friendly.
    • Played a key role in writing and structuring our documentation, ensuring that it is clear, informative, and accessible to all users.
  • @vrumger (Senior Node.js Developer, Software Architect):
    • Has made important fixes and enhancements to the WebRTC component of the library, improving its stability and performance.
    • Main developer of TgCallsJS
  • @alemidev (Senior Python Developer):
    • Has made important fixes and enhancements to the async part of the library

Junior Developers

  • @TuriOG (Junior Python Developer):
    • Currently working on integrating NTgCalls into PyTgCalls, an important step in expanding the functionality and usability of the library.

Special Thanks

  • @evgeny-nadymov: A heartfelt thank you to Evgeny Nadymov for graciously allowing us to use their code from telegram-react. His contribution has been pivotal to the success of this project.

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

anthraleia_pytgcalls-1.0.11.tar.gz (54.7 kB view details)

Uploaded Source

Built Distribution

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

anthraleia_pytgcalls-1.0.11-py3-none-any.whl (89.4 kB view details)

Uploaded Python 3

File details

Details for the file anthraleia_pytgcalls-1.0.11.tar.gz.

File metadata

  • Download URL: anthraleia_pytgcalls-1.0.11.tar.gz
  • Upload date:
  • Size: 54.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for anthraleia_pytgcalls-1.0.11.tar.gz
Algorithm Hash digest
SHA256 366a9bda8885f3b8e7bbf0f45ce7989ff3e0c2073ff766fe007d0144fb5815f8
MD5 0c2405bb2c1524b7c063686b852a0308
BLAKE2b-256 93068b99261f974d3eb7273baf35accfa5bd26c7273532cbd75c214cdfb0d6ad

See more details on using hashes here.

File details

Details for the file anthraleia_pytgcalls-1.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for anthraleia_pytgcalls-1.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 49961392d5b5e2c96d4bf25777ebcf16a0dac667ae8e55b9cc8a5f426b913218
MD5 898a9bb816f8832cf1746494da5e64f7
BLAKE2b-256 224a9670449bcdb3f447e60306bb3c271d013dd71281362f66a5fac4a9a7dcf3

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