diff --git a/docs/source/index.rst b/docs/source/index.rst index a45efa74..dfa6d67e 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -3,16 +3,77 @@ Welcome to Pyrogram .. raw:: html +

+ Watch + Star + Fork +

+
- Logo +
Pyrogram Icon
+
Pyrogram Label

Telegram MTProto API Client Library for Python +
+ + Download + + • + + Source code + + • + + Community + +

+ + Scheme Layer 75 + + + MTProto v2.0 +

+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 \ No newline at end of file diff --git a/docs/source/resources/FastCrypto.rst b/docs/source/resources/FastCrypto.rst new file mode 100644 index 00000000..0cefd146 --- /dev/null +++ b/docs/source/resources/FastCrypto.rst @@ -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 `_. + +- **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 `_. + +.. _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. \ No newline at end of file