{ "info": { "author": "Dinesh Sawant", "author_email": "dineshsawant300@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "## Kines\n[![PyPI version](https://img.shields.io/pypi/v/kines.svg)](https://badge.fury.io/py/kines) [![Build Status](https://travis-ci.org/dinsaw/kines.svg?branch=master)](https://travis-ci.org/dinsaw/kines) [![codecov](https://codecov.io/gh/dinsaw/kines/branch/master/graph/badge.svg)](https://codecov.io/gh/dinsaw/kines)\n\nFriendly Command Line Interface for [Amazon Kinesis Data Streams](https://aws.amazon.com/kinesis/data-streams/)\n\n![Kines Demo](https://raw.githubusercontent.com/dinsaw/kines/master/demo/kines-demo.gif)\n\n#### Install\n- `pip install kines`\n\n#### Setup \n- `aws configure`\n\n#### Commands \n##### List all Kinesis Stream\n- `kines ls`\n\nThis command lists streams with their open shard count, enhanced consumers count, retention period and encryption type. Internally this command calls `list-streams` and `describe_stream_summary` methods of [Boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kinesis.html#id34) Kinesis client.\n\n![Kines ls](https://raw.githubusercontent.com/dinsaw/kines/master/demo/kines-ls.png)\n\n##### List Kinesis Stream Shards\n- `kines lss `\n\nThis command will show you open as well as closed shards of a Kinesis stream.\n\n- For detailed output Run `kines lss -d`\n\n![Kines lss](https://raw.githubusercontent.com/dinsaw/kines/master/demo/kines-lss-and-d.png)\n\n##### Find shard for partition key\n- `kines find prod-clickstream -p 123455 -p 8900`\n\nFrom [Kinesis Docs](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html)\n> A partition key is used to group data by shard within a stream. Kinesis Data Streams segregates the data records belonging to a stream into multiple shards. It uses the partition key that is associated with each data record to determine which shard a given data record belongs to. Partition keys are Unicode strings with a maximum length limit of 256 bytes. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. When an application puts data into a stream, it must specify a partition key.\n\nThis command comes handy when you want to determine shard for a partition key. This Command can accept multiple partition keys.\n\n![Kines find](https://raw.githubusercontent.com/dinsaw/kines/master/demo/kines-find.png)\n\n#### Walk through kinesis records\n- `kines walk -s -n `\n\nYou can use this command to debug kinesis records. This command internally creates a [Shard Iterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html). If you don't specify `sequence-number` then a ShardIterator is created with type `TRIM_HORIZON`, which allows you to fetch from oldest Kinesis records in shard. When you specify `sequence-number` a ShardIterator is created with `AT_SEQUENCE_NUMBER` type, which fetches data from the specified sequence number.\nThe Kinesis record's data is decoded using `base64` decoder. You can press \u23ce to fetch more records or type `n` to abort.\n\n![Kines Walk](https://raw.githubusercontent.com/dinsaw/kines/master/demo/kines-walk-demo.gif)\n\n#### Get report for Kinesis Stream\n\nThe report command gives you statistics about your Kinesis Stream. Internally, this command calls [`get_metric_data`](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudwatch.html#CloudWatch.Client.get_metric_data) of Boto3 Cloudwatch client.\n\nPlease take a look at legends command for shortforms used in this report.\n\n![Kines Report 60 hours 6 hours](https://raw.githubusercontent.com/dinsaw/kines/master/demo/kines-report-h-60-p-60.png)\n\n#### View all short forms and legends\n- `kines legends`\n\n![Kines Legends](https://raw.githubusercontent.com/dinsaw/kines/master/demo/kines-legends.png)\n\n#### How to build in Dev?\n- `pip install --editable .`\n\n#### How to publish to pypi?\n- `python3 setup.py sdist bdist_wheel`\n- `twine upload --skip-existing dist/*`\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://github.com/dinsaw/kines", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "kines", "package_url": "https://pypi.org/project/kines/", "platform": "", "project_url": "https://pypi.org/project/kines/", "project_urls": { "Homepage": "https://github.com/dinsaw/kines" }, "release_url": "https://pypi.org/project/kines/0.0.10/", "requires_dist": [ "Click", "boto3", "terminaltables" ], "requires_python": ">=3.6", "summary": "Friendly Command Line Interface for Amazon Kinesis Data Streams", "version": "0.0.10" }, "last_serial": 5959405, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "cad45c0393da8c2621d0280cfe4ba555", "sha256": "c963f707ed4e332e5eeaa45e2da4977849e63f03be9b9677476952dfa42013d7" }, "downloads": -1, "filename": "kines-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cad45c0393da8c2621d0280cfe4ba555", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4286, "upload_time": "2019-09-23T11:43:17", "url": "https://files.pythonhosted.org/packages/5d/93/1977bcfa2bf6c7c64c98725b7b82f00c14e8aee94a41a7d41b5c063ea9b6/kines-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "daf5227ed8f37c7148603705d22d4295", "sha256": "bb1fddc2902a92db61eb97891403314ad4341b4865abd4428ecc3de0b95c8bd1" }, "downloads": -1, "filename": "kines-0.0.1.tar.gz", "has_sig": false, "md5_digest": "daf5227ed8f37c7148603705d22d4295", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4312, "upload_time": "2019-09-23T11:43:20", "url": "https://files.pythonhosted.org/packages/ea/ae/d484c7c85d931b0c15d73d47774a83c9cba99881653cf1075472de0bb736/kines-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "6e9ad186d152671d1931a38f3d1f2557", "sha256": "fdb2a26c4eed64dff8614ea5563d9c45a61135ad7d912dcb61e19e6e620a1858" }, "downloads": -1, "filename": "kines-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "6e9ad186d152671d1931a38f3d1f2557", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 25395, "upload_time": "2019-10-11T09:35:34", "url": "https://files.pythonhosted.org/packages/f1/f2/ac905e4f171f43c45f1e3941850de05e3eff0817a30844ad405cdca9c653/kines-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ab8cff0f8d0c1f527b688b095f9353d", "sha256": "b9844937583a581a66800f17ac64b746bebfdc235c4dfb0199796e8d0c0f2fc0" }, "downloads": -1, "filename": "kines-0.0.10.tar.gz", "has_sig": false, "md5_digest": "6ab8cff0f8d0c1f527b688b095f9353d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11936, "upload_time": "2019-10-11T09:35:36", "url": "https://files.pythonhosted.org/packages/47/10/8408bc6a336ecc9a7c76350e2944e4af3f7d7558c0469f630bc7ba6de878/kines-0.0.10.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ae72ebc07d52ddfbb24e8a86a6d6b717", "sha256": "985c127286ddda586e6468060bfa68f32a906ab9dd7d3a5d52a32bc3b4322853" }, "downloads": -1, "filename": "kines-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ae72ebc07d52ddfbb24e8a86a6d6b717", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16208, "upload_time": "2019-09-23T12:13:01", "url": "https://files.pythonhosted.org/packages/70/15/f368edc50d3753017b498becb6f32b889fd53225239dfc22fe5b8614e001/kines-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "893078d1b9e40368737c6316c116bb5e", "sha256": "c1935d3077462b8a219169c2e2d23c683c7ebcb7504247d1d1940ed8a0443fda" }, "downloads": -1, "filename": "kines-0.0.2.tar.gz", "has_sig": false, "md5_digest": "893078d1b9e40368737c6316c116bb5e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 14748, "upload_time": "2019-09-23T12:13:02", "url": "https://files.pythonhosted.org/packages/ab/30/0b36472a05c3f9e7fedede18cf01b99d956ca5b75fc337ed140b62b16c16/kines-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "bf1914773b10984f1d8c2020b9bc2f1d", "sha256": "dd28d0ddba6e3a1f65372bcdf09133fe9c95b3558c295370485a7b3401fa42a0" }, "downloads": -1, "filename": "kines-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bf1914773b10984f1d8c2020b9bc2f1d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16204, "upload_time": "2019-09-23T12:53:17", "url": "https://files.pythonhosted.org/packages/3f/ec/b53e35b25f98b7fbc514cfaff6e09da1b132378576dadd58a5a192d4c70e/kines-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b292e185fb4e1570d2316252abb9ff02", "sha256": "47b484487d15641fbf8b3c10b8b4f7dac9294a0d171ef368e7748cb8320fa132" }, "downloads": -1, "filename": "kines-0.0.3.tar.gz", "has_sig": false, "md5_digest": "b292e185fb4e1570d2316252abb9ff02", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 14740, "upload_time": "2019-09-23T12:53:19", "url": "https://files.pythonhosted.org/packages/b8/e3/c8081c2f68a03dfe7930a56dd5c3398bf8d1b5273e20ce6bb5df18c431ff/kines-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "52eb0a26b62c577eb374eed35564d475", "sha256": "a525181c0b06d709d31cd131329778d9cb2bc3e9598c84dcbf376ed6916cb6c9" }, "downloads": -1, "filename": "kines-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "52eb0a26b62c577eb374eed35564d475", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16309, "upload_time": "2019-09-23T19:00:18", "url": "https://files.pythonhosted.org/packages/1f/64/14ebf17121304c06a18b5302520e3433011ef9673183ac7250259e346299/kines-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "431a303b5116588d09ecda3515425412", "sha256": "27f1198027fbedc268eba37eda6ac1bf58d4d9b4af4885384c03741bba653956" }, "downloads": -1, "filename": "kines-0.0.4.tar.gz", "has_sig": false, "md5_digest": "431a303b5116588d09ecda3515425412", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 9941, "upload_time": "2019-09-23T19:00:21", "url": "https://files.pythonhosted.org/packages/ad/71/d9b3215f2c41246b6afad2d88ac6af96d60c7ccfc52e87f08c9f32525cc3/kines-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "48bafc8df1d971e0f678ad2f525adfd3", "sha256": "a4208a265c60a53005b4d05528b96c7c006d2d9f08bfcf2f2431e9ee51e76fc3" }, "downloads": -1, "filename": "kines-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "48bafc8df1d971e0f678ad2f525adfd3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16307, "upload_time": "2019-09-23T19:02:33", "url": "https://files.pythonhosted.org/packages/4d/fa/3901c9a258791b0056b5f6c6483119a3c150c76309332c6d891913effe53/kines-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d53d0a4bb2013eb91f323943e292cd06", "sha256": "09342e155d0283e00ae19fbf7e50015bec6b966e8b0bf6eb49bb7afe5177dbb9" }, "downloads": -1, "filename": "kines-0.0.5.tar.gz", "has_sig": false, "md5_digest": "d53d0a4bb2013eb91f323943e292cd06", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 9891, "upload_time": "2019-09-23T19:02:35", "url": "https://files.pythonhosted.org/packages/5f/60/80bf57c100e2bda4a7482f6e1ff79824829e81f5ad707c2bb2ff9f957693/kines-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "ee4f34634fa47d31cc2c54779a4e364c", "sha256": "e5b68a8484ae1f7381d6bc1ebde2b7d525a1a4a97cf2d13731e0d29baa54969f" }, "downloads": -1, "filename": "kines-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "ee4f34634fa47d31cc2c54779a4e364c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16077, "upload_time": "2019-09-23T20:08:55", "url": "https://files.pythonhosted.org/packages/55/d0/237b419ea1f962e9922f2abf354a2dddbadcbd9b1318fb679419b7a0131b/kines-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14923b9b507fcc4acd320a87ba2fc9bf", "sha256": "515ea47cabb98ed42fc68c11f70df98e3aa8a17a91c225e504e8f6abd83711c3" }, "downloads": -1, "filename": "kines-0.0.6.tar.gz", "has_sig": false, "md5_digest": "14923b9b507fcc4acd320a87ba2fc9bf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 9579, "upload_time": "2019-09-23T20:08:58", "url": "https://files.pythonhosted.org/packages/65/c3/53d017f35eccdf879ef516b71a1146351e59b1610f07569632cc4ab2e46d/kines-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "03bf00a0d37549c9709c0540b93941b1", "sha256": "53a1b520dff76d02d85c9eb44cbc2c0d01ce0dc66e4a2874846f630c0574f78d" }, "downloads": -1, "filename": "kines-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "03bf00a0d37549c9709c0540b93941b1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15608, "upload_time": "2019-10-03T19:00:47", "url": "https://files.pythonhosted.org/packages/86/f8/50bcf1e98e36725c9d71f0ace8e348e17b395d624fa4fc177cb70a99849e/kines-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8340e134912a7ecf60515039bc351234", "sha256": "5966889b89fd567edab3b6074e4d4c6bf57667ec6b476ae1cce51ee384941354" }, "downloads": -1, "filename": "kines-0.0.7.tar.gz", "has_sig": false, "md5_digest": "8340e134912a7ecf60515039bc351234", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6257, "upload_time": "2019-10-03T19:00:50", "url": "https://files.pythonhosted.org/packages/6a/a7/2fb93b751921613a0cc44af3887b5385cb106e4f609f25719b5a887e836b/kines-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "50b457cf7dc42584b2bca1d3a0f39fb6", "sha256": "6c0178703a5d002b8de61594b4b620cec326bcf1f12ed85d772657308808439b" }, "downloads": -1, "filename": "kines-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "50b457cf7dc42584b2bca1d3a0f39fb6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15612, "upload_time": "2019-10-03T19:07:02", "url": "https://files.pythonhosted.org/packages/b5/a1/784c1cef8f79c164446bb50e1d5565a8c366489c26e134a85cf33950064e/kines-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3def6bb5ed88ea7f3151c83e8d8b8609", "sha256": "98d1cce846ca3853add952ee96a18e626c9ccac83a9fb6e4ea628d3b4a302dd4" }, "downloads": -1, "filename": "kines-0.0.8.tar.gz", "has_sig": false, "md5_digest": "3def6bb5ed88ea7f3151c83e8d8b8609", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6243, "upload_time": "2019-10-03T19:07:04", "url": "https://files.pythonhosted.org/packages/5f/03/d77f36e0ee0529e9f7bc0533563f8beb7e41db9ff0206ece8b296d6f767a/kines-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "e56906a942737b73c44feff389b05e3e", "sha256": "b58d41fc7e8f96c524376e7d14215bb820a8e6c45dc3fbd7a198f527efde0182" }, "downloads": -1, "filename": "kines-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "e56906a942737b73c44feff389b05e3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16752, "upload_time": "2019-10-04T16:10:32", "url": "https://files.pythonhosted.org/packages/ad/0e/8cd330b7a3e0fcd7dbed79ef9d1930d06052a7cd1860519ce71002142840/kines-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2562e6f74a2ae4c13930d0095efc586", "sha256": "161bebb4b85c085df34f2dd862e200468a7c41424b9a62d59e7e76f4143819ac" }, "downloads": -1, "filename": "kines-0.0.9.tar.gz", "has_sig": false, "md5_digest": "c2562e6f74a2ae4c13930d0095efc586", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7332, "upload_time": "2019-10-04T16:10:34", "url": "https://files.pythonhosted.org/packages/19/a8/4830bc95b6d48d2234d5ee92feb58bee86a9ec5a6d143d10845ab2d439b8/kines-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6e9ad186d152671d1931a38f3d1f2557", "sha256": "fdb2a26c4eed64dff8614ea5563d9c45a61135ad7d912dcb61e19e6e620a1858" }, "downloads": -1, "filename": "kines-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "6e9ad186d152671d1931a38f3d1f2557", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 25395, "upload_time": "2019-10-11T09:35:34", "url": "https://files.pythonhosted.org/packages/f1/f2/ac905e4f171f43c45f1e3941850de05e3eff0817a30844ad405cdca9c653/kines-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ab8cff0f8d0c1f527b688b095f9353d", "sha256": "b9844937583a581a66800f17ac64b746bebfdc235c4dfb0199796e8d0c0f2fc0" }, "downloads": -1, "filename": "kines-0.0.10.tar.gz", "has_sig": false, "md5_digest": "6ab8cff0f8d0c1f527b688b095f9353d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11936, "upload_time": "2019-10-11T09:35:36", "url": "https://files.pythonhosted.org/packages/47/10/8408bc6a336ecc9a7c76350e2944e4af3f7d7558c0469f630bc7ba6de878/kines-0.0.10.tar.gz" } ] }