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.3.tar.gz (53.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.3-py3-none-any.whl (88.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anthraleia_pytgcalls-1.0.3.tar.gz
  • Upload date:
  • Size: 53.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.3.tar.gz
Algorithm Hash digest
SHA256 4f32807192781e4d9e4cfb4baa72c031ad91d81bd9f2f9eed86d2bccef40ad7b
MD5 2940e55450458d07107be6267d9abd41
BLAKE2b-256 29e43ecded8876b6f6dc59f9d95545a1617dc269b658ac2d660e173d4259156e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anthraleia_pytgcalls-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5123939b454b07b9fb4aa6bc55c22ec8df1e82814c91d849b4168e7218cd1883
MD5 c3445064c0cf9dc983eb25dd642a9ef1
BLAKE2b-256 4ae6034f4d306742449740367edd0e388c7115c8663cb3999cdd4cfbc76a0a7c

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