This release is a pre-release and may not be stable for production use.
Kaskade is a terminal UI for Kafka with three modes. kaskade admin shows your
topics, partitions, and consumer groups and lets you create, edit, and delete
topics. kaskade consumer reads records from a topic and decodes them as JSON,
Avro, or Protobuf, with or without Schema Registry. kaskade producer composes
a record and produces it, encoding it the same ways. Everything works from the
keyboard.
Screenshots
| Admin | Consumer |
|---|---|
|
|
|
| Record Details | Producer |
|
|
|
Features
Kafka administration
- Browse topics, partitions, consumer groups, and group members
- Inspect topic configuration, lag, replicas, and record counts
- Create, edit, delete, and filter topics without leaving the TUI
- Refresh topic metadata and metrics every 30 seconds by default, or on demand
Record consumption
- Deserialize keys and values as bytes, primitives, JSON, Avro, or Protobuf, including Confluent Schema Registry and native Apicurio Registry v3
- Resolve Registry Protobuf messages and referenced schemas without generated classes
- Choose raw, Apicurio, or Confluent framing separately for keys and values when decoding with local schemas
- Filter records by key, value, header, or partition
- Start from the earliest offsets or explicit partition/offset selections
- Keep consuming when a key, value, or header fails to decode, and show it as bytes next to the error
- Show bytes as Base64, hex, byte arrays, or escaped bytes
- Copy or export individual records as JSON
Record production
- Compose a record's key, value, and ordered headers, keeping null and empty content apart
- Serialize keys and values as bytes, primitives, JSON, Avro, or Protobuf, with local schema files or through Confluent Schema Registry or native Apicurio Registry v3
- Validate JSON against a JSON Schema before producing it
- Register schemas and their references when auto-registration is enabled
- Paste a key or value copied from the consumer to produce the same bytes again
- Load a draft from a JSON file
- Confirm delivery with the partition, offset, and timestamp the broker acknowledged
Connections and configuration
- Keep Kafka, Registry, and AWS settings in an INI file, or pass them on the command line
- Raise operation timeouts for slow or distant clusters
- Connect through TLS, SASL, Confluent Cloud, or Amazon MSK IAM authentication
- Use Confluent Schema Registry, native Apicurio Registry, or Apicurio's Confluent-compatible API
Terminal experience
- Navigate entirely by keyboard with arrow and Vim-style shortcuts
- Customize themes and keybindings
- Copy data through an OSC 52-compatible terminal
Quick start
Homebrew
brew install kaskade
pipx
pipx install kaskade
Connect to Kafka
Admin view:
kaskade admin -b my-kafka:9092
Consumer view:
kaskade consumer -b my-kafka:9092 -t my-topic
Producer view:
kaskade producer -b my-kafka:9092 -t my-topic
Documentation
- Usage: connecting, then the admin, consumer, and producer commands and settings.
- Migration: upgrading between major versions.
- Development: working on Kaskade itself.
- GitHub Releases: release notes and downloads.
Questions
Ask in GitHub Discussions.
Security
Please report vulnerabilities privately, as described in the security policy.
Donations
If Kaskade saves you time, you can sponsor it on GitHub.
AI Assistance
Kaskade is developed with AI assistance. Every AI-assisted change is reviewed and tested before it's merged.
Acknowledgements
Metadata
Release files for kaskade 6.0.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| kaskade-6.0.0rc1.tar.gz | 691.8 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kaskade-6.0.0rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 830.1 kB
Release files / kaskade-6.0.0rc1.tar.gz
| Download URL | kaskade-6.0.0rc1.tar.gz |
|---|---|
| Size | 691.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ab7fdfa2376b1a426dc1c9ef3e0ea73eed8151418292b7c35f6a28c7052a969
|
|
BLAKE2b-256 checksum How to use checksums |
e6fa0b7ff1f4121f7fe7b1039eba22cdb3c52a44842431b8321ae47f683db4c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logRelease files / kaskade-6.0.0rc1-py3-none-any.whl
| Download URL | kaskade-6.0.0rc1-py3-none-any.whl |
|---|---|
| Size | 138.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
035b8192387e72ee40e11605edb3ac5cf38a41079dc699e0477e9a858137c15f
|
|
BLAKE2b-256 checksum How to use checksums |
dffcebdbfc3ff4ec70b3c2e8540ff7e3f85f52e8ff17815b9f6c73e43ae86853
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logSecurity for kaskade 6.0.0rc1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for kaskade-6.0.0rc1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.