2017-06-03 11:58:26 +03:00
Installation Guide
==================
2018-01-23 13:37:17 +03:00
Using PIP
---------
2017-06-03 11:58:26 +03:00
.. code-block :: bash
2017-06-03 15:04:04 +03:00
$ pip install -U aiogram
2017-06-03 11:58:26 +03:00
2019-10-14 16:11:13 +03:00
Using Pipenv
------------
.. code-block :: bash
$ pipenv install aiogram
2019-08-19 00:11:05 +05:00
Using AUR
---------
*aiogram* is also available in Arch User Repository, so you can install this library on any Arch-based distribution like ArchLinux, Antergos, Manjaro, etc. To do this, use your favorite AUR-helper and install `python-aiogram <https://aur.archlinux.org/packages/python-aiogram/> `_ package.
2017-06-03 11:58:26 +03:00
From sources
------------
2019-10-14 16:11:13 +03:00
Development versions:
2017-06-03 11:58:26 +03:00
.. code-block :: bash
2018-01-23 13:37:17 +03:00
$ git clone https://github.com/aiogram/aiogram.git
$ cd aiogram
2017-06-03 11:58:26 +03:00
$ python setup.py install
2018-01-27 11:13:12 +02:00
2019-10-14 16:11:13 +03:00
Or if you want to install stable version (The same with version form PyPi):
2018-09-07 21:24:13 +03:00
.. code-block :: bash
$ git clone https://github.com/aiogram/aiogram.git
$ cd aiogram
2019-10-14 16:11:13 +03:00
$ git checkout master
2018-09-07 21:24:13 +03:00
$ python setup.py install
2018-01-27 11:13:12 +02:00
Recommendations
---------------
You can speedup your bots by following next instructions:
- Use `uvloop <https://github.com/MagicStack/uvloop> `_ instead of default asyncio loop.
*uvloop* is a fast, drop-in replacement of the built-in asyncio event loop. uvloop is implemented in Cython and uses libuv under the hood.
**Installation:**
.. code-block :: bash
$ pip install uvloop
- Use `ujson <https://github.com/esnme/ultrajson> `_ instead of default json module.
*UltraJSON* is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3.
**Installation:**
.. code-block :: bash
$ pip install ujson
2019-10-15 18:00:37 +04:00
- Use aiohttp speedups
- Use `cchardet <https://github.com/PyYoshi/cChardet> `_ instead of chardet module.
*cChardet* is high speed universal character encoding detector.
**Installation:**
.. code-block :: bash
$ pip install cchardet
- Use `aiodns <https://github.com/saghul/aiodns> `_ for speeding up DNS resolving.
*aiodns* provides a simple way for doing asynchronous DNS resolutions.
**Installation:**
.. code-block :: bash
$ pip install aiodns
- Installing speedups altogether.
2019-10-15 18:04:14 +04:00
The following will get you `` aiohttp `` along with `` cchardet `` , `` aiodns `` and `` brotlipy `` in one bundle.
2019-10-15 18:00:37 +04:00
**Installation:**
.. code-block :: bash
$ pip install aiohttp[speedups]
2018-01-27 11:13:12 +02:00
In addition, you don't need do nothing, *aiogram* is automatically starts using that if is found in your environment.