This release is a pre-release and may not be stable for production use.
BKKT
BKKT is a portable GitOps CLI for Kafka Connect.
Manage connector manifests as code: render, validate, compare, plan, apply, and operate Connect / Kafka Admin / Schema Registry from one workflow-friendly tool.
Alpha software (
0.1.0a1). The CLI command surface is the supported contract. The internal Python package (connectctl) is not a stable public API.
Install
pip install --pre bkkt==0.1.0a1
# or
uv pip install --pre bkkt==0.1.0a1
Requirements: Python 3.11 or 3.12.
10-minute local demo
bkkt demo init --output-dir ./bkkt-demo
cd ./bkkt-demo
bkkt demo up # starts Redpanda + Kafka Connect via Docker Compose
bkkt demo smoke # render/validate/apply dry-run against the demo stack
bkkt demo down
The demo assets ship inside the package (connectctl/assets/demo) and use only
localhost / synthetic acme / orders fixtures.
Safe live workflow
BKKT keeps mutation safety gates on by default:
- Prefer
--dry-runfirst. - Scope work with explicit
--env,--cluster, path, or selector flags. - Confirm broad fan-out interactively, or pass
--yesin automation.
# Render + validate from manifests
bkkt render --env dev --cluster local
bkkt validate --env dev --cluster local
# Inspect drift without changing the cluster
bkkt compare --env dev --cluster local --dry-run
bkkt drift --env dev --cluster local
# Apply only after review
bkkt plan --env dev --cluster local
bkkt apply --env dev --cluster local --dry-run
bkkt apply --env dev --cluster local --yes
Portable CLI scope (alpha)
| Family | Purpose |
|---|---|
config / repo |
Local workspace and cluster config |
render / validate / validate-connect / inspect |
Manifest quality gates |
search / find / lineage |
Discovery across repo and live clusters |
compare / diff / drift / plan / apply |
Desired vs live workflows |
export / sync / reconcile |
Capture and converge state |
connect / kafka / schema |
Runtime Connect / Admin / SR operations |
functions / vars |
Placeholder helpers |
demo / oss / docs / completion |
Self-service DX |
Enterprise-only families (GitLab MR automation, fleet/assurance/reliability centers, UI/service API, heal/rollout/incident/monitor) are not part of the public alpha.
Search examples (neutral fixtures)
bkkt search --source repo --env prod \
--table 'prod__dbt__acme__orders__raw.exchange_rates__events'
bkkt find --source repo --env prod \
--database 'prod__cdc__users__acme_common__ods' \
--table 'acme__ma_users'
bkkt search --source live --env stage --cluster all \
--topic 'stage__cdc__users__acme_common__ods.acme_3__ma_users' \
--yes
OSS hygiene gates
Before publishing or contributing large changes:
bkkt oss hygiene --scope public
bkkt oss hygiene --scope repository
bkkt oss readiness
Repository scope hard-denies credential filenames, cloud/API token shapes, private keys, and private infrastructure hosts.
Documentation
| Doc | Audience |
|---|---|
| docs/ARCHITECTURE.md | How BKKT layers manifests and runtime clients |
| docs/CLI.md | Full alpha command contract |
| docs/MANIFESTS.md | Manifest layout and layering |
| docs/CONNECT.md | Kafka Connect operations |
| docs/KAFKA.md | Kafka Admin helpers |
| docs/SCHEMA_REGISTRY.md | Schema Registry helpers |
| docs/TROUBLESHOOTING.md | Common failures |
| docs/RELEASE.md | Tagging and PyPI Trusted Publishing |
| docs/MIGRATION.md | Moving from internal forks to public BKKT |
| CHANGELOG.md | Alpha notes and limitations |
| CONTRIBUTING.md | Dev setup and PR expectations |
| SECURITY.md | Vulnerability reporting |
License
Apache License 2.0. See LICENSE.
Metadata
Release files for bkkt 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 | |
|---|---|---|---|---|
| bkkt-0.1.0a1.tar.gz | 493.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bkkt-0.1.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / bkkt-0.1.0a1.tar.gz
| Download URL | bkkt-0.1.0a1.tar.gz |
|---|---|
| Size | 493.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
070b03b26ff9c76501ccca5900462a91bcbb3cbab63ec2854effec34e10d4400
|
|
BLAKE2b-256 checksum How to use checksums |
81131bd70a0632456dce55c2a114fb3ad69ab146159380d8f6d19dc729c073d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / bkkt-0.1.0a1-py3-none-any.whl
| Download URL | bkkt-0.1.0a1-py3-none-any.whl |
|---|---|
| Size | 792.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8161e9af8085991bfa9ee26a703cec8997c1354c7fb35bec64711c3feb104d90
|
|
BLAKE2b-256 checksum How to use checksums |
16c979c4c6bee106b041249260e0248ae0526059559936514193a4357cc9cf48
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for bkkt 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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A 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.