Skip to main content

mqtt_decorator

autopep8 pylint pytest

mqtt_decorator is a decorator module which converts mqtt subscriptions and messages to a Flask like api.

Installing

The package can be installed via pip

pip install mqtt_decorator

Demo

from mqtt_decorator import MqttDecorator
import paho.mqtt.client as mqtt

# you can specify all 
# paho mqtt client options
# such as websocket connections or
# tls connections
mqttc = mqtt.Client(clean_session=True)
app = MqttDecorator(mqttc)

@app.route("$SYS/<broker>/<type>")
def broker_url_params(msg, broker, type):
    print("---broker_url_params", msg.topic, msg.payload)
    print("--broker", broker)
    print("--type", type)

@app.route("$SYS/broker/version")
def version(msg):
    print("---version", msg.topic, msg.payload)

@app.route("$SYS/broker/uptime")
def uptime(msg):
    print("---uptime", msg.topic, msg.payload)


if __name__ == "__main__":
    app.run( "mqtt.eclipse.org", 1883 )

Development

In this repo issue based development is active. For any problems or new enhancements please open a issue.

Create virtual environment (It should be done only for first installation)

conda create -n mqtt_decorator python=3.8

Activate virtual environment

conda activate mqtt_decorator

Install this package

pip install -e .

Autopep8 is used for formatting.

autopep8 -r -i mqtt_decorator test

Pylint is used for linting.

pylint mqtt_decorator

Docs

for the first time

sphinx-apidoc -F mqtt_decorator -o docs/source

just update the auto docs

sphinx-apidoc -f mqtt_decorator -o docs/source

Deployment

The following 2 commands are required to deploy over pypi.

python setup.py sdist bdist_wheel
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*

Licence

GPL

Acknowledges

This package is developed using

  • Python <3
  • Paho-Mqtt Heavily inspired from
  • Flask

Contributors

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mqtt_decorator-0.1.4.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

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

mqtt_decorator-0.1.4-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file mqtt_decorator-0.1.4.tar.gz.

File metadata

  • Download URL: mqtt_decorator-0.1.4.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for mqtt_decorator-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ee6384fc09d3bd08e1b8caab99aabc44f20bba5f0ce42f0baa6617c0f2d995f6
MD5 e43aa66c6d1a55072e41bfc2be279bfc
BLAKE2b-256 f4d8e097b4a5e4e40bae13f4aee059715e5e2abe0a73068f1539848cd7165d94

See more details on using hashes here.

File details

Details for the file mqtt_decorator-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: mqtt_decorator-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for mqtt_decorator-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4184f3f8831092fa01860040ca805b88d4e1e3e4a3bb5118afcce1d17a36e73b
MD5 b0961973d124abe303741714a9b14ac4
BLAKE2b-256 3c4e2154fff5f7236e6eb3f380b0a0aacc9018db620e9c5c45c72b743feb9c1f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 files

0.1.3

2 files

Supported by

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