Zurück zum Ranking

sauljabin/kaskade

Pythongithub.com/sauljabin/kaskade

kaskade is a text user interface for kafka, which allows you to interact and consume topics from your terminal in style!

tuiclikafkakafka-uikafka-clikafka-tuikafka-toolskafka-utilspython
Sterne-Wachstum
Sterne
1k
Forks
18
Wochenwachstum
Issues
13
5001k
Okt. 2021Mai 2023Dez. 2024Juli 2026
ArtefaktePyPIpip install kaskade
README

kaskade

GitHub donate Libraries.io dependency status for latest release MIT License Pypi Version Homebrew Version Docker Version Platform Python Versions

Kaskade

Kaskade is a text user interface (TUI) for Apache Kafka, built with Textual by Textualize.

It includes features like:

Admin

  • List topics, partitions, groups and group members.
  • Topic information like lag, replicas and records count.
  • Create, edit and delete topics.
  • Filter topics by name.

Consumer

  • Json, string, integer, long, float, boolean and double deserialization.
  • Filter by key, value, header and/or partition.
  • Schema Registry support for avro and json.
  • Protobuf deserialization support without Schema Registry.
  • Avro deserialization without Schema Registry.

Limitations

Kaskade does not include:

  • Schema Registry for protobuf.
  • Runtime auto-refresh.

Screenshots

kaskade kaskade
kaskade kaskade

Installation

Install it with brew:

brew install kaskade

brew installation.

Install it with pipx:

pipx install kaskade

pipx installation.

Running kaskade

Admin view:

kaskade admin -b my-kafka:9092

Consumer view:

kaskade consumer -b my-kafka:9092 -t my-topic

Configuration examples

Multiple bootstrap servers:

kaskade admin -b my-kafka:9092,my-kafka:9093

Consume and deserialize:

kaskade consumer -b my-kafka:9092 -t my-json-topic -k json -v json

Supported deserializers [bytes, boolean, string, long, integer, double, float, json, avro, protobuf, registry]

Consuming from the beginning:

kaskade consumer -b my-kafka:9092 -t my-topic --from-beginning

Schema registry simple connection deserializer:

kaskade consumer -b my-kafka:9092 -t my-avro-topic \
        -k registry -v registry \
        --registry url=http://my-schema-registry:8081

For more information about Schema Registry configurations go to: Confluent Schema Registry client.

Apicurio registry:

kaskade consumer -b my-kafka:9092 -t my-avro-topic \
        -k registry -v registry \
        --registry url=http://my-apicurio-registry:8081/apis/ccompat/v7

For more about apicurio go to: Apicurio registry.

SSL encryption example:

kaskade admin -b my-kafka:9092 -c security.protocol=SSL

For more information about SSL encryption and SSL authentication go to: Configure librdkafka client.

Confluent cloud admin and consumer:

kaskade admin -b ${BOOTSTRAP_SERVERS} \
        -c security.protocol=SASL_SSL \
        -c sasl.mechanism=PLAIN \
        -c sasl.username=${CLUSTER_API_KEY} \
        -c sasl.password=${CLUSTER_API_SECRET}
kaskade consumer -b ${BOOTSTRAP_SERVERS} -t my-avro-topic \
        -k string -v registry \
        -c security.protocol=SASL_SSL \
        -c sasl.mechanism=PLAIN \
        -c sasl.username=${CLUSTER_API_KEY} \
        -c sasl.password=${CLUSTER_API_SECRET} \
        --registry url=${SCHEMA_REGISTRY_URL} \
        --registry basic.auth.user.info=${SR_API_KEY}:${SR_API_SECRET}

More about confluent cloud configuration at: Kafka client quick start for Confluent Cloud.

Running with docker:

docker run --rm -it --network my-networtk sauljabin/kaskade:latest \
    admin -b my-kafka:9092
docker run --rm -it --network my-networtk sauljabin/kaskade:latest \
    consumer -b my-kafka:9092 -t my-topic

Avro consumer:

Consume using my-schema.avsc file:

kaskade consumer -b my-kafka:9092 --from-beginning \
        -k string -v avro \
        -t my-avro-topic \
        --avro value=my-schema.avsc

Protobuf consumer:

Install protoc command:

brew install protobuf

Generate a Descriptor Set file from your .proto file:

protoc --include_imports \
       --descriptor_set_out=my-descriptor.desc \
       --proto_path=${PROTO_PATH} \
       ${PROTO_PATH}/my-proto.proto

Consume using my-descriptor.desc file:

kaskade consumer -b my-kafka:9092 --from-beginning \
        -k string -v protobuf \
        -t my-protobuf-topic \
        --protobuf descriptor=my-descriptor.desc \
        --protobuf value=mypackage.MyMessage

More about protobuf and FileDescriptorSet at: Protocol Buffers documentation.

Questions

For Q&A go to GitHub Discussions.

Development

For development instructions see DEVELOPMENT.md.

Ähnliche Repositories
code-yeongyu/oh-my-openagent

omo/lazycodex: The coding agent for tokenmaxxers;the one and only agent harness for complex codebases. For your Codex, for your OpenCode

TypeScriptnpmOtheropencodeai
omo.dev
66.4k5.4k
Textualize/rich

Rich is a Python library for rich text and beautiful formatting in the terminal.

PythonPyPIMIT Licensepythonpython3
rich.readthedocs.io/en/latest/
56.9k2.3k
wagoodman/dive

A tool for exploring each layer in a docker image

GoGo ModulesMIT Licensedockerdocker-image
54.3k2k
charmbracelet/bubbletea

A powerful little TUI framework 🏗

GoGo ModulesMIT Licensecliframework
43.9k1.3k
sxyazi/yazi

💥 Blazing fast terminal file manager written in Rust, based on async I/O.

Rustcrates.ioMIT Licenseasyncioconcurrency
yazi-rs.github.io
40.6k945
Hmbown/CodeWhale

Open-source, community-driven agent harness

Rustcrates.ioMIT Licenseclideepseek
codewhale.net
40k3.4k
Textualize/textual

The lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser.

PythonPyPIMIT Licenseterminalpython
textual.textualize.io
36.7k1.3k
esengine/DeepSeek-Reasonix

DeepSeek-native AI coding agent for your terminal. Engineered around prefix-cache stability — leave it running.

GoGo ModulesMIT Licenseagentagent-framework
reasonix.io
27.5k1.8k
gitui-org/gitui

Blazing 💥 fast terminal-ui for git written in rust 🦀

Rustcrates.ioMIT Licenserusttui
22.3k751
ratatui/ratatui

A Rust crate for cooking up terminal user interfaces (TUIs) 👨‍🍳🐀 https://ratatui.rs

Rustcrates.ioMIT Licenserustterminal
ratatui.rs
21.8k719
jarun/nnn

n³ The unorthodox terminal file manager

CBSD 2-Clause "Simplified" Licensefile-managerdisk-usage
21.7k811
allinurl/goaccess

GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.

CMIT Licensegoaccessc
goaccess.io
20.7k1.2k