MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. The design principles are to minimise network bandwidth and device resource requirements whilst also attempting to ensure reliability and some degree of assurance of delivery. These principles also turn out to make the protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of Things” world of connected devices, and for mobile applications where bandwidth and battery power are at a premium. (Source: mqtt.org)
As the most promising standard for everyday M2M (Machine-to-Machine) communication, MQTT has been implemented in various applications, ranging from Messengers to Smart Home control and many others. In Python we can utilise the power of MQTT through Eclipse Paho MQTT Python client library.