Skip to main content

Simplified MQTT pub/sub wrapper with auto-reconnect

Project description

philiprehberger-mqtt-client

Tests PyPI version License

Simplified MQTT pub/sub wrapper with auto-reconnect.

Install

pip install philiprehberger-mqtt-client

Usage

from philiprehberger_mqtt_client import MQTTClient

client = MQTTClient("mqtt://localhost:1883", client_id="my-app")

@client.on("home/temperature")
def on_temperature(topic, payload):
    print(f"Temperature: {float(payload)}°C")

@client.on("home/+/status")  # wildcard
def on_device_status(topic, payload):
    device = topic.split("/")[1]
    print(f"{device}: {payload}")

# Publish
client.publish("home/lights/living", "on")
client.publish_json("home/sensors/data", {"temp": 22.5, "humidity": 45})

# Connect (blocks with auto-reconnect)
client.connect()

# Or background mode
client.connect(background=True)

Features

  • Decorator-based subscriptions
  • MQTT wildcard support (+ and #)
  • Auto-reconnect with exponential backoff
  • JSON publish/subscribe helpers
  • TLS support (mqtts://)
  • Last will and testament
  • Authentication

Development

pip install -e .
python -m pytest tests/ -v

License

MIT

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

philiprehberger_mqtt_client-0.1.5.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

philiprehberger_mqtt_client-0.1.5-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file philiprehberger_mqtt_client-0.1.5.tar.gz.

File metadata

File hashes

Hashes for philiprehberger_mqtt_client-0.1.5.tar.gz
Algorithm Hash digest
SHA256 636835606b9f3b75e956af1fe865a71f454dd4537375540ded3b0f8830bb0344
MD5 a128cc6960c021a822d82a55da749ef8
BLAKE2b-256 dd6fc4465d28c5db5c7edf4a6b7d0f36e6c316cb7ca08d217c512eee4b13a7c4

See more details on using hashes here.

File details

Details for the file philiprehberger_mqtt_client-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for philiprehberger_mqtt_client-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 44c2f5bcb4c7a71b46bbed5d5a04e1b58334e8e14591693a9d63e5630481caa3
MD5 ea264bb913786a1e4b0d54872f9d48dc
BLAKE2b-256 f922836ad89d32650b60eb4c754aa7734a8e2c2e292605e1a9cad5f9aabdb0ee

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