2021-03-13 15:55:04 +00:00
aMQTT
2015-11-01 13:39:46 +00:00
======
2021-03-13 15:55:04 +00:00
`` aMQTT `` is an open source `MQTT`_ client and broker implementation.
2015-11-01 13:39:46 +00:00
2021-03-13 15:55:04 +00:00
Built on top of :mod: `asyncio` , Python's standard asynchronous I/O framework, aMQTT provides a straightforward API
2015-11-04 20:37:02 +00:00
based on coroutines, making it easy to write highly concurrent applications.
2015-11-01 13:39:46 +00:00
2015-11-04 13:54:41 +00:00
Features
--------
2021-03-13 15:55:04 +00:00
aMQTT implements the full set of `MQTT 3.1.1`_ protocol specifications and provides the following features:
2015-11-04 13:54:41 +00:00
2015-11-04 21:32:10 +00:00
- Support QoS 0, QoS 1 and QoS 2 messages flow
2015-11-04 13:54:41 +00:00
- Client auto-reconnection on network lost
- Authentication through password file (more methods can be added through a plugin system)
- Basic `` $SYS `` topics
- TCP and websocket support
- SSL support over TCP and websocket
- Plugin system
2015-11-01 22:01:31 +00:00
Requirements
------------
2015-11-01 13:39:46 +00:00
2021-03-13 15:54:23 +00:00
aMQTT is built on Python's `asyncio` .
It requires Python 3.6 or newer.
2015-11-01 22:01:31 +00:00
Installation
------------
2015-11-04 20:37:02 +00:00
It is not recommended to install third-party library in Python system packages directory. The preferred way for
2021-03-13 15:55:04 +00:00
installing aMQTT is to create a virtual environment and then install all the dependencies you need. Refer to
2015-11-04 20:37:02 +00:00
`PEP 405`_ to learn more.
2015-11-01 22:01:31 +00:00
2021-03-13 15:55:04 +00:00
Once you have a environment setup and ready, aMQTT can be installed with the following command ::
2015-11-01 13:39:46 +00:00
2021-03-13 15:55:04 +00:00
(venv) $ pip install amqtt
2015-11-01 13:39:46 +00:00
2021-03-13 15:55:04 +00:00
`` pip `` will download and install aMQTT and all its dependencies.
2015-11-01 13:39:46 +00:00
2015-11-01 22:01:31 +00:00
User guide
----------
2021-03-13 15:55:04 +00:00
If you need aMQTT for running a MQTT client or deploying a MQTT broker, the :doc: `quickstart` describes how to use console scripts provided by aMQTT.
2015-11-04 13:32:40 +00:00
2021-03-13 15:55:04 +00:00
If you want to develop an application which needs to connect to a MQTT broker, the :doc: `references/mqttclient` documentation explains how to use aMQTT API for connecting, publishing and subscribing with a MQTT broker.
2015-11-04 13:32:40 +00:00
2015-11-06 22:02:19 +00:00
If you want to run you own MQTT broker, th :doc: `references/broker` reference documentation explains how to embed a MQTT broker inside a Python application.
2015-11-04 13:32:40 +00:00
News and updates are listed in the :doc: `changelog` .
2015-11-01 13:39:46 +00:00
.. _MQTT: http://www.mqtt.org
2015-11-01 22:01:31 +00:00
.. _MQTT 3.1.1: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
.. _PEP 405: https://www.python.org/dev/peps/pep-0405/
.. toctree ::
:maxdepth: 2
:hidden:
2015-11-04 20:37:02 +00:00
quickstart
2015-11-04 13:32:40 +00:00
changelog
2021-04-03 20:41:29 +00:00
transition
2015-11-06 21:47:12 +00:00
references/index
2015-11-04 13:32:40 +00:00
license