July 14th, 2024

Show HN: I made a TUI for kafka (kaskade)

The GitHub repository "Kaskade" offers a text user interface for Apache Kafka, providing admin features and consumer functionalities. It includes installation guidelines, configuration examples, development guidance, and screenshots. Visit [sauljabin/kaskade] for more details.

Read original articleLink Icon
QuestionsSuggestionsResources
Show HN: I made a TUI for kafka (kaskade)

The GitHub repository "Kaskade" presents a text user interface (TUI) for Apache Kafka, developed with Textual by Textualize. It offers admin features like listing topics, partitions, and groups, as well as consumer functionalities such as deserialization, filtering, and schema registry support. The repository contains installation guidelines, instructions for running Kaskade, configuration examples, and development guidance. Additionally, it includes screenshots displaying the admin and consumer perspectives of Kaskade. For more information or support regarding this project, visit the repository at [sauljabin/kaskade](https://github.com/sauljabin/kaskade).

AI: What people are saying
The comments on the GitHub repository "Kaskade" discuss various aspects and functionalities of the tool.
  • Users are interested in advanced features like partition rebalancing, topic cleanup, and Protobuf deserialization via Schema Registry.
  • There is a discussion about the terminology "Text User Interface" vs. "Terminal User Interface."
  • Some users express appreciation and interest in the tool, with mentions of its feature on Terminal Trove and its development using the Textual TUI framework.
  • One user suggests sharing optimized data table functionalities with the Textual community.
  • Installation instructions are provided by a user, highlighting the ease of setup.
Link Icon 10 comments
By @cyberpunk - 7 months
Can it rebalance partitions? And delete crap from topics?

Every time we have to call up our ops guys for this; it’s like “deep breath, first utter some indescribable magic aws iam nonsense and somehow get an ephemeral shell on some rando bitnami Kafka image’s ./kafka-topic shell scripts to work over the next few hours” and ultimately succeed but with deep regrets

By @oulipo - 7 months
In Textual, I wanted to write a logging app with a big data table and filtering, and I'd hoped that it would be a bit more straightforward to write an optimized one

I guess it would be a nice addition to have some kind of FilterableDataTable with history, filtering, caching, and fast rendering

I guess you probably developed something like that for this tool, perhaps you could share it in Textual, or some kind of "textual widgets extension lib"?

By @kvakerok - 7 months
I'm not even going to ask why. Just start following the repo...
By @ddoolin - 7 months
Does it support Protobuf deserialization via Schema Registry? This is basically where every other tool falls apart. Kafka UI just added support very recently but kcat falls apart.
By @lordgrenville - 7 months
I always thought TUI stood for "terminal user interface", though I guess "text" makes sense. First sentence of the Wikipedia article has both. https://en.wikipedia.org/wiki/Text-based_user_interface
By @1bent - 7 months
In case anyone else didn't know:

https://en.wikipedia.org/wiki/Apache_Kafka

By @westurner - 7 months
Celery Flower TUI doesn't yet support Kafka in Python, though Kombu (the protocol wrapper for celery) does. It looks like Kaskade has non-kombu support for consumers and ? https://github.com/celery/celery/issues/7674#issuecomment-12... .. https://news.ycombinator.com/item?id=40842365

(Edit)

Kaskade models.py, consumer.py https://github.com/sauljabin/kaskade/blob/main/kaskade/model...

kombu/transport/confluentkafka.py: https://github.com/celery/kombu/blob/main/kombu/transport/co...

confluent-kafka-python wraps librdkafka with binary wheels: https://github.com/confluentinc/confluent-kafka-python

librdkafka: https://github.com/edenhill/librdkafka

By @sauljp - 7 months
Install it:

brew install kaskade

pipx install kaskade

By @terminaltrove - 7 months
We featured kaskade on Terminal Trove as tool of the week and looks really cool and useful.

https://terminaltrove.com/kaskade/

For those interested, kaskade is made with the Textual TUI framework.

https://www.textualize.io/

Thanks for making this sauljp.