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.2.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.2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mqttlibpy-1.5.2.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.2.tar.gz
Algorithm Hash digest
SHA256 7d53980bb842637df0a7d15d135a26ea2df84c987645f76ca1a53d0b6d616aeb
MD5 84b8d958412baffe13d574e7c9a6ca99
BLAKE2b-256 8dec7d0b8a6ef6022dfcb1ae61f8140330a8456a3bb1d3094b8bd3d7e13ce422

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqttlibpy-1.5.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7cedb7aec43dca1974261ac69ed81e0cec4dc593820b60c43af61dcf67907ebd
MD5 6f8191797351bea3335de6d55c90c5f7
BLAKE2b-256 97687a65045f28ae8bc37fb8b34fc3ed2a72d89161857829df1f3e42bdedad15

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