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.8.tar.gz (54.4 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.8-py3-none-any.whl (89.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anthraleia_pytgcalls-1.0.8.tar.gz
  • Upload date:
  • Size: 54.4 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.8.tar.gz
Algorithm Hash digest
SHA256 82ebb8dbed2de72f0029fcb177c77abdfaa2b3471c0252ba9d9598f9109e1896
MD5 327065214556996d744806a6122a610e
BLAKE2b-256 a8c419f9349fa9bacc44bab7f2c1e6e3154adc3d265b41c709c6600f1b4ca775

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anthraleia_pytgcalls-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f535fa0cac63ac82424fc438a3a410b38cbb417fa8053f29b7e270112be59ce2
MD5 8865a3b68c86a319ce4058006a7c4183
BLAKE2b-256 d237fae39195587d8a042a062ac2b5e8b1331da9e6352973da75355e58ddd301

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