How devgaganin/devgagantools works
devgagantools is a small asynchronous Telegram file-transfer library. Its main workflows wrap uploads and downloads with filename handling, optional progress updates, and local-file management; shared utilities provide throttling and human-readable progress formatting. The sampled source shows parallel MTProto transfer machinery and upload-part handling. Some download internals are omitted, so the graph avoids detailing their wiring.
Main entry points: __init__.py fast_upload · spylib.py ParallelTransferrer
Components 15
Transfer API
- fast_download
devgagantools/__init__.py - fast_upload
devgagantools/__init__.py
Progress Utilities
- Timer
devgagantools/__init__.py - Progress display
devgagantools/__init__.py - Size formatter
devgagantools/__init__.py
Transfer Engine
- download_file
devgagantools/spylib.py - upload_file
devgagantools/spylib.py - ParallelTransferrer
devgagantools/spylib.py - DownloadSender
devgagantools/spylib.py - UploadSender
devgagantools/spylib.py
Other components
- Library caller
- Telegram client
- Telegram MTProto
- Local files
- Reply message
Connections 20
- Library caller → fast_download: requests download
- Library caller → fast_upload: requests upload
- fast_download → download_file: downloads file
- download_file → Local files: writes result
- fast_upload → Local files: reads source
- fast_upload → upload_file: uploads file
- fast_download → Timer: throttles updates
- fast_upload → Timer: throttles updates
- fast_download → Progress display: formats progress
- fast_upload → Progress display: formats progress
- Progress display → Size formatter: formats sizes
- fast_download → Reply message: edits progress
- fast_upload → Reply message: edits progress
- upload_file → ParallelTransferrer: initializes transfer
- upload_file → ParallelTransferrer: sends parts
- ParallelTransferrer → DownloadSender: creates senders
- ParallelTransferrer → UploadSender: creates senders
- DownloadSender → Telegram client: requests file parts
- UploadSender → Telegram client: saves file parts
- Telegram client → Telegram MTProto: sends MTProto requests