Skip to main content

kaskade is a terminal user interface for kafka

Project description

kaskade

GitHub DockerHub MIT License Version Python Versions Platform Libraries.io dependency status for latest release

Kaskade

Kaskade is a text user interface (TUI) for Apache Kafka, built with Textual. 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 with avro.

Screenshots

kaskade kaskade
kaskade kaskade

Installation

Install with pipx:

pipx install kaskade

pipx will install kaskade and kskd aliases.

Upgrade with pipx:

pipx upgrade kaskade

How to install pipx for your OS at: pipx Installation.

Running kaskade

Help:

kaskade --help
kaskade admin --help
kaskade consumer --help

Admin view:

kaskade admin -b localhost:9092

Consumer view:

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

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

Configuration examples

Multiple bootstrap servers:

kaskade admin -b broker1:9092,broker2:9092

Consume and deserialize:

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

Consuming from the beginning:

kaskade consumer -b localhost:9092 -t my-topic -x auto.offset.reset=earliest

Schema registry simple connection and avro deserialization:

kaskade consumer -b localhost:9092 -s url=http://localhost:8081 -t my-topic -k avro -v avro

More Schema Registry configurations at: SchemaRegistryClient.

librdkafka clients do not currently support AVRO Unions in (de)serialization, more at: Limitations for librdkafka clients.

SSL encryption example:

kaskade admin -b ${BOOTSTRAP_SERVERS} -x security.protocol=SSL

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

Confluent cloud admin:

kaskade admin -b ${BOOTSTRAP_SERVERS} \
        -x security.protocol=SASL_SSL \
        -x sasl.mechanism=PLAIN \
        -x sasl.username=${CLUSTER_API_KEY} \
        -x sasl.password=${CLUSTER_API_SECRET}

Confluent cloud consumer:

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

More about confluent cloud configuration at: Kafka Client Quick Start for Confluent Cloud.

Development

For development instructions see DEVELOPMENT.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kaskade-2.1.3.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

kaskade-2.1.3-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file kaskade-2.1.3.tar.gz.

File metadata

  • Download URL: kaskade-2.1.3.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for kaskade-2.1.3.tar.gz
Algorithm Hash digest
SHA256 2c3b4c87710f1586a6f68d283db6ae2ed0f13eb520ee6c20755c4addab8d9405
MD5 e88e11bd12085c0e43c825571a2e6569
BLAKE2b-256 794a3f748f9bf4f6c17c2e83ef9a2f9a5c15f6b9fb973d5e268eb30be6c74078

See more details on using hashes here.

Provenance

File details

Details for the file kaskade-2.1.3-py3-none-any.whl.

File metadata

  • Download URL: kaskade-2.1.3-py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for kaskade-2.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c22edc06e5c3bc77a89f78c61276a188b2be2299ca8e5b483f6308a28f1d7ff0
MD5 7a5a3953b15de950a68f15115d62453d
BLAKE2b-256 ca22835a915ef9e0ff39a2b648376e6f602551d3dcd42d4b0638f1dbcf19eb83

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page