Client for MQTT protocol
Project description
### Python MQTT client implementation.
### Installation
The latest stable version is available in the Python Package Index (PyPi) and can be installed using
```bash
pip install gmqtt
```
### Usage
#### Getting Started
Here is a very simple example that subscribes to the broker TOPIC topic and prints out the resulting messages:
```python
import asyncio
import os
import signal
from gmqtt import Client as MQTTClient
# gmqtt also compatibility with uvloop
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
STOP = asyncio.Event()
def on_connect(client, flags, rc):
print('Connected')
client.subscribe('TEST/#', qos=0)
def on_message(client, topic, payload, qos):
print('RECV MSG:', payload)
def on_disconnect(client, packet):
print('Disconnected')
def ask_exit(*args):
STOP.set()
async def main(broker_host, token):
client = MQTTClient("client-id")
client.on_connect = on_connect
client.on_message = on_message
client.on_disconnect = on_disconnect
client.set_auth_credentials(token, None)
await client.connect(broker_host)
await STOP.wait()
await client.disconnect()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
host = 'mqtt.flespi.io'
token = os.environ.get('FLESPI_TOKEN')
loop.add_signal_handler(signal.SIGINT, ask_exit)
loop.add_signal_handler(signal.SIGTERM, ask_exit)
loop.run_until_complete(main(host, token))
```
### Installation
The latest stable version is available in the Python Package Index (PyPi) and can be installed using
```bash
pip install gmqtt
```
### Usage
#### Getting Started
Here is a very simple example that subscribes to the broker TOPIC topic and prints out the resulting messages:
```python
import asyncio
import os
import signal
from gmqtt import Client as MQTTClient
# gmqtt also compatibility with uvloop
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
STOP = asyncio.Event()
def on_connect(client, flags, rc):
print('Connected')
client.subscribe('TEST/#', qos=0)
def on_message(client, topic, payload, qos):
print('RECV MSG:', payload)
def on_disconnect(client, packet):
print('Disconnected')
def ask_exit(*args):
STOP.set()
async def main(broker_host, token):
client = MQTTClient("client-id")
client.on_connect = on_connect
client.on_message = on_message
client.on_disconnect = on_disconnect
client.set_auth_credentials(token, None)
await client.connect(broker_host)
await STOP.wait()
await client.disconnect()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
host = 'mqtt.flespi.io'
token = os.environ.get('FLESPI_TOKEN')
loop.add_signal_handler(signal.SIGINT, ask_exit)
loop.add_signal_handler(signal.SIGTERM, ask_exit)
loop.run_until_complete(main(host, token))
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gmqtt-0.0.8.tar.gz
(8.7 kB
view hashes)