Skip to main content

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

from MqttLibPy.client import MqttClient

client = MqttClient("myhost.com", 1883)
client.send_file("test_bytes", "/path/to/my/file/myfile.")

listener

from MqttLibPy.client import MqttClient

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.5.0

  • Return error codes on message sent

1.1.6

  • Fix bug where the same file couldnt be received multiple times

1.1.0

  • Add optional metadata to file transfers

1.0.3

  • Fix bug where file metadata would get overwritten if metadata arrived after the file

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


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.5.1.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mqttlibpy-1.5.1-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file mqttlibpy-1.5.1.tar.gz.

File metadata

  • Download URL: mqttlibpy-1.5.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for mqttlibpy-1.5.1.tar.gz
Algorithm Hash digest
SHA256 d14ad30c498b8e9bb01e6da202de1b46fd3751590c6cddfac4b2ae8dc7249c97
MD5 c0a62e1ea26b546653dc6bcf329a17e4
BLAKE2b-256 b49ad2a4d00447332d2efeeb77facef4d91f5cf89a1f9e3018ff4ff01aa93d63

See more details on using hashes here.

File details

Details for the file mqttlibpy-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: mqttlibpy-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for mqttlibpy-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 45cdb1a11252f426197cf23251f6ba0df815caaea77767f343bfc9bb64554d62
MD5 9712853c3b7f20b22f7a92d8907e249f
BLAKE2b-256 3a137f530e2648e9943801a7872e0fac4127ab15602036791422b2184c1af605

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page