{ "info": { "author": "Peter Newell", "author_email": "peter.newell@covetrus.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# pyconfluent\npyconfluent brings most Confluent Kafka functionality to Python by providing wrappers for the KSQL and Schema Registry REST APIs, and an in-depth Pythonic interpretation of the Kafka Streams Java package inspired by Robinhood's `faust` and Winton's `winton-kafka-streams`.\n\n### Installation\nThis package was written for Python 3.6 and was not tested on other versions.\n\n`pip3 install pyconfluent`\n\n### Usage\n\npyconfluent requires the Confluent Platform and all its underlying services to be running. When creating class instances, make sure to pass in the list of brokers running or leave it empty to connect to `localhost`. \n\n### KSQL\n\n```\nimport KSQL\n\nk = KSQL() # enter your boostrap_server here if not 'localhost', no port\n\n# create streams from existing topics\nsales_stream = k.ksql(\"CREATE STREAM sales (company VARCHAR, product BIGINT, quantity BIGINT)\"\n \"WITH (KAFKA_TOPIC='sales', VALUE_FORMAT='JSON';\")\n\nreviews_stream = k.ksql(\"CREATE STREAM reviews (company VARCHAR, product BIGINT, review VARCHAR)\"\n \"WITH (KAFKA_TOPIC='sales', VALUE_FORMAT='JSON';\")\n\n# stream to stream join, WITHIN clause required\n# creates and populates new kafka topic\nenriched_stream = k.ksql(\"CREATE STREAM enriched AS SELECT\"\n \"sales.company, sales.product, sales.quantity\"\n \"FROM sales LEFT JOIN reviews WITH 1 HOURS\"\n \"ON sales.company = reviews.company\")\n\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitbub.com/newellp2019/pyconfluent", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyconfluent", "package_url": "https://pypi.org/project/pyconfluent/", "platform": "", "project_url": "https://pypi.org/project/pyconfluent/", "project_urls": { "Homepage": "https://gitbub.com/newellp2019/pyconfluent" }, "release_url": "https://pypi.org/project/pyconfluent/0.0.6/", "requires_dist": [ "requests", "confluent-kafka[avro]", "avro-python3" ], "requires_python": "", "summary": "", "version": "0.0.6" }, "last_serial": 5457992, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "4ed18156b5a8dae80f55311d6eb8a03a", "sha256": "a2d58fdaff4db160e11ac4296fd51ef3487a331779e4f31a725b44645ff2ba4c" }, "downloads": -1, "filename": "pyconfluent-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4ed18156b5a8dae80f55311d6eb8a03a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2109, "upload_time": "2019-06-24T16:48:19", "url": "https://files.pythonhosted.org/packages/6b/ed/8010eeeda71a06d71857b397f5bb98fd5a2a76fa93f777edcf099a8f8bd7/pyconfluent-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14275e74eec9757b70b17a96a372913f", "sha256": "45779f8aa7f297e04dbacda3b70d211a0a1035ccfc5afb2c99d8731c8d7dbfd3" }, "downloads": -1, "filename": "pyconfluent-0.0.1.tar.gz", "has_sig": false, "md5_digest": "14275e74eec9757b70b17a96a372913f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21850, "upload_time": "2019-06-24T16:48:23", "url": "https://files.pythonhosted.org/packages/53/4a/fe0158f2469d1bb8e7990c2fca1a2933e07ae1d444f7e0fa92aa0cdf703e/pyconfluent-0.0.1.tar.gz" } ], "0.0.2": [], "0.0.3": [ { "comment_text": "", "digests": { "md5": "92ce2ab7fd19a2902c9609fab737d459", "sha256": "d51a6e361e0bb9e06f25b6b33cefd9b843044e9f7d154f9aaa30f492fdd75c32" }, "downloads": -1, "filename": "pyconfluent-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "92ce2ab7fd19a2902c9609fab737d459", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2256, "upload_time": "2019-06-24T18:17:58", "url": "https://files.pythonhosted.org/packages/54/6b/01db8cec992b86c211972ae197ac2982afd9f612fa69427a59c4cb3b7985/pyconfluent-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e4a1adf0995536f60f3621ea5382dab", "sha256": "2ba0d33ef804f6d692c12b54b30a8dedefeaeb7cc9b688e99719e8269b385189" }, "downloads": -1, "filename": "pyconfluent-0.0.3.tar.gz", "has_sig": false, "md5_digest": "6e4a1adf0995536f60f3621ea5382dab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22150, "upload_time": "2019-06-24T18:17:59", "url": "https://files.pythonhosted.org/packages/cc/10/cc4e059e8078d7ed7c5dddb03eabf09b4be561cbfc10209a7bf2a2fb0538/pyconfluent-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "8c07d820024a458cb13701d6a6712754", "sha256": "87cd345117873daed1f2d2d285c165aa46a7f962626107621f383695dee5e97f" }, "downloads": -1, "filename": "pyconfluent-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8c07d820024a458cb13701d6a6712754", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44703, "upload_time": "2019-06-24T18:27:24", "url": "https://files.pythonhosted.org/packages/6a/70/4c18c869472829f901bdf81f4ce39aaa922e36d8da8439cabfe466ec4582/pyconfluent-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a58bdb5116ffb214d801676476b0179", "sha256": "ccf07bd991265a1b1ec2888de25e71288c346a83427f5ed1b334e3ab82b79bf8" }, "downloads": -1, "filename": "pyconfluent-0.0.4.tar.gz", "has_sig": false, "md5_digest": "0a58bdb5116ffb214d801676476b0179", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22168, "upload_time": "2019-06-24T18:27:25", "url": "https://files.pythonhosted.org/packages/e9/fe/b8377de2bfafd0895ae7ddf09fbbec209fca43eb3d4a95a752f4e2d1a035/pyconfluent-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "725683e6752632df55080a5a503b032a", "sha256": "6c42ad8bfd233729e8b0258775b42020cd03e751bad301a75251902bb009a3c6" }, "downloads": -1, "filename": "pyconfluent-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "725683e6752632df55080a5a503b032a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44769, "upload_time": "2019-06-25T15:03:44", "url": "https://files.pythonhosted.org/packages/e1/34/9360dbde64394d2342ba6690cded8f0bda556df72ef0b8e751e6ce929bd5/pyconfluent-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ccd90a4409ae25a3089db982500e135", "sha256": "5ce5ef37c0934c6ff275dec9c723cee017bfb49c0b342af62b3e7b52cfefe989" }, "downloads": -1, "filename": "pyconfluent-0.0.5.tar.gz", "has_sig": false, "md5_digest": "1ccd90a4409ae25a3089db982500e135", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22229, "upload_time": "2019-06-25T15:03:45", "url": "https://files.pythonhosted.org/packages/11/88/77f7b478776e6e98d9944198bcea50813dbf4bb71c0e026ddf44ed3d9e0b/pyconfluent-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "8ecf214b665bd6ca2045e19847185d62", "sha256": "ea405eec99ee122eac22a72d20db1506f1d8f0f871ba771f82cb9ff3cff37c29" }, "downloads": -1, "filename": "pyconfluent-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8ecf214b665bd6ca2045e19847185d62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 45226, "upload_time": "2019-06-27T17:15:58", "url": "https://files.pythonhosted.org/packages/e6/2c/5ff000f6ebee9a0c4dfd1f71329c7ffa907be211bcf973ddb68a9fa1933b/pyconfluent-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e052f060e97b918840b0e3db2d98275c", "sha256": "dd9ae5de6f7b41f08ba62251cc847f37e85093a3696d66bf52d1728900415b82" }, "downloads": -1, "filename": "pyconfluent-0.0.6.tar.gz", "has_sig": false, "md5_digest": "e052f060e97b918840b0e3db2d98275c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3515, "upload_time": "2019-06-27T17:15:59", "url": "https://files.pythonhosted.org/packages/91/63/5ac331bbf314d7fbb344b859d95c68fe79ccec5c326fd850175ad673b591/pyconfluent-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8ecf214b665bd6ca2045e19847185d62", "sha256": "ea405eec99ee122eac22a72d20db1506f1d8f0f871ba771f82cb9ff3cff37c29" }, "downloads": -1, "filename": "pyconfluent-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8ecf214b665bd6ca2045e19847185d62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 45226, "upload_time": "2019-06-27T17:15:58", "url": "https://files.pythonhosted.org/packages/e6/2c/5ff000f6ebee9a0c4dfd1f71329c7ffa907be211bcf973ddb68a9fa1933b/pyconfluent-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e052f060e97b918840b0e3db2d98275c", "sha256": "dd9ae5de6f7b41f08ba62251cc847f37e85093a3696d66bf52d1728900415b82" }, "downloads": -1, "filename": "pyconfluent-0.0.6.tar.gz", "has_sig": false, "md5_digest": "e052f060e97b918840b0e3db2d98275c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3515, "upload_time": "2019-06-27T17:15:59", "url": "https://files.pythonhosted.org/packages/91/63/5ac331bbf314d7fbb344b859d95c68fe79ccec5c326fd850175ad673b591/pyconfluent-0.0.6.tar.gz" } ] }