{ "info": { "author": "Xavier Lesa", "author_email": "xavierlesa@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP" ], "description": "# channels-asgi-mqtt\nInterface between MQTT and ASGI and Channels 2.0 compatible\n\n\n## Installation\n\n```bash\npip install chasgimqtt\n```\n\n\n## Configuration\n\nFirst you would to configure a valid `channel_layer` endpoint to consume and connect between chasgimqtt and channels.\n\nIn `your_channel_application/asgi.py`:\n\n```python\nimport os\nimport django\nfrom channels.routing import get_default_application\nfrom channels.layers import get_channel_layer\n\nos.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"your_channel_application.settings\")\ndjango.setup()\n\n# Application\napplication = get_default_application()\n\n# Layers\nchannel_layer = get_channel_layer()\n```\n\n\n## Usage\n\n```bash\nchasgimqtt -H iot.eclipse.org -p 1883 --topic=some_topic:2 your_channel_application.asgi:channel_layer\n```\n\n\n## Options\n\n```\nchasgimqtt -h\n\nusage: chasgimqtt [-h] [-H HOST] [-p PORT] [-v] [-U USERNAME] [-P PASSWORD]\n [--topic TOPICS] [-n CHANNEL_NAME] [-s CHANNEL_SUB]\n [-x CHANNEL_PUB]\n channel_layer\n\nSimple MQTT bridge for ASGI\n\npositional arguments:\n channel_layer The ASGI channel layer instance to use as\n path.to.module:instance.path\n\noptional arguments:\n -h, --help show this help message and exit\n -H HOST, --host HOST MQTT broker host\n -p PORT, --port PORT MQTT broker port\n -v, --verbosity Set verbosity\n -U USERNAME, --username USERNAME\n MQTT username to authorised connection\n -P PASSWORD, --password PASSWORD\n MQTT password to authorised connection\n --topic TOPICS MQTT topics with qos to subscribe --topic TOPIC:QOS\n --topic /office/sensor:0 --topic /home/sensor:1 If\n empty (#, 2) is set as default\n -n CHANNEL_NAME, --channel-name CHANNEL_NAME\n Name of Channels's channel to send and receive\n messages\n -s CHANNEL_SUB, --channel-sub CHANNEL_SUB\n Name of Channels's channel for MQTT Sub messages,\n default is mqtt.pub\n -x CHANNEL_PUB, --channel-pub CHANNEL_PUB\n Name of Channels's channel for MQTT Pub messages,\n default is mqtt.sub\n```\n\n\n**HOST**: MQTT broker host\n\n**PORT**: MQTT broker port, default 1883\n\n**USERNAME**: MQTT username to authorised connection\n\n**PASSWORD**: MQTT password to authorised connection\n\n**TOPICS**: MQTT topics with qos to subscribe. This option expect a valid topic name and a QOS value splited by `:`\n\nTo subscribe to a list of topics use the same option `--topic`.\n\n```\n--topic some_topic:qos --topic another_topic:qos --topic home/kitchen_gas_sensor:2 --topic home/office_air_sensor:0\n```\n\n**CHANNEL_NAME** : Name of Channels's channel to send and receive messages, this `channel_name` must to exist in your channel's consumer, default is `mqtt`.\n\n**CHANNEL_SUB** : Name of Channels's channel for MQTT Sub messages, default is `mqtt.sub`.\n\n**CHANNEL_PUB** : Name of Channels's channel for MQTT Pub messages, default is `mqtt.pub`.\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/xavierlesa/channels-asgi-mqtt", "keywords": "", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "chasgimqtt", "package_url": "https://pypi.org/project/chasgimqtt/", "platform": "", "project_url": "https://pypi.org/project/chasgimqtt/", "project_urls": { "Homepage": "https://github.com/xavierlesa/channels-asgi-mqtt" }, "release_url": "https://pypi.org/project/chasgimqtt/0.3.0/", "requires_dist": [ "paho-mqtt" ], "requires_python": "", "summary": "Interface between MQTT broker and ASGI and Channels 2.0 compatible", "version": "0.3.0" }, "last_serial": 4422190, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "07aef4bf0e9b13850f5f7d596ff893f6", "sha256": "a9657fa8669e1e718aeec5e6c435839030135362c91b17be30fa160b7f57a673" }, "downloads": -1, "filename": "chasgimqtt-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07aef4bf0e9b13850f5f7d596ff893f6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5626, "upload_time": "2018-10-27T15:00:55", "url": "https://files.pythonhosted.org/packages/1d/03/79a3d239e48d4504e14910169b8800489b18ba0d25ca884ab2991bc6d43e/chasgimqtt-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdaa23c0478a71bddf1881f98c4413e5", "sha256": "ced75b438109d3999c3f431ce7e507466dd956d99a04c555e883741162d03542" }, "downloads": -1, "filename": "chasgimqtt-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cdaa23c0478a71bddf1881f98c4413e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5659, "upload_time": "2018-10-27T15:00:57", "url": "https://files.pythonhosted.org/packages/1b/25/74f998868f311c2d3e119d5180e3bfa03fcb864ce636ade990d153f692d8/chasgimqtt-0.2.0-py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f4f2f27c07b6d5cee697c0eaf817a2dd", "sha256": "84a902b01d607178279435bde18491979d0043a62fe439c78b7c10b9854265e8" }, "downloads": -1, "filename": "chasgimqtt-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f4f2f27c07b6d5cee697c0eaf817a2dd", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5624, "upload_time": "2018-02-10T17:32:33", "url": "https://files.pythonhosted.org/packages/b2/b8/9f38bb95d801cce8e113fefa234c70eb6b52258c4a6a7ffbd305e9a643ea/chasgimqtt-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6840d184b5436d441b183918fbd1631c", "sha256": "c8e5166a31be29605669c143bea22d69fa3608d78003425ad9796335d69f9539" }, "downloads": -1, "filename": "chasgimqtt-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6840d184b5436d441b183918fbd1631c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5630, "upload_time": "2018-02-10T17:32:34", "url": "https://files.pythonhosted.org/packages/7b/12/46f9b32f04df0e8dc6c80bd30c6180567b8ad1117441d5f34883d59585df/chasgimqtt-0.2.1-py2.py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "46c7808e6b653ad2b9597c7c5d090e10", "sha256": "feda7ffdccf75efdf7564bb2cf33484831697171d256a7bb6a0089012bb349cd" }, "downloads": -1, "filename": "chasgimqtt-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "46c7808e6b653ad2b9597c7c5d090e10", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6113, "upload_time": "2018-10-27T15:00:58", "url": "https://files.pythonhosted.org/packages/7a/ad/6060d6d9921fc18d375b0238f04068d2437c5ae44c237422d5ec578af99b/chasgimqtt-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62c0a63c1b8ece3f0709b9810e738132", "sha256": "20c2a8139f9594ef1e6c2168fea4d0a8225258d9c745fe674e2c4d484342b8de" }, "downloads": -1, "filename": "chasgimqtt-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "62c0a63c1b8ece3f0709b9810e738132", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18417, "upload_time": "2018-10-27T15:01:00", "url": "https://files.pythonhosted.org/packages/aa/b9/c0dcbdbd67d989cd73febabf47e14866eea8501a9f081b7c9e8405cd407d/chasgimqtt-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ce1d226ec5c7239d56c4e22f57bdddf", "sha256": "017cb7518a55728172da0c3bb99d760f3702786cf54b5f88bb7c7f05e11d7df5" }, "downloads": -1, "filename": "chasgimqtt-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6ce1d226ec5c7239d56c4e22f57bdddf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5470, "upload_time": "2018-10-27T15:01:01", "url": "https://files.pythonhosted.org/packages/7d/3e/7d40d5a3d96b8dd3d5dc9e33189fd8500544b6af74135c848f83437bf40b/chasgimqtt-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "46c7808e6b653ad2b9597c7c5d090e10", "sha256": "feda7ffdccf75efdf7564bb2cf33484831697171d256a7bb6a0089012bb349cd" }, "downloads": -1, "filename": "chasgimqtt-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "46c7808e6b653ad2b9597c7c5d090e10", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6113, "upload_time": "2018-10-27T15:00:58", "url": "https://files.pythonhosted.org/packages/7a/ad/6060d6d9921fc18d375b0238f04068d2437c5ae44c237422d5ec578af99b/chasgimqtt-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62c0a63c1b8ece3f0709b9810e738132", "sha256": "20c2a8139f9594ef1e6c2168fea4d0a8225258d9c745fe674e2c4d484342b8de" }, "downloads": -1, "filename": "chasgimqtt-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "62c0a63c1b8ece3f0709b9810e738132", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18417, "upload_time": "2018-10-27T15:01:00", "url": "https://files.pythonhosted.org/packages/aa/b9/c0dcbdbd67d989cd73febabf47e14866eea8501a9f081b7c9e8405cd407d/chasgimqtt-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ce1d226ec5c7239d56c4e22f57bdddf", "sha256": "017cb7518a55728172da0c3bb99d760f3702786cf54b5f88bb7c7f05e11d7df5" }, "downloads": -1, "filename": "chasgimqtt-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6ce1d226ec5c7239d56c4e22f57bdddf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5470, "upload_time": "2018-10-27T15:01:01", "url": "https://files.pythonhosted.org/packages/7d/3e/7d40d5a3d96b8dd3d5dc9e33189fd8500544b6af74135c848f83437bf40b/chasgimqtt-0.3.0.tar.gz" } ] }