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.5.tar.gz (54.3 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.5-py3-none-any.whl (89.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anthraleia_pytgcalls-1.0.5.tar.gz
  • Upload date:
  • Size: 54.3 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.5.tar.gz
Algorithm Hash digest
SHA256 413c53436b6e4e939997f6bb87dfc013a487b0e75d1b575f98f57d9666f988da
MD5 15d59aca4f9332cbfad81c8a04afa25a
BLAKE2b-256 f3ec8fbe3e4055fbc8c23798dd19cc47a5a95a9825a7b71613179aa7f862b0a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anthraleia_pytgcalls-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 08210c346eb666d326535f55d908f8724baf0ceb0d1e1e3a45ff27fb73fe618f
MD5 c923826ecd5e54222974df1eb0a7553c
BLAKE2b-256 fa512c8b42ff6c23564b14b85f431917418dfa623f4f9197037e80588bff3c16

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