mirror of
https://github.com/pyrogram/pyrogram
synced 2025-08-29 13:27:47 +00:00
Add Fast Crypto (TgCrypto) docs
This commit is contained in:
parent
5d5c2fe928
commit
a398249067
@ -3,16 +3,77 @@ Welcome to Pyrogram
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<p align="right">
|
||||
<a class="github-button" href="https://github.com/pyrogram/pyrogram/subscription" data-icon="octicon-eye" data-size="large" data-show-count="true" aria-label="Watch pyrogram/pyrogram on GitHub">Watch</a>
|
||||
<a class="github-button" href="https://github.com/pyrogram/pyrogram" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star pyrogram/pyrogram on GitHub">Star</a>
|
||||
<a class="github-button" href="https://github.com/pyrogram/pyrogram/fork" data-icon="octicon-repo-forked" data-size="large" data-show-count="true" aria-label="Fork pyrogram/pyrogram on GitHub">Fork</a>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
<a href="https://pyrogram.ml">
|
||||
<img src="https://pyrogram.ml/images/logo2.png" alt="Logo">
|
||||
<div><img src="https://pyrogram.ml/images/icon.png" alt="Pyrogram Icon"></div>
|
||||
<div><img src="https://pyrogram.ml/images/label.png" alt="Pyrogram Label"></div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p align="center">
|
||||
<b>Telegram MTProto API Client Library for Python</b>
|
||||
<br>
|
||||
<a href="https://github.com/pyrogram/pyrogram/releases/latest">
|
||||
Download
|
||||
</a>
|
||||
•
|
||||
<a href="https://github.com/pyrogram/pyrogram">
|
||||
Source code
|
||||
</a>
|
||||
•
|
||||
<a href="https://t.me/PyrogramChat">
|
||||
Community
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/pyrogram/pyrogram/blob/master/compiler/api/source/main_api.tl">
|
||||
<img src="https://www.pyrogram.ml/images/scheme.svg"
|
||||
alt="Scheme Layer 75">
|
||||
</a>
|
||||
<a href="https://core.telegram.org/mtproto">
|
||||
<img src="https://www.pyrogram.ml/images/mtproto.svg"
|
||||
alt="MTProto v2.0">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
About
|
||||
-----
|
||||
|
||||
Pyrogram is a fully functional Telegram Client Library written from the ground up in Python.
|
||||
It offers **simple** and **complete** access to the Telegram Messenger API and is designed for Python developers
|
||||
keen on building custom Telegram applications.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- **Easy to setup**: Pyrogram can be easily installed and upgraded using **pip**, requires
|
||||
a minimal set of dependencies (which are also automatically managed) and very few lines
|
||||
of code to get started with.
|
||||
|
||||
- **Easy to use**: Pyrogram provides idiomatic, developer-friendly, clean and readable
|
||||
Python code (either generated or hand-written) making the Telegram API simple to use.
|
||||
|
||||
- **High level**: Pyrogram automatically handles all the low-level details of
|
||||
communication with the Telegram servers by implementing the
|
||||
`MTProto Mobile Protocol v2.0`_ and the mechanisms needed for establishing
|
||||
a reliable connection.
|
||||
|
||||
- **Fast**: Pyrogram's speed is boosted up by `TgCrypto`_, a high-performance, easy-to-install
|
||||
crypto library written in C.
|
||||
|
||||
- **Updated**: Pyrogram makes use of the latest Telegram API version, currently `Layer 75`_.
|
||||
|
||||
- **Documented**: Pyrogram API public methods are documented and resemble the well
|
||||
established Telegram Bot API, thus offering a familiar look to Bot developers.
|
||||
|
||||
- **Full API support**: Beside the simple, bot-like methods offered by the Pyrogram API,
|
||||
the library also provides a complete, low-level access to every single Telegram API method.
|
||||
|
||||
Preview
|
||||
-------
|
||||
|
||||
@ -28,12 +89,6 @@ Preview
|
||||
|
||||
client.stop()
|
||||
|
||||
About
|
||||
-----
|
||||
|
||||
Welcome to the Pyrogram's documentation! Here you can find resources for learning how to use the library.
|
||||
Contents are organized by topic and are accessible from the sidebar.
|
||||
|
||||
To get started, press Next.
|
||||
|
||||
.. toctree::
|
||||
@ -51,6 +106,9 @@ To get started, press Next.
|
||||
resources/TextFormatting
|
||||
resources/UpdateHandling
|
||||
resources/ErrorHandling
|
||||
resources/ProxyServer
|
||||
resources/AutoAuthorization
|
||||
resources/FastCrypto
|
||||
|
||||
.. toctree::
|
||||
:hidden:
|
||||
@ -64,3 +122,9 @@ To get started, press Next.
|
||||
|
||||
functions/index
|
||||
types/index
|
||||
|
||||
.. _`MTProto Mobile Protocol v2.0`: https://core.telegram.org/mtproto
|
||||
|
||||
.. _TgCrypto: https://docs.pyrogram.ml/resources/FastCrypto/
|
||||
|
||||
.. _`Layer 75`: https://github.com/pyrogram/pyrogram/blob/master/compiler/api/source/main_api.tl
|
37
docs/source/resources/FastCrypto.rst
Normal file
37
docs/source/resources/FastCrypto.rst
Normal file
@ -0,0 +1,37 @@
|
||||
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.
|
Loading…
x
Reference in New Issue
Block a user