A small example package
Project description
Mqtt common library
Usage
from MqttLibPy.client import MqttClient
# from MqttLibPy.serializer import Serializer
# Both prefix and postfix are optional
client = MqttClient('myhost.com', 1883, prefix="myprefix")
# This function will be called when a message is received in the myprefix/myendpoint topic
@client.endpoint("myendpoint", force_json=True)
def myendpoint(mqtt_client, _, json_body):
print(json_body)
my_field = json_body["some_field"]
# Do stuff with my_field
# ..
# Return a response
my_response = {"another_field": "Ok!"}
# Sends message to topic "myendpoint"
client.send_message_serialized(my_response, "myendpoint", valid_json=True)
Send file
Sender
client = MqttClient("myhost.com", 1883)
client.send_file("test_bytes", "/path/to/my/file/myfile.")
listener
client = MqttClient("myhost.com", 1883)
@client.endpoint("test_bytes", is_file=True)
def get_file(client, user_data, file):
with open(f"/path/to/save/file/{file['data'][0]['filename']}", 'wb+') as f:
f.write(file['bytes'])
f.close()
threading.Thread(target=client.listen).start()
Changelog
1.0.2
- Fix bug that caused bytes to be empty if metadata arrived after the file
1.0.1
- Fix serializer crash with json objects
1.0.0
- Adds send file method
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
mqttlibpy-1.0.2.tar.gz
(5.9 kB
view hashes)
Built Distribution
Close
Hashes for mqttlibpy-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c9ab46d212863c8102865646208517516265234fa6bf1a86950ca3c304c945f |
|
MD5 | 918cc699f70b0159f3d95df52d23581e |
|
BLAKE2b-256 | 77f1dbca1f973c77507be5981231f4e95599bc26517c3641d9ecf222cfa9d67c |