Weapons grade MQTT client.
The haka_mqtt package is reliable “weapons grade” MQTT client library. It contains a core mqtt reactor class built with provable reliability, and reproducibility as its fundamental goals. A side effect is that the library turns out to be speedy as well.
The project’s core reactor is stable. It has been tested on systems with thousands of distributed nodes in difficult field conditions.
A quick example of how the package can be used:
# Standard python Packages import logging # 3rd-Party Packages from haka_mqtt.frontends.poll import ( MqttPollClientProperties, BlockingMqttClient ) from haka_mqtt.reactor import ACTIVE_STATES from mqtt_codec.packet import MqttTopic LOG_FMT='%(asctime)s %(name)s %(levelname)s %(message)s' logging.basicConfig(format=LOG_FMT, level=logging.INFO) properties = MqttPollClientProperties() properties.host = 'test.mosquitto.org' properties.port = 1883 properties.ssl = False TOPIC = 'haka' c = BlockingMqttClient(properties) c.start() sub_ticket = c.subscribe([MqttTopic(TOPIC, 1)]) c.on_suback = lambda c, suback: c.publish(TOPIC, 'payload', 1) c.on_publish = lambda c, publish: c.stop() while c.state in ACTIVE_STATES: c.poll(5.)