All Projects → adevinta → Zoe

adevinta / Zoe

Licence: mit
The Kafka CLI for humans

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Zoe

Kafkatools
CLI tools for monitoring and managing Apache Kafka
Stars: ✭ 13 (-94.01%)
Mutual labels:  cli, kafka
Trubka
A CLI tool for Kafka
Stars: ✭ 296 (+36.41%)
Mutual labels:  cli, kafka
Kcli
A kafka command line browser
Stars: ✭ 148 (-31.8%)
Mutual labels:  cli, kafka
Kt
Kafka command line tool that likes JSON
Stars: ✭ 799 (+268.2%)
Mutual labels:  cli, kafka
Schema Registry
A CLI and Go client for Kafka Schema Registry
Stars: ✭ 105 (-51.61%)
Mutual labels:  cli, kafka
Kafka Connect Tools
Kafka Connect Tooling
Stars: ✭ 115 (-47%)
Mutual labels:  cli, kafka
Kafkactl
Command Line Tool for managing Apache Kafka
Stars: ✭ 177 (-18.43%)
Mutual labels:  cli, kafka
Go Carpet
go-carpet - show test coverage in terminal for Go source files
Stars: ✭ 210 (-3.23%)
Mutual labels:  cli
Kafka
Go driver for Kafka
Stars: ✭ 212 (-2.3%)
Mutual labels:  kafka
Xcolor
Lightweight color picker for X11
Stars: ✭ 209 (-3.69%)
Mutual labels:  cli
Gscholar
Query Google Scholar with Python
Stars: ✭ 209 (-3.69%)
Mutual labels:  cli
Json 2 Csv
Convert JSON to CSV *or* CSV to JSON!
Stars: ✭ 210 (-3.23%)
Mutual labels:  cli
Datauri
Generate Data-URI scheme via terminal or node.js
Stars: ✭ 212 (-2.3%)
Mutual labels:  cli
Kafka Client
Go client library for Apache Kafka
Stars: ✭ 210 (-3.23%)
Mutual labels:  kafka
Atcoder Cli
AtCoder command line tools
Stars: ✭ 213 (-1.84%)
Mutual labels:  cli
Vsh
vsh - HashiCorp Vault interactive shell and cli tool
Stars: ✭ 209 (-3.69%)
Mutual labels:  cli
Csview
📠 A high performance csv viewer with cjk/emoji support.
Stars: ✭ 208 (-4.15%)
Mutual labels:  cli
Octosql
OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
Stars: ✭ 2,579 (+1088.48%)
Mutual labels:  cli
Dry Cli
General purpose Command Line Interface (CLI) framework for Ruby
Stars: ✭ 210 (-3.23%)
Mutual labels:  cli
Ascii py
Make some ascii arts
Stars: ✭ 211 (-2.76%)
Mutual labels:  cli

Build

Zoe: The Kafka CLI for humans

Zoe is a command line tool to interact with kafka in an easy and intuitive way. Wanna see this in action ? check out this demo...

demo

Zoe really shines when it comes to interacting with cloud hosted kafka clusters (kubernetes, AWS, etc.) due to its ability to offload consumption and execution to kubernetes pods or lambda functions (more runners will be supported in the future).

Try zoe from your browser!

You can try zoe from your browser using our new Katacoda tutorials.

Status

Zoe has been open sourced very recently. It is actively being improved towards stabilization. Documentation is also in progress. That said, we are already using it at Adevinta and you can already start trying it if you are not afraid of digging into the code to solve some eventual undocumented problems :) .

If you encounter any bugs, or you have any questions, please raise an issue on the repository.

Key features

Here are some of the most interesting features of zoe :

  • Consume kafka topics from a specific point in time (ex. using --from 'PT5h from the last 5 hours).
  • Filter data based on content (ex. using --filter "id == '12345'" filters records with the selected id).
  • Filter data based on record metadata and record headers (ex. using --filter-meta "offset == '95' && partition == '0'" finds record on given partition with the given offset).
  • Supports offloading consumption of data to multiple lambda functions, kubernetes pods, etc. for parallelism (ex. adding --runner kubernetes would offload all the requests to a configured kubernetes cluster).
  • Monitor consumer groups' offsets.
  • Upload avro schemas from a .avsc or .avdl file using different naming strategies.
  • ... and more.

Install

Go to the install page for instructions on how to install the Zoe CLI.

Sample commands

Read the last 10 records from the input topic from the local kafka cluster (aliases for topics and clusters are set in the configuration) :

zoe --cluster local topics consume input -n 10 

Read the last 10 records from the last 6 hours :

zoe --cluster local topics consume input -n 10 --from 'PT6h'

Filter records belonging to Kasimir :

zoe --cluster local topics consume input -n 10 \
    --from 'PT6h' \
    --filter "user.name.first == 'Kasimir'

Spin up 10 consumers in parallel :

zoe --cluster local topics consume input -n 10 \
    --from 'PT6h' \
    --filter "user.name.first == 'Kasimir' \
    --jobs 10

Offload consumption to kubernetes pods (the target kubernetes cluster is configured in zoe's configuration file):

zoe --runner kubernetes \
    --cluster local topics consume input -n 10 \
    --from 'PT6h' \
    --filter "user.name.first == 'Kasimir' \
    --jobs 10

Documentation

The full documentation can be found on the website.

Maintainers

Contributors

The contributor's guide currently only shows how to build the project from source. Some docs about the architecture of Zoe and how to contribute to the project will be added soon.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].