{
"info": {
"author": "Luan Guimar\u00e3es Lacerda",
"author_email": "luan@live.in",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Operating System :: POSIX",
"Programming Language :: Python",
"Programming Language :: Python :: 3.6",
"Topic :: Software Development :: Libraries"
],
"description": "\n\n
\n\n\n
\n\n\n
\n\n\n
\n\n\n\n# Python Gabby\n\nA simple controller for MQTT and MQTT-SN pipelines using Mosquitto and RSMB\n\n## Installing\n\nYou can install the package through pip\n\n```bash\npip install gabby\n```\n\n## Examples\n\nBefore run examples, please initialize the Mosquitto or RSMB server.\n\n#### Receiving messages\n\n```python\nfrom gabby.gabby import Gabby, Topic\nfrom gabby.controller import Controller\n\n\nclass PrinterGabby(Gabby):\n def transform(self, message):\n print(f'ARRIVED! Data: {message.data}')\n return []\n\n\nif __name__ == \"__main__\":\n controller = Controller()\n\n topic_A = Topic('queue/a', 'i')\n topic_B = Topic('queue/b', 'i')\n\n printer_gabby = PrinterGabby([topic_A], [topic_B])\n\n controller.add_gabby(printer_gabby)\n controller.run()\n```\n\n#### Transmitting messages\n\n```python\nfrom gabby.gabby import Gabby, Topic\nfrom gabby.message import Message\n\n\nif __name__ == \"__main__\":\n topic_A = Topic('queue/a', 'i')\n topic_B = Topic('queue/b', 'i')\n\n g = Gabby([topic_B], [topic_A])\n data = (1,)\n g.send(Message(data, g.output_topics))\n\n```\n\n#### Using UDP broker\n\n```python\nfrom gabby.gabby import Gabby, Topic\nfrom gabby.controller import Controller\n\n\nclass PrinterGabby(Gabby):\n def transform(self, message):\n print(f'ARRIVED! Data: {message.data}')\n return []\n\n\nif __name__ == \"__main__\":\n controller = Controller()\n\n topic_A = Topic('queue/a', 'i', 'udp')\n topic_B = Topic('queue/b', 'i', 'udp')\n\n printer_gabby = PrinterGabby([topic_A], [topic_B], transmission='udp')\n\n controller.add_gabby(printer_gabby)\n controller.run()\n```\n\n\n#### Using both UDP and TCP topics\n\nYou can use both TCP and UDP brokers\n\n```python\nimport logging\nfrom gabby import Gabby, Topic, Controller\n\n\nclass LoggerGabby(Gabby):\n def transform(self, message):\n logging.debug(f\"ARRIVED! Data: {message.data}\")\n\n\ndef setup_logging(level):\n \"\"\"\n Setup logging level\n \"\"\"\n logging.basicConfig(\n format='%(levelname)s: %(message)s',\n level=getattr(logging, level.upper())\n )\n\n\nif __name__ == \"__main__\":\n setup_logging('debug')\n controller = Controller()\n\n topic_A = Topic('qa', 'i', 'udp')\n topic_F = Topic('qb', 'i', 'udp')\n topic_B = Topic('queue/1', 'i', 'tcp')\n topic_C = Topic('queue/a', 'i', 'tcp')\n topic_D = Topic('queue/b', 'i', 'tcp')\n topic_E = Topic('queue/c', 'i', 'tcp')\n\n logger_gabby = LoggerGabby(\n [topic_A, topic_F, topic_B, topic_C, topic_D, topic_E],\n transmission=['tcp', 'udp']\n )\n\n controller.add_gabby(logger_gabby)\n controller.run()\n\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/luanguimaraesla/gabby",
"keywords": "iot,mosquitto,mqtt,mqttsn,message,queue,pipeline,multiprocessing",
"license": "MIT License",
"maintainer": "",
"maintainer_email": "",
"name": "gabby",
"package_url": "https://pypi.org/project/gabby/",
"platform": "",
"project_url": "https://pypi.org/project/gabby/",
"project_urls": {
"Homepage": "https://github.com/luanguimaraesla/gabby"
},
"release_url": "https://pypi.org/project/gabby/0.1.0/",
"requires_dist": [
"paho-mqtt",
"mqttsn",
"pytest; extra == 'dev'",
"pytest-cov; extra == 'dev'",
"coverage; extra == 'dev'",
"flake8; extra == 'dev'",
"bumpversion; extra == 'dev'",
"docutils; extra == 'docs'",
"sphinx-autobuild; extra == 'docs'"
],
"requires_python": "",
"summary": "A simple controller for message queue pipelines",
"version": "0.1.0"
},
"last_serial": 3972561,
"releases": {
"0.0.1": [
{
"comment_text": "",
"digests": {
"md5": "cd95b30b70f0ed76c38a94e2746b7a6c",
"sha256": "37c8f50c84a42512dc09a09fe59c4e51559709ab91ff4376c7c3be03e08cb3cb"
},
"downloads": -1,
"filename": "gabby-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cd95b30b70f0ed76c38a94e2746b7a6c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1890,
"upload_time": "2018-05-24T21:39:15",
"url": "https://files.pythonhosted.org/packages/d6/f5/aa58b3132dbb8b6fc0634a8ae37ee6394d57ed8bc92f2ec88533d4551b28/gabby-0.0.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "9a48f668248aa24bf25119c283fca5dd",
"sha256": "e6bffdb02adf71e0a750a6778d5a622b8c82977561107b8e449bcdb81a2d897a"
},
"downloads": -1,
"filename": "gabby-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "9a48f668248aa24bf25119c283fca5dd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1738,
"upload_time": "2018-05-24T21:39:17",
"url": "https://files.pythonhosted.org/packages/cf/c6/e8238f8f1cd7496886682b238dcd0636b8ee82bbb5452dc19817a62efc7d/gabby-0.0.1.tar.gz"
}
],
"0.0.2": [
{
"comment_text": "",
"digests": {
"md5": "7c48bc232db5dc5ba69260ce196c506b",
"sha256": "7d0b2477eb5f48bbb2a0bafcbb7102ce392288ebf65570091bd6eda6477f671c"
},
"downloads": -1,
"filename": "gabby-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7c48bc232db5dc5ba69260ce196c506b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 6509,
"upload_time": "2018-05-28T15:16:06",
"url": "https://files.pythonhosted.org/packages/14/4c/f7e2569578cf90f1f1efa9f939d3e22edfed12f1e8305375e4ec0af16e09/gabby-0.0.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f919acfc75a1a29ff73e231517538838",
"sha256": "4268c36fc51a1b9f0f8763699911d1acc7d4467c988ffafead40f75e0593aaf7"
},
"downloads": -1,
"filename": "gabby-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "f919acfc75a1a29ff73e231517538838",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4806,
"upload_time": "2018-05-28T15:16:08",
"url": "https://files.pythonhosted.org/packages/d5/1a/9b4b07f53227c14676d3800f0f02fd5517e3deae1c3d85d68c3d41a66a23/gabby-0.0.2.tar.gz"
}
],
"0.0.3": [
{
"comment_text": "",
"digests": {
"md5": "57efe67d1588eacabb9b00fbc6bbd7e4",
"sha256": "81c7b31ef1191d8234a463149b4d1aeffc0d6ed26cabf882b4bbfb50448ee920"
},
"downloads": -1,
"filename": "gabby-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "57efe67d1588eacabb9b00fbc6bbd7e4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7024,
"upload_time": "2018-05-30T17:23:49",
"url": "https://files.pythonhosted.org/packages/12/b1/0deecdc58acec168ef71db82ad22775a8018bfa346af25f85372eb1f1e72/gabby-0.0.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bb3c65f74ca8bb820a18647dc5e89ca6",
"sha256": "1cd09f598a2d7c22eb8b368e09f7dae3afa6dfc08feb1a58e393f0164eeba72b"
},
"downloads": -1,
"filename": "gabby-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "bb3c65f74ca8bb820a18647dc5e89ca6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5250,
"upload_time": "2018-05-30T17:23:50",
"url": "https://files.pythonhosted.org/packages/34/8e/b16abec8fa93064375fa153cb54a55b19802b551981e503d598fcc0de88a/gabby-0.0.3.tar.gz"
}
],
"0.0.4": [
{
"comment_text": "",
"digests": {
"md5": "76b7ba53ad34f2a8963a79cb7767edee",
"sha256": "33c9bde73226e33298d69ea08a643eb7eba76e4afcebc0049bada0aa190c0193"
},
"downloads": -1,
"filename": "gabby-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "76b7ba53ad34f2a8963a79cb7767edee",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7089,
"upload_time": "2018-06-01T19:49:48",
"url": "https://files.pythonhosted.org/packages/18/e3/0a82169a5c58565bc9fbca53fa6e4362674be778fdcc942d49591ba2b8cb/gabby-0.0.4-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b57a295f33b2d46dc90f1795787917b1",
"sha256": "7a2f2eadaec7c8ca4d7186bd3291a5c6bf34b5e4769b6a70fa0cd93cc5e983cb"
},
"downloads": -1,
"filename": "gabby-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "b57a295f33b2d46dc90f1795787917b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5318,
"upload_time": "2018-06-01T19:49:50",
"url": "https://files.pythonhosted.org/packages/c0/93/3817d317649fa813daf99a4835dcc7a1988877dc0c7cf149764176d71f49/gabby-0.0.4.tar.gz"
}
],
"0.0.5": [
{
"comment_text": "",
"digests": {
"md5": "c525c5411e798f70f935649d93a0d481",
"sha256": "c7c9c3a7c7f5ef4c7169387cb479f1266e22b714d0dd8d08254b714550aa1d33"
},
"downloads": -1,
"filename": "gabby-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c525c5411e798f70f935649d93a0d481",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7806,
"upload_time": "2018-06-01T23:25:50",
"url": "https://files.pythonhosted.org/packages/99/89/4311b3a3dcc2c910f09ebb5714ba9ff550c8c1fe3d507ceafbe03776cc5f/gabby-0.0.5-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f16619c0e6467ca8498b496099a34f4f",
"sha256": "5ce34933342e3c351ee6b635d4ffe3849262747e105680b93a680e1c3525ee6a"
},
"downloads": -1,
"filename": "gabby-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "f16619c0e6467ca8498b496099a34f4f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5697,
"upload_time": "2018-06-01T23:25:51",
"url": "https://files.pythonhosted.org/packages/ab/01/a6f7db39182e23e50ee47ca4694fba58a0404968a55904316b4bfb7b8272/gabby-0.0.5.tar.gz"
}
],
"0.0.6": [
{
"comment_text": "",
"digests": {
"md5": "b0c8c9812e09210f6d94086973604ba1",
"sha256": "adaf3af8035f0d1609dc1c93bc4dbc22b34c04f966cb7c19ebd64e7ad996f7b0"
},
"downloads": -1,
"filename": "gabby-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b0c8c9812e09210f6d94086973604ba1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7816,
"upload_time": "2018-06-06T22:57:07",
"url": "https://files.pythonhosted.org/packages/fc/e3/3a53a5dbb5c047bdcb8382cec6f6fac9a9f6c25958aacb925495725eb751/gabby-0.0.6-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "88ec6c0b666a25e65b3876913c3918a2",
"sha256": "e7b819690066f096264959efea3af2566403f9d45fb5bfa3478c21593b257e38"
},
"downloads": -1,
"filename": "gabby-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "88ec6c0b666a25e65b3876913c3918a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5712,
"upload_time": "2018-06-06T22:57:08",
"url": "https://files.pythonhosted.org/packages/5f/85/1c30130d7c1a55996f004e7cf6658fb36002583e549ebc8f96d27fc98f59/gabby-0.0.6.tar.gz"
}
],
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "e121e4f410e3fef194bffd895a58dadc",
"sha256": "300e170e059fd8e230f1ccade2ceebbc9aeb52669507fc677e045887024fc634"
},
"downloads": -1,
"filename": "gabby-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e121e4f410e3fef194bffd895a58dadc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10999,
"upload_time": "2018-06-18T06:35:10",
"url": "https://files.pythonhosted.org/packages/44/00/29a39b78b177fd1c8ad15d29dab1436d28a2306740f00c3e0939c2b98a50/gabby-0.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bee5eb813f2ae2aae374773352ee1aea",
"sha256": "6c8eddb31967782544085c5c7ddbcff167a590dae682521a07318b9b2b125663"
},
"downloads": -1,
"filename": "gabby-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "bee5eb813f2ae2aae374773352ee1aea",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7495,
"upload_time": "2018-06-18T06:35:11",
"url": "https://files.pythonhosted.org/packages/ec/fb/9252033bcd6625d6aa6d486c60994547933a23b1cc0e703e918bb628a407/gabby-0.1.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "e121e4f410e3fef194bffd895a58dadc",
"sha256": "300e170e059fd8e230f1ccade2ceebbc9aeb52669507fc677e045887024fc634"
},
"downloads": -1,
"filename": "gabby-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e121e4f410e3fef194bffd895a58dadc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10999,
"upload_time": "2018-06-18T06:35:10",
"url": "https://files.pythonhosted.org/packages/44/00/29a39b78b177fd1c8ad15d29dab1436d28a2306740f00c3e0939c2b98a50/gabby-0.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bee5eb813f2ae2aae374773352ee1aea",
"sha256": "6c8eddb31967782544085c5c7ddbcff167a590dae682521a07318b9b2b125663"
},
"downloads": -1,
"filename": "gabby-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "bee5eb813f2ae2aae374773352ee1aea",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7495,
"upload_time": "2018-06-18T06:35:11",
"url": "https://files.pythonhosted.org/packages/ec/fb/9252033bcd6625d6aa6d486c60994547933a23b1cc0e703e918bb628a407/gabby-0.1.0.tar.gz"
}
]
}