HBMQTT is an open source MQTT client and broker implementation.
Built on top of asyncio, Python's standard asynchronous I/O framework, HBMQTT provides a straightforward API based on coroutines, making it easy to write highly concurrent applications.
HBMQTT is no longer maintained. There is a fork aqmtt under active development by different people. See here for some background.
HBMQTT implements the full set of MQTT 3.1.1 protocol specifications and provides the following features:
- Support QoS 0, QoS 1 and QoS 2 messages flow
 - Client auto-reconnection on network lost
 - Authentication through password file (more methods can be added through a plugin system)
 - Basic 
$SYStopics - TCP and websocket support
 - SSL support over TCP and websocket
 - Plugin system
 
hbmqtt is available on Pypi and can installed simply using pip :
$ pip install hbmqtt
Documentation is available on Read the Docs.
Bug reports, patches and suggestions welcome! Just open an issue or join the gitter channel.