{ "info": { "author": "Shawn Seymour", "author_email": "shawn@devshawn.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: Unix", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# kafka-shell\n\n[![Build Status](https://travis-ci.org/devshawn/kafka-shell.svg?branch=master)](https://travis-ci.org/devshawn/kafka-shell) [![codecov](https://codecov.io/gh/devshawn/kafka-shell/branch/master/graph/badge.svg)](https://codecov.io/gh/devshawn/kafka-shell) ![PyPI](https://img.shields.io/pypi/v/kafka-shell.svg?color=blue) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kafka-shell.svg) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)\n\nA supercharged, interactive Kafka shell built on top of the existing Kafka CLI tools.\n\n

\n \n

\n\nKafka shell allows you to configure a list of clusters, and properties such as `--bootstrap-server` and `--zookeeper` for the currently selected cluster will automatically be added when the command is run. No more remembering long server addresses or ports! \n\n## Installation\nKafka shell requires `python` and `pip`. Kafka shell is a wrapper over the existing Kafka command-line tools, so \nthose must exist within your `PATH`.\n\nYou can install kafka-shell using pip:\n\n```bash\npip install kafka-shell\n```\n\n## Usage\nKafka shell is an interactive shell. You can run it from the terminal by:\n\n```bash\nkafka-shell\n```\n\nFrom here, you can start typing `kafka` and the autocomplete will kick in.\n\n**Key Commands**\n- **Change Cluster**: The selected cluster commands are run against can be cycled through by pressing `F2`.\n- **Fuzzy Search**: By default, fuzzy search of commands is enabled. This can be toggled on & off by pressing `F3`.\n- **In-line Help**: By default, in-line help is shown along side the drop-down suggestion list. This can be toggled on & off by pressing `F9`.\n- **Exit**: The shell can be exited by pressing `F10` or by typing `exit`. \n\n## Configuration\nKafka shell allows you to configure settings and Kafka clusters to run commands against through a configuration file.\n\nBy default, when `kafka-shell` is first run, a directory in your home directory is generated at `~/.kafka-shell`. A configuration file called `config.yaml` is generated in that new folder. It is a YAML file containing details about clusters, `kafka-shell` configuration, and more.\n\nSee [CONFIGURATION.md][configuration] to add a cluster to your configuration or to set other `kafka-shell` settings.\n\n## Features\nKafka shell simplifies running complex Kafka CLI commands as well as provides smart auto-completion of commands, options, and more. /Users/shawn/.kafka-shell/config.yaml\n\n- Auto-completion of commands, options, and configurations\n- Configure clusters to run commands against and switch between them\n- Fish-style auto suggestions\n- Command history\n- Contextual help\n- Toolbar options\n\n**Completion of Configurations**\n\nAuto completion of Kafka configuration keys and their values.\n\n

\n \n

\n\n**Configure Clusters, Schema Registries, & More**\n\nConfigure clusters and their properties will automatically be added to commands being run.\n\n

\n \n

\n\n## Supported Commands\nCurrently, the following commands are supported:\n\n* `kafka-topics`\n* `kafka-configs`\n* `kafka-console-consumer`\n* `kafka-console-producer`\n* `kafka-avro-console-consumer`\n* `kafka-avro-console-producer`\n* `kafka-verifiable-consumer`\n* `kafka-verifiable-producer`\n* `kafka-preferred-replica-election`\n* `kafka-replica-verification`\n* `kafka-reassign-partitions`\n* `kafka-broker-api-versions`\n* `kafka-consumer-groups`\n* `kafka-delete-records`\n* `kafka-log-dirs`\n* `kafka-dump-log`\n* `kafka-acls`\n* `ksql`\n\n**Helper Commands**\n\nCurrently, kafka-shell has helper commands:\n\n* `exit`: exit the shell\n* `clear`: clear the shell\n* `cluster-select`: select a cluster\n* `cluster-describe`: describe a cluster config\n\nIn-line help for each command and option is shown by default. This can be toggled by `F9`.\n\n## Contributing\nContributions are very welcome. See [CONTRIBUTING.md][contributing] for details.\n\n## Acknowledgement\nThis project was inspired by multiple amazing shells & prompts, such as [saws][saws], [kube-shell][kube-shell], [kube-prompt][kube-prompt], [http-prompt][http-prompt], and [wharfee][wharfee]. It was built using [prompt-toolkit][prompt-toolkit]. Much \u2764\ufe0f to [Apache Kafka][kafka] and [Confluent][confluent] for their helpful CLI tools. \n\n## License\nCopyright (c) 2019 Shawn Seymour.\n\nLicensed under the [Apache 2.0 license][license].\n\n[saws]: https://github.com/donnemartin/saws\n[kube-shell]: https://github.com/cloudnativelabs/kube-shell\n[kube-prompt]: https://github.com/c-bata/kube-prompt\n[http-prompt]: https://github.com/eliangcs/http-prompt\n[wharfee]: https://github.com/j-bennet/wharfee\n[prompt-toolkit]: https://github.com/prompt-toolkit/python-prompt-toolkit\n[kafka]: https://kafka.apache.org\n[confluent]: https://www.confluent.io/\n[configuration]: CONFIGURATION.md\n[contributing]: CONTRIBUTING.md\n[license]: LICENSE\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/devshawn/kafka-shell", "keywords": "kafka,shell,prompt,apache,autocomplete,streams,cli", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "kafka-shell", "package_url": "https://pypi.org/project/kafka-shell/", "platform": "", "project_url": "https://pypi.org/project/kafka-shell/", "project_urls": { "Homepage": "https://github.com/devshawn/kafka-shell" }, "release_url": "https://pypi.org/project/kafka-shell/0.1.2/", "requires_dist": [ "prompt-toolkit (>=2.0.9)", "pygments (<3.0.0,>=2.1.3)", "fuzzyfinder (>=2.0.0)", "jsonschema (>=3.0.1)", "oyaml (>=0.8)" ], "requires_python": "", "summary": "A supercharged, interactive Kafka shell built on top of the existing Kafka CLI tools.", "version": "0.1.2" }, "last_serial": 5965370, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d3f558e7b9831a90b9a9fd5e7985c3c5", "sha256": "18b487c2932fbb301a3b8f3ed5b28b7b189d9156d135fc143358cee9169212bb" }, "downloads": -1, "filename": "kafka_shell-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d3f558e7b9831a90b9a9fd5e7985c3c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43665, "upload_time": "2019-03-20T01:58:40", "url": "https://files.pythonhosted.org/packages/90/73/d8d2cbd06f3754f8e67a54066fd7dd0cb9c2d25d35988ab23aec7b35feee/kafka_shell-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2dfa9fc55accb6b628e1faebc18aaa7", "sha256": "978bf5b460dbeb181c9685ddee083aa2fdda925d26a071583c85ecb17fb99ac1" }, "downloads": -1, "filename": "kafka-shell-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d2dfa9fc55accb6b628e1faebc18aaa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28759, "upload_time": "2019-03-20T01:58:42", "url": "https://files.pythonhosted.org/packages/f3/5b/e9664cd312b5e33fd53f084d41b380d10f7c586deca872d1f7fa69c951da/kafka-shell-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "4b75078770a6da5450997fd638098005", "sha256": "7af8b186aff2dcba9d1f91a6b265d51f9c08fc6b48c85f0b1fd82b365e1afe8b" }, "downloads": -1, "filename": "kafka_shell-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4b75078770a6da5450997fd638098005", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44800, "upload_time": "2019-04-28T21:09:03", "url": "https://files.pythonhosted.org/packages/a6/f1/2876b780a47fcf2185602b98e786bec5a66f403e03baba129aff4db812ce/kafka_shell-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c17f0dc54a2592c93e21918b07a1feb7", "sha256": "650b4bc392f1223095a946b34aab43a88408b8102dd4a795b0cba23a65ce1d2f" }, "downloads": -1, "filename": "kafka-shell-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c17f0dc54a2592c93e21918b07a1feb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25545, "upload_time": "2019-04-28T21:09:07", "url": "https://files.pythonhosted.org/packages/7b/08/a9ab9e8cd3bb2d4c42eb74eee75b992241f8f73c99c13d5928c3fea3db74/kafka-shell-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "991f51d4f00b493652c32a0502225f34", "sha256": "cbecb77dd9608999fce46dba230f7b32b4239bc748da9662717fcacd91ec9448" }, "downloads": -1, "filename": "kafka_shell-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "991f51d4f00b493652c32a0502225f34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44813, "upload_time": "2019-10-12T21:00:56", "url": "https://files.pythonhosted.org/packages/15/fa/a62eb44278f4c6acd0aaffd7af84aa23d8ee7041caf8710f4d60180a0cf1/kafka_shell-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60dec0bf0d6020a7ecd37abce11eb007", "sha256": "af01adcbdb3f60f521bd6cd94be0cc70591e33611cade60ebda6cd1f77dbf1af" }, "downloads": -1, "filename": "kafka-shell-0.1.2.tar.gz", "has_sig": false, "md5_digest": "60dec0bf0d6020a7ecd37abce11eb007", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29854, "upload_time": "2019-10-12T21:00:58", "url": "https://files.pythonhosted.org/packages/26/00/3ad5c25f90c1bfe7394bf2e3f29ea7fc3063c0466ea169ecba7636613ffc/kafka-shell-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "991f51d4f00b493652c32a0502225f34", "sha256": "cbecb77dd9608999fce46dba230f7b32b4239bc748da9662717fcacd91ec9448" }, "downloads": -1, "filename": "kafka_shell-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "991f51d4f00b493652c32a0502225f34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44813, "upload_time": "2019-10-12T21:00:56", "url": "https://files.pythonhosted.org/packages/15/fa/a62eb44278f4c6acd0aaffd7af84aa23d8ee7041caf8710f4d60180a0cf1/kafka_shell-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60dec0bf0d6020a7ecd37abce11eb007", "sha256": "af01adcbdb3f60f521bd6cd94be0cc70591e33611cade60ebda6cd1f77dbf1af" }, "downloads": -1, "filename": "kafka-shell-0.1.2.tar.gz", "has_sig": false, "md5_digest": "60dec0bf0d6020a7ecd37abce11eb007", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29854, "upload_time": "2019-10-12T21:00:58", "url": "https://files.pythonhosted.org/packages/26/00/3ad5c25f90c1bfe7394bf2e3f29ea7fc3063c0466ea169ecba7636613ffc/kafka-shell-0.1.2.tar.gz" } ] }