MTPyroger/docs/source/resources/FastCrypto.rst
2018-02-08 16:50:04 +01:00

37 lines
1.6 KiB
ReStructuredText

Fast Crypto
===========
Pyrogram's speed can be *dramatically* boosted up by installing TgCrypto_, a high-performance, easy-to-install crypto
library specifically written in C for Pyrogram [#f1]_. TgCrypto is a replacement for the painfully slow PyAES and
implements the crypto algorithms MTProto requires, namely AES-IGE and AES-CTR 256 bit.
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 on 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.
Usually the errors you receive when trying to install TgCrypto are 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 as soon as you issue the
installation command.
- **Linux**: Depending on your distro, install a proper C compiler (``gcc``, ``clang``) and the Python header files
(``python3-dev``).
- **Termux (Android)**: Install ``clang`` and ``python-dev`` packages.
More help on the `Pyrogram group chat <https://t.me/PyrogramChat>`_.
.. _TgCrypto: https://github.com/pyrogram/tgcrypto
.. [#f1] Although TgCrypto is intended for Pyrogram, it is shipped as a standalone package and can thus be used for
other projects too.