{ "info": { "author": "n.io", "author_email": "info@n.io", "bugtrack_url": null, "classifiers": [ "License :: Other/Proprietary License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5" ], "description": "# Pubkeeper Python Client\n\nThe Pubkeeper Python Client enables you to connect to a Pubkeeper Server and to participate in the production and subscription of data topics.\n\n## Quick Start\n\n### Install for Use\n### Requirements\n\nThe Python Pubkeeper client requires Python version 3.5 or higher\n\n\n#### Install\n\nInto your environment install the wheel files together:\n\n```\npip3 install pubkeeper.client\n```\n\n### Install for Development\n#### Clone the repo\n\nIf you have access to the Pubkeeper project you may install directly from source for development purposes.\n\n```\ngit clone git@github.com:pubkeeper/python-client\n```\n\n#### Install\n\nEnsure the protocol, and communicaiton wheels are installed into your environment before installing the Pubkeeper Python Client and Brews. Then you can install Pubkeeper Python Client and Brews into your own virtualenv.\n\n```\npip3 install -e /path/to/where/you/cloned/python-client\n```\n\n### Using the Pubkeeper Python Client\n#### Authentication Tokens\n\nPubkeeper Server handles client authentication with JWT. As such you will need to acquire a token from the server you are going to be connecting to.\n\n#### Running\n\nIn the most basic example, we will connect to the Pubkeeper Server, and register a single Brewer and publish a string. Note that the client sits upon a Tornado IOLoop, as such it runs inside of its own thread, and will need to be gracefilly shutdown when your program ends. This example assumes you are running an unsecured Pubkeeper Server, and Websocket Server on your localhost. You will need to replace these with actual values.\n\n```py\nfrom pubkeeper.client import PubkeeperClient\nfrom pubkeeper.brew.websocket.brew import WebsocketBrew\nfrom time import sleep\n\nconfig = {\n 'host': 'localhost',\n 'port': 9898,\n 'secure': False\n 'token': 'your-auth-token',\n 'bridge_mode': False\n}\nclient = PubkeeperClient(config)\n\nwebsocket_brew = WebsocketBrew()\nwebsocket_brew.configure({\n 'ws_host': 'localhost',\n 'ws_port': 8000,\n 'ws_secure': False\n})\n\nclient.add_brew(websocket_brew)\nclient.start()\n\ntry:\n brewer = client.add_brewer('demo.topic')\n\n while True:\n brewer.brew(b'data')\n sleep(1)\nexcept KeyboardInterrupt:\n client.shutdown()\n```\n\n## Complete Documentation\n\nA more complete documentation of the Pubkeeper Python Client, and Pubkeeper System may be found at: [docs.pubkeeper.com](http://docs.pubkeeper.com)\n\n# License\nThis software is proprietary and may only be used in conjunction with a current niolabs plan and the associated nio software license. See [https://niolabs.com/pricing](https://niolabs.com/pricing) for available plans.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/pubkeeper/python-client", "keywords": "pubkeeper", "license": "", "maintainer": "", "maintainer_email": "", "name": "pubkeeper.client", "package_url": "https://pypi.org/project/pubkeeper.client/", "platform": "", "project_url": "https://pypi.org/project/pubkeeper.client/", "project_urls": { "Homepage": "http://github.com/pubkeeper/python-client" }, "release_url": "https://pypi.org/project/pubkeeper.client/1.1.4/", "requires_dist": null, "requires_python": "", "summary": "Brew, Fill, Consume", "version": "1.1.4" }, "last_serial": 4087068, "releases": { "0.2.2": [ { "comment_text": "", "digests": { "md5": "04d196505d8c74af3a6253d9f45000af", "sha256": "a680248642875d01039e654d3dbca55ed0cef1d44b54d33fd07c503e178d1010" }, "downloads": -1, "filename": "pubkeeper.client-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "04d196505d8c74af3a6253d9f45000af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28763, "upload_time": "2017-08-21T21:08:05", "url": "https://files.pythonhosted.org/packages/68/f1/4c53385fa70d2155ce8ecc85fd4b087e8899987322485f3eb2017bfb76f1/pubkeeper.client-0.2.2-py3-none-any.whl" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "5725ae3bc9607f4ca52a1671188e59a1", "sha256": "7f3f30f4614efa6af421879142718168c4f050a382acbef5a4803b34f6ab6c05" }, "downloads": -1, "filename": "pubkeeper.client-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5725ae3bc9607f4ca52a1671188e59a1", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 29316, "upload_time": "2017-09-07T21:06:30", "url": "https://files.pythonhosted.org/packages/74/41/b78f7e48e477737900adad651ad27d8d7c33576dd9260499bf1d1b63e693/pubkeeper.client-0.2.3-py3-none-any.whl" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "e07539badde444b738434eb68bafcdb6", "sha256": "f6bb5358eae9833f6bd2b6e31aad2814bab09107325a12d35763c6e6d244fe8f" }, "downloads": -1, "filename": "pubkeeper.client-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e07539badde444b738434eb68bafcdb6", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 22927, "upload_time": "2017-09-13T16:50:47", "url": "https://files.pythonhosted.org/packages/4c/db/161f8282f20f69540c8d15e8b1e1578c02609d2b44e042ee3ed826e51eaa/pubkeeper.client-0.2.4-py3-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "c5f16cdc4cbfcb5e3057f2bf25a526bd", "sha256": "f908b03945ef89a0d6772dc2a9f03676450788e0c3142de6b73220832fc4bff8" }, "downloads": -1, "filename": "pubkeeper.client-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c5f16cdc4cbfcb5e3057f2bf25a526bd", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 42215, "upload_time": "2017-11-15T16:26:28", "url": "https://files.pythonhosted.org/packages/f2/ea/99907188fac47322b326c70abd3bd29bd2fff0c33e43a52bb0b037a67f0e/pubkeeper.client-1.0.0-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "fc0e048fc364a097def9bf7c8bb3a654", "sha256": "e450fa097d12330207a735155e6409fa6495d3cb0e392e95d23d725f8c22c91c" }, "downloads": -1, "filename": "pubkeeper.client-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fc0e048fc364a097def9bf7c8bb3a654", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 34639, "upload_time": "2017-11-15T18:07:22", "url": "https://files.pythonhosted.org/packages/1e/b4/84449b05721ef1236d7220aff23def3883915248d4f2ae2e1a00d9b853f1/pubkeeper.client-1.0.1-py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "35b8021f4f6aebc57170721db0f383c9", "sha256": "8eb898b97954d011d2503d1a128a9d62dda63a66c99eef6aaf277558e4167f09" }, "downloads": -1, "filename": "pubkeeper.client-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "35b8021f4f6aebc57170721db0f383c9", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 34960, "upload_time": "2018-02-28T16:21:30", "url": "https://files.pythonhosted.org/packages/a7/0f/d5010916d965ec6590f0fdbec28bc89349c7888c5f8092cd525c3f83d156/pubkeeper.client-1.0.2-py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "573297b036a631ecd8425bb105bc0895", "sha256": "72747fdc3f6610946afb9139471d75ab34e5076d486d36646c9194bef2dffca3" }, "downloads": -1, "filename": "pubkeeper.client-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "573297b036a631ecd8425bb105bc0895", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 34967, "upload_time": "2018-03-05T16:55:26", "url": "https://files.pythonhosted.org/packages/7c/d4/c2cd5601fb9bb62c10599eb70993dd6b94731184738f00d868a52ca3a6c4/pubkeeper.client-1.0.3-py3-none-any.whl" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "7c519ba727655579398a755efc168353", "sha256": "54997edb719089eed3eb9dc1b387c84ecb8884f49cb0b6d0e67d39ac10a0b399" }, "downloads": -1, "filename": "pubkeeper.client-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "7c519ba727655579398a755efc168353", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 34972, "upload_time": "2018-03-09T21:45:00", "url": "https://files.pythonhosted.org/packages/d3/14/5311c4fbb79a6fae8eac03ecea91aa2f3c5432ce4b51c0a1055c8ce639c9/pubkeeper.client-1.0.4-py3-none-any.whl" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "0e5dd042586f0e9d097d9381b056d8d3", "sha256": "ff19b575f4198e2db463cffa1a3cd7753addfddd91d8303f9c19a90209d73f93" }, "downloads": -1, "filename": "pubkeeper.client-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0e5dd042586f0e9d097d9381b056d8d3", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 34976, "upload_time": "2018-03-28T18:43:14", "url": "https://files.pythonhosted.org/packages/cb/d4/9b405d0e704260ab30f258c7fc00349822f9d24e74183c21628b9e509c06/pubkeeper.client-1.0.5-py3-none-any.whl" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "c1cf7ce89d39d5c0e742caf6b24358dd", "sha256": "4b49a56b7c8679bc5c7b5240b8d540c59e66316e0bff9c42c0bafe804a94e199" }, "downloads": -1, "filename": "pubkeeper.client-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c1cf7ce89d39d5c0e742caf6b24358dd", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 35224, "upload_time": "2018-05-31T21:31:14", "url": "https://files.pythonhosted.org/packages/66/eb/ed71bba68852f8723242942e08ba26376646b8ecfe0a67f072899590b67e/pubkeeper.client-1.0.6-py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "edf33b3bbc8828aca8332ad5db2981ae", "sha256": "4e719f1a4fdcd00dead12fc65bf17d0fefb43fcfb4d8d42a94f275c4f67deacc" }, "downloads": -1, "filename": "pubkeeper.client-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "edf33b3bbc8828aca8332ad5db2981ae", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 36636, "upload_time": "2018-06-12T00:13:13", "url": "https://files.pythonhosted.org/packages/d2/cc/56c3140a2ab546becbc702ab37c2f79c38cfdda4b8aaed21346087c107e7/pubkeeper.client-1.1.0-py3-none-any.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "042bb0839fbf858dff7248b0698069e4", "sha256": "0a25764cb2014060c9341e4f3a7bb544b46ea44fb07750889ff8b6e6d9648322" }, "downloads": -1, "filename": "pubkeeper.client-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "042bb0839fbf858dff7248b0698069e4", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 36661, "upload_time": "2018-06-12T17:54:15", "url": "https://files.pythonhosted.org/packages/7c/ba/6367f17c64e89cea6908124114406063af6cf50327e600b0bdc82eaa3593/pubkeeper.client-1.1.1-py3-none-any.whl" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "7d4ec2dfa4fef72f20ed20157379c22e", "sha256": "e7a6f383f628f89971c0831cdc41f61f820d48a0e89277589695c38ea165dc5d" }, "downloads": -1, "filename": "pubkeeper.client-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7d4ec2dfa4fef72f20ed20157379c22e", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 36735, "upload_time": "2018-06-12T21:24:23", "url": "https://files.pythonhosted.org/packages/55/74/03a6c7f8b7c0622af2f6ea8b1e06c9ba3018834a2cf79fb6cf570d23160b/pubkeeper.client-1.1.2-py3-none-any.whl" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "1c0a0057a42c1ab9270d3c56d3a14f4d", "sha256": "5d1aedb8e94b8a10615a1a81fc2adaba5b82182e327ecccac77a42673d6fd4f0" }, "downloads": -1, "filename": "pubkeeper.client-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1c0a0057a42c1ab9270d3c56d3a14f4d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 36778, "upload_time": "2018-07-20T20:26:49", "url": "https://files.pythonhosted.org/packages/5f/69/be34366a76b2ebeb9819480298fa208ff0afd35d9b4e1302e0561e5e3cb6/pubkeeper.client-1.1.3-py3-none-any.whl" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "024938eb53629b6d0b40cf8516a71e61", "sha256": "0db59929da5895285c9b27e3ea5451d73763a79b258105c270d547868e0ce4a8" }, "downloads": -1, "filename": "pubkeeper.client-1.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "024938eb53629b6d0b40cf8516a71e61", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 28525, "upload_time": "2018-07-20T20:53:57", "url": "https://files.pythonhosted.org/packages/98/20/b26b2b9f08fdb44714ad8159c1484ac2235e8d91dd1ebf07122d9d6a6d70/pubkeeper.client-1.1.4-py3-none-any.whl" } ], "1.1.4a1": [ { "comment_text": "", "digests": { "md5": "e44578afae11d9ce7cd0b2c719d90082", "sha256": "3b9054490a42123bc3a26d93127e4ff84f842fcad2cd4d505e6d16e39f20ae5f" }, "downloads": -1, "filename": "pubkeeper.client-1.1.4a1-py3-none-any.whl", "has_sig": false, "md5_digest": "e44578afae11d9ce7cd0b2c719d90082", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 28554, "upload_time": "2018-07-20T20:41:40", "url": "https://files.pythonhosted.org/packages/63/96/dc6f25f143c74bce8cc624796246e3d2ba9eed4ddc9116cf0bfdd26f631d/pubkeeper.client-1.1.4a1-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "024938eb53629b6d0b40cf8516a71e61", "sha256": "0db59929da5895285c9b27e3ea5451d73763a79b258105c270d547868e0ce4a8" }, "downloads": -1, "filename": "pubkeeper.client-1.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "024938eb53629b6d0b40cf8516a71e61", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 28525, "upload_time": "2018-07-20T20:53:57", "url": "https://files.pythonhosted.org/packages/98/20/b26b2b9f08fdb44714ad8159c1484ac2235e8d91dd1ebf07122d9d6a6d70/pubkeeper.client-1.1.4-py3-none-any.whl" } ] }