{ "info": { "author": "Prashant Lokhande", "author_email": "lprashant94@gmail.com", "bugtrack_url": null, "classifiers": [ "Operating System :: OS Independent", "Programming Language :: Python :: 2" ], "description": "## MQTT Coordinated consumer.\n\nKafka Motivated Coordinated Consumer for MQTT\n\n`pip install mqtt-coordinated`\n\n## MQTT Consumer CoordinatorManager\n\nCoordinatorManager class is manager class for mqtt consumer. It lets you connect to a MQTT server and subscribe to multiple topics. It gives you on_message callback for actions after receiving new message.\n\n```\n>>> from mqtt import CoordinatorManager\n>>> \n>>> manager = CoordinatorManager('my-manager', 'iot.eclipse.org')\n>>> manager.start()\n>>> \n>>> consumer = manager.coordinated_consumer\n>>> consumer.on_message = on_message # Pass callback name here.\n>>> consumer.subscribe(\"house/bulb\")\n>>> consumer.poll(100) # Batch message reading construct for streaming purpose\n```\n\n```\n# Disconnect and stop consuming\n>>> consumer.disconnect()\n>>> manager.stop()\n```\n\nThere are 2 methods for consuming events, \n- registering for on_message\n- Reading messages in batches. Batches are internally stored in memory, and not stored on persistent disc for now.\n\n\n## MQTT Producer CoordinatedProducer\n\nCoordinatedProducer class is MQTT producer which will create number of partitions on MQTT topic. you can pass partition number or partition_key to this producer. Messages with same partition_key are garuanteed to be produced on same partition. \n\n```\n>>> from mqtt import CoordinatedProducer\n>>> producer = CoordinatedProducer('iot.eclipse.org')\n>>> producer.publish_on_partition(\"house/bulb\", \"on\") # Message will be published on random partition\n>>> producer.publish_on_partition(\"house/bulb\", \"on\", partition=5) # Message will be published on 5th partition\n>>> producer.publish_on_partition(\"house/bulb\", \"on\", partition_key='message_key') # All messages with partition_key will be published on same partition.\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/lprashant-94/mqtt-coordinator-consumer", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "mqtt-coordinated", "package_url": "https://pypi.org/project/mqtt-coordinated/", "platform": "", "project_url": "https://pypi.org/project/mqtt-coordinated/", "project_urls": { "Homepage": "https://github.com/lprashant-94/mqtt-coordinator-consumer" }, "release_url": "https://pypi.org/project/mqtt-coordinated/0.0.2/", "requires_dist": null, "requires_python": "", "summary": "Coordinated Producer Consumer for MQTT", "version": "0.0.2" }, "last_serial": 4235064, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "c30684317c0409c0f37c1c49978a82ee", "sha256": "72b5b64d81c993e86730f8d52546b7d370a5ef0b682be79b8385770570a6b550" }, "downloads": -1, "filename": "mqtt_coordinated-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "c30684317c0409c0f37c1c49978a82ee", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5894, "upload_time": "2018-08-12T10:13:52", "url": "https://files.pythonhosted.org/packages/7d/5a/984485ee709b87f13ad62d753781e70f6eab8d3c3b8a43dab257082f3233/mqtt_coordinated-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92fadb006161f11bb341f397ff803d0b", "sha256": "f9c7ec20f15762be42f9dc132c40c596d1ba410d20f162a2d8ac6e329ded1e66" }, "downloads": -1, "filename": "mqtt_coordinated-0.0.1.tar.gz", "has_sig": false, "md5_digest": "92fadb006161f11bb341f397ff803d0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4629, "upload_time": "2018-08-12T10:13:53", "url": "https://files.pythonhosted.org/packages/5c/50/a01924eb97ff22f9e6557881c2445ac4e14a3388ffc1cc52c2f7a9c8936c/mqtt_coordinated-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "999b4511e9492fa9aa26bc7e5aa158ae", "sha256": "76382fdfab9309c2f2e9d4e185f59acf77feba7bed2e7a45756202a5843235e9" }, "downloads": -1, "filename": "mqtt_coordinated-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "999b4511e9492fa9aa26bc7e5aa158ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6202, "upload_time": "2018-09-03T17:59:29", "url": "https://files.pythonhosted.org/packages/e2/49/94b859d4a03b4158efd4d145b3e0bbf80e8050ab06919fa389a2612ef0fd/mqtt_coordinated-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a543dfee60d731ac0f9fc784d687c3c", "sha256": "423ed7c6424864ea606284551c08b74468d3fad04ca60b64eb8026963b646a5d" }, "downloads": -1, "filename": "mqtt_coordinated-0.0.2.tar.gz", "has_sig": false, "md5_digest": "7a543dfee60d731ac0f9fc784d687c3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4976, "upload_time": "2018-09-03T17:59:31", "url": "https://files.pythonhosted.org/packages/84/31/a4f052c885b32f3e7faeddb48df0d6285e549fa293dda91b39eaa8c67e73/mqtt_coordinated-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "999b4511e9492fa9aa26bc7e5aa158ae", "sha256": "76382fdfab9309c2f2e9d4e185f59acf77feba7bed2e7a45756202a5843235e9" }, "downloads": -1, "filename": "mqtt_coordinated-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "999b4511e9492fa9aa26bc7e5aa158ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6202, "upload_time": "2018-09-03T17:59:29", "url": "https://files.pythonhosted.org/packages/e2/49/94b859d4a03b4158efd4d145b3e0bbf80e8050ab06919fa389a2612ef0fd/mqtt_coordinated-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a543dfee60d731ac0f9fc784d687c3c", "sha256": "423ed7c6424864ea606284551c08b74468d3fad04ca60b64eb8026963b646a5d" }, "downloads": -1, "filename": "mqtt_coordinated-0.0.2.tar.gz", "has_sig": false, "md5_digest": "7a543dfee60d731ac0f9fc784d687c3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4976, "upload_time": "2018-09-03T17:59:31", "url": "https://files.pythonhosted.org/packages/84/31/a4f052c885b32f3e7faeddb48df0d6285e549fa293dda91b39eaa8c67e73/mqtt_coordinated-0.0.2.tar.gz" } ] }