{ "info": { "author": "Stefan Lehmann", "author_email": "stefan.st.lehmann@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Flask-MQTT\n\nFlask Extension for the [MQTT protocol][1]. Basically it is a thin wrapper\naround [paho-mqtt][0] and aimes to simplify MQTT integration in Flask. MQTT is a\nmachine-to-machine \"Internet of Things\" protocol and was designed for extremely\nlightweight publish/subscribe messaging transport.\n\n[![Documentation Status](https://readthedocs.org/projects/flask-mqtt/badge/?version=latest)](http://flask-mqtt.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/Flask-MQTT.svg)](https://badge.fury.io/py/Flask-MQTT) [![Travis CI](https://travis-ci.org/stlehmann/Flask-MQTT.svg?branch=master)](https://travis-ci.org/stlehmann/Flask-MQTT)\n\nFind the documentation on [http://flask-mqtt.readthedocs.io][2].\n\n## Features\n\n* configuration via Flask config variables\n* auto-connect on start of your web application\n* publish and subscribe messages\n* use callbacks for certain topics\n* use one callback for all subscribed topics\n\n## Limitations\n\nFlask-MQTT was developed to provide an easy-to-setup solution for interacting\nwith IoT devices. A typical scenario would be a Raspberry Pi running a\nmosquitto mqtt server combined with a Flask webserver.\n\n### Multiple workers\n\n**Flask-MQTT is currently not suitable for the use with multiple worker\ninstances.** So if you use a WSGI server like *gevent* or *gunicorn* make sure\nyou only have one worker instance.\n\n### Reloader\n\nMake sure to disable Flasks autoreloader. If activated it spawns two\ninstances of a Flask application. This leads to the same problems as multiple\nworkers. To prevent Flask-MQTT from running code twice it is necessary to\ndeactivate the automatic reloader.\n\n## Installation\n\nSimply install the package as usual via pip:\n\n```bash\n$ pip install flask-mqtt\n```\n\n## Usage\n\n### Basic Setup\n\n```python\nfrom flask import Flask\nfrom flask_mqtt import Mqtt\n\napp = Flask(__name__)\napp.config['MQTT_BROKER_URL'] = 'mybroker.com'\napp.config['MQTT_BROKER_PORT'] = 1883\napp.config['MQTT_USERNAME'] = 'user'\napp.config['MQTT_PASSWORD'] = 'secret'\napp.config['MQTT_REFRESH_TIME'] = 1.0 # refresh time in seconds\nmqtt = Mqtt(app)\n\n@app.route('/')\ndef index():\n return render_template('index.html')\n\n```\n\n### Subscribe to a topic\n\nTo subscribe to a topic simply use `mqtt.subscribe()`. To make sure the\nsubscription gets handled correctly on startup place the subscription inside\nan `on_connect()` callback function.\n\n```python\n@mqtt.on_connect()\ndef handle_connect(client, userdata, flags, rc):\n mqtt.subscribe('home/mytopic')\n```\n\nTo handle the subscribed messages you can define a handling function by\ndecorating it with `@mqtt.on_message()`.\n\n```python\n@mqtt.on_message()\ndef handle_mqtt_message(client, userdata, message):\n data = dict(\n topic=message.topic,\n payload=message.payload.decode()\n )\n```\n\nTo unsubscribe do:\n\n```python\nmqtt.unsubscribe('home/mytopic')\n```\n\nOr if you want to unsubscribe all topics use `unsubscribe_all()`.\n\n```python\nmqtt.unsubscribe_all()\n```\n\n### Publish\n\nTo publish a message you can use the `publish()` method.\n\n```python\nmqtt.publish('home/mytopic', 'this is my message')\n```\n\n### Small publish/subscribe MQTT client\n\n```python\n\"\"\"\n\nA small Test application to show how to use Flask-MQTT.\n\n\"\"\"\n\nimport eventlet\nimport json\nfrom flask import Flask, render_template\nfrom flask_mqtt import Mqtt\nfrom flask_socketio import SocketIO\nfrom flask_bootstrap import Bootstrap\n\neventlet.monkey_patch()\n\napp = Flask(__name__)\napp.config['SECRET'] = 'my secret key'\napp.config['TEMPLATES_AUTO_RELOAD'] = True\napp.config['MQTT_BROKER_URL'] = 'broker.hivemq.com'\napp.config['MQTT_BROKER_PORT'] = 1883\napp.config['MQTT_USERNAME'] = ''\napp.config['MQTT_PASSWORD'] = ''\napp.config['MQTT_KEEPALIVE'] = 5\napp.config['MQTT_TLS_ENABLED'] = False\n\n# Parameters for SSL enabled\n# app.config['MQTT_BROKER_PORT'] = 8883\n# app.config['MQTT_TLS_ENABLED'] = True\n# app.config['MQTT_TLS_INSECURE'] = True\n# app.config['MQTT_TLS_CA_CERTS'] = 'ca.crt'\n\nmqtt = Mqtt(app)\nsocketio = SocketIO(app)\nbootstrap = Bootstrap(app)\n\n\n@app.route('/')\ndef index():\n return render_template('index.html')\n\n\n@socketio.on('publish')\ndef handle_publish(json_str):\n data = json.loads(json_str)\n mqtt.publish(data['topic'], data['message'])\n\n\n@socketio.on('subscribe')\ndef handle_subscribe(json_str):\n data = json.loads(json_str)\n mqtt.subscribe(data['topic'])\n\n\n@mqtt.on_message()\ndef handle_mqtt_message(client, userdata, message):\n data = dict(\n topic=message.topic,\n payload=message.payload.decode()\n )\n socketio.emit('mqtt_message', data=data)\n\n\n@mqtt.on_log()\ndef handle_logging(client, userdata, level, buf):\n print(level, buf)\n\n\nif __name__ == '__main__':\n socketio.run(app, host='0.0.0.0', port=5000, use_reloader=True, debug=True)\n\n```\n\n[0]: https://github.com/eclipse/paho.mqtt.python\n[1]: http://mqtt.org/\n[2]: http://flask-mqtt.readthedocs.io/en/latest/", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MrLeeh/Flask-MQTT", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Flask-MQTT", "package_url": "https://pypi.org/project/Flask-MQTT/", "platform": "any", "project_url": "https://pypi.org/project/Flask-MQTT/", "project_urls": { "Homepage": "https://github.com/MrLeeh/Flask-MQTT" }, "release_url": "https://pypi.org/project/Flask-MQTT/1.0.5/", "requires_dist": null, "requires_python": "", "summary": "Flask extension for the MQTT protocol", "version": "1.0.5" }, "last_serial": 4445558, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "8a91356608bb49802deaae646eeb159a", "sha256": "ea271ab5f31f6736bc15e67a441b573fbd74847690a4664a89ecaa05a3bbfa66" }, "downloads": -1, "filename": "Flask-MQTT-0.0.1.macosx-10.12-x86_64.tar.gz", "has_sig": false, "md5_digest": "8a91356608bb49802deaae646eeb159a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3550, "upload_time": "2017-04-16T12:56:06", "url": "https://files.pythonhosted.org/packages/f0/4f/f703755898080fdd8d7aec91dcd2689892b1b830809ccf98a026999f7c97/Flask-MQTT-0.0.1.macosx-10.12-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "b902ffd26277b2aee045700f05c4c582", "sha256": "058a24f125b5dd1373089da104dd28f92f74e1339ea75a03036c7e0e81e69dee" }, "downloads": -1, "filename": "Flask_MQTT-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b902ffd26277b2aee045700f05c4c582", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3211, "upload_time": "2017-04-16T12:56:04", "url": "https://files.pythonhosted.org/packages/52/50/25746a554e38dad4d1416098714896f8ff4ec9494cf70178d90a68502211/Flask_MQTT-0.0.1-py3-none-any.whl" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "9590fcbcfebc7f6605024a495ac131bc", "sha256": "4caa344f20d00f4398c8891fb30a25ccc4ce0b164ff125b28a3052b2cfdd0edc" }, "downloads": -1, "filename": "Flask_MQTT-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "9590fcbcfebc7f6605024a495ac131bc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5652, "upload_time": "2018-01-30T21:52:09", "url": "https://files.pythonhosted.org/packages/00/d0/5308f1f263bd1661091a6a67eaf14fe07ae6d454abea6c6d9f1777a2ff03/Flask_MQTT-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "043eba281f2c20f2190c61eee8b9c3ef", "sha256": "e7a925c07bff7f11584c0c1234b9135f2716cd3faddf85beb2e3cdb1b3f69a95" }, "downloads": -1, "filename": "Flask-MQTT-0.0.10.tar.gz", "has_sig": false, "md5_digest": "043eba281f2c20f2190c61eee8b9c3ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5968, "upload_time": "2018-01-06T19:10:11", "url": "https://files.pythonhosted.org/packages/38/f4/bd3396218135d3253a5116e80dc07a76640569f516df14903d8c93d1343a/Flask-MQTT-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "46982b3b10673bef7f2c223860ee4d39", "sha256": "0475cd6721f3cb0f7a1615bad4219ece7b289dddcca2f23c40e1b7088151b5f7" }, "downloads": -1, "filename": "Flask_MQTT-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "46982b3b10673bef7f2c223860ee4d39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5649, "upload_time": "2018-01-30T21:53:26", "url": "https://files.pythonhosted.org/packages/ab/51/c2dae9997ce8b23818bb3ca3b56dfdc6d1292fd175f47d6fb834770f42df/Flask_MQTT-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1b966a423adddc4ae3baa9812a548e1", "sha256": "7c1d1d0f1b84c27287e8f6aaa945a7fe95d17254d588d6f9427d2440932ec943" }, "downloads": -1, "filename": "Flask-MQTT-0.0.11.tar.gz", "has_sig": false, "md5_digest": "a1b966a423adddc4ae3baa9812a548e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6175, "upload_time": "2018-01-30T21:55:05", "url": "https://files.pythonhosted.org/packages/70/33/d9333cbbb56770e4ba1915d82b4b0cf76450d15fb3e6f64f72b88ce4e2c4/Flask-MQTT-0.0.11.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "32b5b80f2e4aa3a3213dc8bb9ad76cb7", "sha256": "dfc15fa605584d44b70ad5acf6aba8b9e58d067690fb1beb0e07d4ba72b669ae" }, "downloads": -1, "filename": "Flask-MQTT-0.0.2.macosx-10.12-x86_64.tar.gz", "has_sig": false, "md5_digest": "32b5b80f2e4aa3a3213dc8bb9ad76cb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5183, "upload_time": "2017-05-22T17:43:02", "url": "https://files.pythonhosted.org/packages/4e/bb/bbf7619de48baa7477cdb70efcfb9d7159f28c5568aaa6980608bf65614b/Flask-MQTT-0.0.2.macosx-10.12-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "6312d42a2089196494522ea428ccb20e", "sha256": "69f6fa1dd2ab4f7f3aafd12f1d3398fce0401457077797fa781cf9a09daf59a4" }, "downloads": -1, "filename": "Flask_MQTT-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6312d42a2089196494522ea428ccb20e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4398, "upload_time": "2017-05-22T17:42:59", "url": "https://files.pythonhosted.org/packages/77/84/4c5ff21d1eb794cae796ca704a7da803c0f28c528fc33614c9ec1ec44043/Flask_MQTT-0.0.2-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d1d522ae300814a2a9714adffbecd54c", "sha256": "8d65bff86e7de0163764b9988724fc42b9126931016f78c5c231c63b61c6182b" }, "downloads": -1, "filename": "Flask-MQTT-0.0.3.macosx-10.12-x86_64.tar.gz", "has_sig": false, "md5_digest": "d1d522ae300814a2a9714adffbecd54c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5309, "upload_time": "2017-05-26T13:30:42", "url": "https://files.pythonhosted.org/packages/3c/f8/a008977f69f8a4000be617266476ba5ac67ff1848c7c2662553501999efd/Flask-MQTT-0.0.3.macosx-10.12-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "8a1edddd7d6c40923c2e52b1d49b02d8", "sha256": "376ae44dbbd882c9fe100c4bfad51b306a2063e1efa3bd7e3a0ac7f3666a6170" }, "downloads": -1, "filename": "Flask_MQTT-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8a1edddd7d6c40923c2e52b1d49b02d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4426, "upload_time": "2017-05-26T13:30:40", "url": "https://files.pythonhosted.org/packages/dd/ae/2713536f65213cdac4311a396a8e7acd825ff26b036878d68f6970c5d297/Flask_MQTT-0.0.3-py3-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "e4e1b21981f047fc0427ea40c3aa3eb9", "sha256": "bb0b0d3c527448ad195a4c5cd365723cafda7d2e3bcce086460299c528b6e62e" }, "downloads": -1, "filename": "Flask-MQTT-0.0.4.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "e4e1b21981f047fc0427ea40c3aa3eb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5885, "upload_time": "2017-06-20T06:13:22", "url": "https://files.pythonhosted.org/packages/d4/bb/325cae37ee86eb281dda6b41a7277055395aea40a07b8bce8b94b6ca7314/Flask-MQTT-0.0.4.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "552e97128d05dbb82ddfe61a6b05614b", "sha256": "dfed0689bbd367990da49b22a16d9f742e70d0964ce9de4ea1943776fbd188d1" }, "downloads": -1, "filename": "Flask_MQTT-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "552e97128d05dbb82ddfe61a6b05614b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4674, "upload_time": "2017-06-20T06:13:20", "url": "https://files.pythonhosted.org/packages/eb/ca/171fcfba8521ccd7b2e0be5bd43db1ffac554d5ef2ac4f410e69dbc92d31/Flask_MQTT-0.0.4-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "bf8651894aae4e21359e879f822b56ec", "sha256": "f5bf25a402ec06522401b8c843dddb2ce015bd0020a8793998dfe4afb1b9889e" }, "downloads": -1, "filename": "Flask_MQTT-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "bf8651894aae4e21359e879f822b56ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4686, "upload_time": "2017-06-20T06:33:57", "url": "https://files.pythonhosted.org/packages/0e/e8/5b655afb5980d5075bc2ab1155d5d6282d0bda3301a911f4dc8e0a555773/Flask_MQTT-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5826fb68c496eb29d96ade5df11c462b", "sha256": "10d469f40968ff14bda1ad95dea83be1badff80ce014fa92612a63b936e2130b" }, "downloads": -1, "filename": "Flask-MQTT-0.0.5.tar.gz", "has_sig": false, "md5_digest": "5826fb68c496eb29d96ade5df11c462b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3478, "upload_time": "2017-06-22T10:03:27", "url": "https://files.pythonhosted.org/packages/fb/6a/80f783f6957a61f0e5aa7bef4556580dd4df74b8e34ae1a13e0c0af5530c/Flask-MQTT-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "6dffd5992f64eb77ed758c0a0d6abada", "sha256": "897db0e96420fde848831c1ae4c5e726f41efc27c6ac3ee554c264837f91bab2" }, "downloads": -1, "filename": "Flask_MQTT-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "6dffd5992f64eb77ed758c0a0d6abada", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4696, "upload_time": "2017-06-22T13:09:02", "url": "https://files.pythonhosted.org/packages/d3/e9/10a1a00ed8f9c1000b149feca07fbafef17a1b40602ede4f97c64f941e9e/Flask_MQTT-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ce25f8fdbec0374195c9d660cb759a7", "sha256": "a22175314936af8bbcc85f84da28c609c7c0f5ad22dd4c944f91cf9fba28d661" }, "downloads": -1, "filename": "Flask-MQTT-0.0.6.tar.gz", "has_sig": false, "md5_digest": "3ce25f8fdbec0374195c9d660cb759a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3540, "upload_time": "2017-06-22T13:08:11", "url": "https://files.pythonhosted.org/packages/78/39/393eb2bc84bbc6256068ab46674ce6457bb4438dccefe414b55d5d990fe8/Flask-MQTT-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "df1033bff0b460a6580cab5c3470ad0d", "sha256": "369112e0264642f1ea3c2fed925d413cfb54fc56e81edb7d7b0bcf1e061c9777" }, "downloads": -1, "filename": "Flask_MQTT-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "df1033bff0b460a6580cab5c3470ad0d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4704, "upload_time": "2017-06-23T09:26:32", "url": "https://files.pythonhosted.org/packages/b4/1c/a25de4b8348d8c9041d65339771e832e759ce7be9b0a810bed38df2483b5/Flask_MQTT-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b74b5fd2c01225934b4ab509a4153b35", "sha256": "ce0588edf79cb7095008daeb84de51ba59ed8c82b696c976151b75ef9e786a67" }, "downloads": -1, "filename": "Flask-MQTT-0.0.7.tar.gz", "has_sig": false, "md5_digest": "b74b5fd2c01225934b4ab509a4153b35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3626, "upload_time": "2017-06-23T09:26:33", "url": "https://files.pythonhosted.org/packages/c5/b1/307602d60322e00c8e21b62b2d3b7170400842574d9a57be449f6fe44376/Flask-MQTT-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "b9422046c842905f14e6ba41abca7155", "sha256": "078cd65be4df6775330c743f2ed0e82a14c87050861b20e4ec0718274404fe00" }, "downloads": -1, "filename": "Flask_MQTT-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "b9422046c842905f14e6ba41abca7155", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5383, "upload_time": "2017-07-23T11:38:53", "url": "https://files.pythonhosted.org/packages/75/21/fbacd51660bb3886cf9c9f0355429415502b8f88ee16437db5ff0f8bccde/Flask_MQTT-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f9e5289c831f6de6ebfe0b4e4aae961", "sha256": "08a380cb001b728cd22e00749f3bbd0cf8a821c544df587a1d6df60b19cad578" }, "downloads": -1, "filename": "Flask-MQTT-0.0.8.tar.gz", "has_sig": false, "md5_digest": "7f9e5289c831f6de6ebfe0b4e4aae961", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4319, "upload_time": "2017-07-23T11:38:15", "url": "https://files.pythonhosted.org/packages/2f/4c/561f13958d3d947fc4635b7289bdc400681df99511869b3e2562fe3b9e16/Flask-MQTT-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "1f6e2d446adbf1e810d2f12fc77c3441", "sha256": "5faf544b04596077411e0dbd1427d450a81cac30aaa7b216a113d8e7a167db65" }, "downloads": -1, "filename": "Flask-MQTT-0.0.9.tar.gz", "has_sig": false, "md5_digest": "1f6e2d446adbf1e810d2f12fc77c3441", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5786, "upload_time": "2017-10-29T10:15:07", "url": "https://files.pythonhosted.org/packages/e2/89/eff348fd530aa321a33b72e017226641e8031c3150f8277af21de66e68c4/Flask-MQTT-0.0.9.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e8fe09c779399880240973709e1dce3a", "sha256": "8248c4d3fef8a93e3164dea9ec7a05c4743d226bed98a61c75492d49a48340fd" }, "downloads": -1, "filename": "Flask-MQTT-1.0.1.tar.gz", "has_sig": false, "md5_digest": "e8fe09c779399880240973709e1dce3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6972, "upload_time": "2018-04-19T18:14:34", "url": "https://files.pythonhosted.org/packages/65/07/cfc6a5f1a1c8b537088cb35e629baa3140c74b91c7a93d81c77720693635/Flask-MQTT-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "fc40a843ee7e5d6082ebb860526ee9dd", "sha256": "cc657d7cb8e62d2e9b5ca1de2e804a816a2ea32cf7444f8e1a441db601211b37" }, "downloads": -1, "filename": "Flask-MQTT-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fc40a843ee7e5d6082ebb860526ee9dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6973, "upload_time": "2018-04-19T18:18:44", "url": "https://files.pythonhosted.org/packages/b4/24/2487a349e3661b14ecdc665941967c3e0e15ecfcbfd83a05e6def2b2cb9c/Flask-MQTT-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "5078473f95ae3c0c8529b3ffb64c7573", "sha256": "178f62c32a52bde365fadd5813dec8b65ce7bb5eb4ca790978d336426261fcad" }, "downloads": -1, "filename": "Flask-MQTT-1.0.3.tar.gz", "has_sig": false, "md5_digest": "5078473f95ae3c0c8529b3ffb64c7573", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6981, "upload_time": "2018-04-19T18:36:42", "url": "https://files.pythonhosted.org/packages/48/6d/cb49427baa5666c905ffe6402341efb73abe5e2a73d284cf49cd6d8ad726/Flask-MQTT-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "3ba031e0237deb2d3dac2e93561eed95", "sha256": "bfa35d25e330e273ce1d8d3cb9680b620ffa307d0c00bda4305a5979c6a4c17b" }, "downloads": -1, "filename": "Flask-MQTT-1.0.4.tar.gz", "has_sig": false, "md5_digest": "3ba031e0237deb2d3dac2e93561eed95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7486, "upload_time": "2018-06-24T11:57:37", "url": "https://files.pythonhosted.org/packages/eb/e1/13bc3cc9813681d978154a80c3c8afc6c43be10ba54bf35f3be4a1a4b1cc/Flask-MQTT-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "1d46a36852f2d865dd2af92804c37413", "sha256": "a12e982144fe5a5b0bd3501907c84c80c1cda9c5718eb473ecbd21431fff287e" }, "downloads": -1, "filename": "Flask-MQTT-1.0.5.tar.gz", "has_sig": false, "md5_digest": "1d46a36852f2d865dd2af92804c37413", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7940, "upload_time": "2018-11-02T17:39:01", "url": "https://files.pythonhosted.org/packages/13/48/dd1794f01fac7b2feb41c9d709d48d7c36026dd850085a01dd158cdbe402/Flask-MQTT-1.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1d46a36852f2d865dd2af92804c37413", "sha256": "a12e982144fe5a5b0bd3501907c84c80c1cda9c5718eb473ecbd21431fff287e" }, "downloads": -1, "filename": "Flask-MQTT-1.0.5.tar.gz", "has_sig": false, "md5_digest": "1d46a36852f2d865dd2af92804c37413", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7940, "upload_time": "2018-11-02T17:39:01", "url": "https://files.pythonhosted.org/packages/13/48/dd1794f01fac7b2feb41c9d709d48d7c36026dd850085a01dd158cdbe402/Flask-MQTT-1.0.5.tar.gz" } ] }