Skip to main content

Telegram Crypto Library for Pyrogram

Project description

|header|

Table of Contents
=================

- `About`_

- `Installation`_

- `Contribution`_

- `Feedback`_

- `License`_

About
=====

**TgCrypto** is a high-performance, easy-to-install Telegram Crypto Library specifically written in C for Pyrogram [#f1]_ as a
Python extension. TgCrypto is a replacement for the much slower PyAES and implements the crypto algorithms Telegram requires,
namely **AES-IGE 256 bit** (used in MTProto v2.0) and **AES-CTR 256 bit** (used for CDN encrypted files).

Installation
============

.. code-block:: bash

$ pip install --upgrade tgcrypto

**Note:** Being a C extension for Python, TgCrypto is an optional but *highly recommended* dependency; when TgCrypto
is not detected in your system, Pyrogram will automatically fall back to PyAES and will show you a warning.

The reason about being an optional package is that TgCrypto requires some extra system tools in order to be compiled.
The errors you receive when trying to install TgCrypto are system dependent, but also descriptive enough to understand
what you should do next:

- **Windows**: Install `Visual C++ 2015 Build Tools <http://landinghub.visualstudio.com/visual-cpp-build-tools>`_.
- **macOS**: A pop-up will automatically ask you to install the command line developer tools.
- **Linux**: Install a proper C compiler (``gcc``, ``clang``) and the Python header files (``python3-dev``).
- **Termux (Android)**: Install ``clang`` and ``python-dev`` packages.

Contribution
============

**You are very welcome to contribute** by either submitting pull requests or
reporting issues/bugs as well as suggesting best practices, ideas, enhancements
on both code and documentation. Any help is appreciated!

Feedback
========

Means for getting in touch:

- `Community`_
- `Telegram`_
- `GitHub`_
- `Email`_

License
=======

- Copyright (C) 2017-2018 Dan Tès <https://github.com/delivrance>

- Licensed under the terms of the
`GNU Lesser General Public License v3 or later (LGPLv3+)`_

-----

.. [#f1] Although TgCrypto is intended for `Pyrogram`_, it is shipped as a standalone package and can thus be used for
other Python projects too.

.. _`Community`: https://t.me/PyrogramChat

.. _`Telegram`: https://t.me/haskell

.. _`GitHub`: https://github.com/pyrogram/tgcrypto/issues

.. _`Email`: admin@pyrogram.ml

.. _`GNU Lesser General Public License v3 or later (LGPLv3+)`: COPYING.lesser

.. _`Pyrogram`: https://github.com/pyrogram/pyrogram

.. |header| raw:: html

<h1 align="center">
<a href="https://github.com/pyrogram/tgcrypto">
<div><img src="https://pyrogram.ml/images/icon.png" alt="Pyrogram Icon"></div>
<div><img src="https://pyrogram.ml/images/tgcrypto.png" alt="TgCrypto Logo"></div>
</a>
</h1>

<p align="center">
<b>Telegram Crypto Library for <a href="https://github.com/pyrogram/pyrogram">Pyrogram</a></b>

<br>
<a href="https://pypi.python.org/pypi/TgCrypto">
Download
</a>

<a href="https://docs.pyrogram.ml/resources/TgCrypto">
Documentation
</a>

<a href="https://t.me/PyrogramChat">
Community
</a>
</p>

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

TgCrypto-1.0.0.tar.gz (27.1 kB view details)

Uploaded Source

File details

Details for the file TgCrypto-1.0.0.tar.gz.

File metadata

  • Download URL: TgCrypto-1.0.0.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for TgCrypto-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8c4a9efd6443d01c1da3f438a8c1cbbd3503699508df32f1932cf71a828fe55c
MD5 13f047a738703fe4faeb78bea70646cc
BLAKE2b-256 5ef4e877755cd9de1fbacaff4f19a768313adff33f1ac14e7ede5046f4d186c1

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page