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

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 kafka1:9092
docker run --rm -it --network my-networtk sauljabin/kaskade:latest consumer -b kafka1: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.1.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for kaskade-2.1.1.tar.gz
Algorithm Hash digest
SHA256 962c59baa76d30cb0d2fd6f97b63df7d21c8b4b384999e016c103eed4704bc89
MD5 71929b3f67dbfa28b2277eb3496890ff
BLAKE2b-256 9f84d3e477d33fe851b5bde5194b06b9c74303d338bdd0c5b68c4159fb7d1330

See more details on using hashes here.

Provenance

File details

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

File metadata

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

File hashes

Hashes for kaskade-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 833cec7b80ba61a41ced8836c80bd5003171c3208d65945b4d17f095139e9481
MD5 2900bc5c2574bd913226b8eb3769db0e
BLAKE2b-256 c8a184bcee120d54bd18f8a50dfdc0525f1ffa5572872df8961724cd33446c45

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