Skip to main content

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

Project description

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

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

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

Uploaded Source

Built Distribution

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.

Supported by

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