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 details)
File details
Details for the file gmqtt-0.0.8.tar.gz.
File metadata
- Download URL: gmqtt-0.0.8.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9acd27862896a3280caeeaf4ef907339b6b8050ed727d0abcc9b8f62316b9a1a
|
|
| MD5 |
66d7a3cd5eb09adc86653d79dcdeecaf
|
|
| BLAKE2b-256 |
3dbe038f032e6bfec26244e27da51cbf984956773a56b7a7b6437c233435c077
|