This release is a pre-release and may not be stable for production use.
Kantrip securely manages local Kafka profiles for command-line tools and compatible applications.
Kantrip is in active pre-release development. The current CLI loads and validates profiles, displays their non-secret metadata, and opens plaintext profile sessions for kcat, the official Apache Kafka CLIs, Kaskade, and compatible applications.
Features
Plaintext profiles
- Schema-validated YAML configuration with atomic profile updates
- Multiple bootstrap servers, descriptions, labels, and client properties
add,remove,list, and redactedshowcommands
Local diagnostics
- Configuration, permissions, profile, platform, shell, and session checks
- Installed-command discovery for Kantrip's supported adapters
- Colored status output with plain-text and
NO_COLORsupport
CLI sessions
- Native kcat configuration through a private, temporary
KCAT_CONFIGfile - Profile-aware official Apache Kafka commands, with and without
.sh - Private client-file integration for Kaskade admin and consumer modes
- Consistent Bash, Zsh, and Fish subshells plus one-off command execution
- Child exit-status preservation and automatic session cleanup
Terminal experience
- Rich-based Arcana theme with semantic colors
- Clean stdout/stderr separation
NO_COLOR,TERM=dumb,--no-color, and non-TTY behavior
Roadmap
Kantrip's MVP grows from today's plaintext local workflow in three steps:
- Harden profile sessions and add local credential-store integration.
- Add TLS and authenticated Kafka profiles and adapters.
- Add
kantrip ping, followed by Schema Registry and OAuth integration.
See the MVP roadmap for scope, ordering, and explicit non-goals.
Quick start
pipx
pipx install kantrip
First profile session
kantrip add local
kantrip doctor
kantrip list
kantrip show local
kantrip exec local -- kcat -L
kantrip exec local -- kafka-topics --list
kantrip exec local -- kaskade admin
Omit the command to work in a profile-scoped interactive subshell:
kantrip exec local
kantrip current
kcat -L
kafka-topics --list
exit
add creates ~/.config/kantrip/config.yaml when necessary and adds a plaintext
profile for localhost:9092. Pass --bootstrap-server HOST:PORT to choose a
different broker. Use kantrip remove PROFILE to remove one. kantrip list
prints no profile rows when the configuration is absent or empty.
Command compatibility
See the command compatibility guide for supported tools, versions, features, and known limitations.
Usage
For configuration and usage examples, see the Kantrip usage guide.
Development
For development instructions, see the Kantrip development guide.
Releases
See GitHub Releases for release notes and downloadable artifacts.
Questions
For Q&A, go to GitHub Discussions.
Security
Report suspected vulnerabilities privately by following the Kantrip security policy.
Donations
If Kantrip is useful to you, consider supporting its development on GitHub Sponsors.
AI Assistance
This project uses AI-assisted development tools. Some code and documentation may be generated or revised with AI assistance. All AI-assisted changes are reviewed and tested by the maintainer before they are included.
Acknowledgements
Metadata
Release files for kantrip 0.1.0a1
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 | |
|---|---|---|---|---|
| kantrip-0.1.0a1.tar.gz | 50.6 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kantrip-0.1.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 73.4 kB
Release files / kantrip-0.1.0a1.tar.gz
| Download URL | kantrip-0.1.0a1.tar.gz |
|---|---|
| Size | 50.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfe652bd7aa6f55f7fa5ef11d9cc481a103dbc1034d5192ab7d2ea4c11d37b54
|
|
BLAKE2b-256 checksum How to use checksums |
d391a5adfac4abd2a6685905168a99e09b924419aab1fa4e7ca627f5bec67551
|
| 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 Sep 11, 2026.
Transparency logRelease files / kantrip-0.1.0a1-py3-none-any.whl
| Download URL | kantrip-0.1.0a1-py3-none-any.whl |
|---|---|
| Size | 22.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dea3868e3ce46e45d0903eb6467718587aa173bb3cb1fd3a05e22f7ddecbec4c
|
|
BLAKE2b-256 checksum How to use checksums |
cc7f05f68604b5a1f86c07b66eebf436e44cb11cf2366feea26dc6d027597603
|
| 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 Sep 11, 2026.
Transparency logSecurity for kantrip 0.1.0a1
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 kantrip-0.1.0a1.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 Sep 11, 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.