Package: kafka-shell
kafka-shellA supercharged, interactive Kafka shell built on top of the existing Kafka CLI tools.Kafka shell allows you to configure a list of clusters, and properties such as--bootstrap-serverand--zookeeperfor the currently selected cluster will automatically be added when the command is run. No more remembering long server addresses or ports!InstallationKafka shell requirespythonandpip. Kafka shell is a wrapper over the existing Kafka command-line tools, so
those must exist within yourPATH.You can install kafka-shell using pip:pipinstallkafka-shellUsageKafka shell is an interactive shell. You can run it from the terminal by:kafka-shellFrom here, you can start typingkafkaand the autocomplete will kick in.Key CommandsChange Cluster: The selected cluster commands are run against can be cycled through by pressingF2.Fuzzy Search: By default, fuzzy search of commands is enabled. This can be toggled on & off by pressingF3.In-line Help: By default, in-line help is shown along side the drop-down suggestion list. This can be toggled on & off by pressingF9.Exit: The shell can be exited by pressingF10or by typingexit.ConfigurationKafka shell allows you to configure settings and Kafka clusters to run commands against through a configuration file.By default, whenkafka-shellis first run, a directory in your home directory is generated at~/.kafka-shell. A configuration file calledconfig.yamlis generated in that new folder. It is a YAML file containing details about clusters,kafka-shellconfiguration, and more.SeeCONFIGURATION.mdto add a cluster to your configuration or to set otherkafka-shellsettings.FeaturesKafka shell simplifies running complex Kafka CLI commands as well as provides smart auto-completion of commands, options, and more. /Users/shawn/.kafka-shell/config.yamlAuto-completion of commands, options, and configurationsConfigure clusters to run commands against and switch between themFish-style auto suggestionsCommand historyContextual helpToolbar optionsCompletion of ConfigurationsAuto completion of Kafka configuration keys and their values.Configure Clusters, Schema Registries, & MoreConfigure clusters and their properties will automatically be added to commands being run.Supported CommandsCurrently, the following commands are supported:kafka-topicskafka-configskafka-console-consumerkafka-console-producerkafka-avro-console-consumerkafka-avro-console-producerkafka-verifiable-consumerkafka-verifiable-producerkafka-preferred-replica-electionkafka-replica-verificationkafka-reassign-partitionskafka-broker-api-versionskafka-consumer-groupskafka-delete-recordskafka-log-dirskafka-dump-logkafka-aclsksqlHelper CommandsCurrently, kafka-shell has helper commands:exit: exit the shellclear: clear the shellcluster-select: select a clustercluster-describe: describe a cluster configIn-line help for each command and option is shown by default. This can be toggled byF9.ContributingContributions are very welcome. SeeCONTRIBUTING.mdfor details.AcknowledgementThis project was inspired by multiple amazing shells & prompts, such assaws,kube-shell,kube-prompt,http-prompt, andwharfee. It was built usingprompt-toolkit. Much ❤️ toApache KafkaandConfluentfor their helpful CLI tools.LicenseCopyright (c) 2019 Shawn Seymour.Licensed under theApache 2.0 license.