Skip to main content

🚢 ktui

An interactive terminal UI for building Kubernetes YAML manifests.

CI Status PyPI version npm version Python Versions License


⚡ Why ktui?

Tired of memorizing exact YAML structures, indentation rules, and valid fields for every Kubernetes resource?

ktui solves this by giving you a dynamic, schema-driven terminal UI. It behaves like a modern web form inside your terminal. Pick a resource, fill in the fields you care about, use the interactive field picker to search for advanced properties, and preview or save the generated YAML.

✨ Features

  • 🏗️ Schema-driven Forms: Built-in definitions for core Kubernetes resources (Deployments, Pods, Services, ConfigMaps, RBAC, OpenShift Routes, etc.).
  • 🔍 Interactive Field Picker: Don't see the field you need? Open the searchable field picker to dynamically mount new properties or entire field groups (like spec.template.spec.containers) into your form.
  • ♻️ Smart Merging: Added fields are intelligently merged into their correct hierarchical sections—no duplicate categories or broken nesting.
  • 👁️ Live YAML Preview: Press p at any time to instantly see the clean, formatted YAML you are building.
  • 🎨 Modern TUI: Keyboard-first navigation, multiple themes (press t to cycle), and a responsive layout powered by Textual.
  • 💾 Instant Save: Save your generated manifests directly to your disk with a single keystroke.

🚀 Installation

ktui is distributed as both a Python package and a self-contained executable via npm.

You don't even need Python installed! The npm package downloads a pre-compiled native binary for your OS (Linux, macOS, Windows).

# Run directly without installing
npx @ktui/editor

# Or install globally
npm install -g @ktui/editor

Install via PyPI using pipx (to keep your environment clean):

pipx install ktui

# Or with pip
pip install ktui

⌨️ Usage & Keybindings

Simply run ktui in your terminal to start the application.

Global

Key Action
↑ / ↓ Navigate focused lists
Tab / Shift+Tab Move between form fields
Enter Select resource / confirm
p Preview YAML
Ctrl+S Save YAML to file
t Cycle application theme
Esc Close modal / Go back
q Quit

Field Picker (Press Add Field in forms)

Key Action
/ Focus search bar
↑ / ↓ Navigate available fields
Enter (on property) Toggle individual field selection
Enter (on 📁 group) Select / deselect all fields in that group
Esc Cancel without adding

🛠️ Development

If you want to contribute or build from source:

git clone https://github.com/marceleno1717/ktui.git
cd ktui

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install in editable mode with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Start the app
ktui

📄 License

This project is licensed under the PolyForm Noncommercial License 1.0.0.

Metadata

Release files for ktui 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ktui 0.1.2
File Size Uploaded
ktui-0.1.2.tar.gz 116.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ktui 0.1.2
File Interpreter ABI Platform
ktui-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 250.4 kB

Release files / ktui-0.1.2.tar.gz

Download URL ktui-0.1.2.tar.gz
Size 116.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5e2affd5cdf1e0aa34a8ce66bde0513bb2efe69eb3966b406abe362326fcee55
BLAKE2b-256 checksum
How to use checksums
7ae5b3003ca61bf4f075780e6f24184614502d929c4b8e52651d7308c745c72b
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 2, 2026.

Transparency log

Release files / ktui-0.1.2-py3-none-any.whl

Download URL ktui-0.1.2-py3-none-any.whl
Size 134.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83721bfac454b71cdf86d582fca52f2e445726b9de634f562498f8794e6cbd7e
BLAKE2b-256 checksum
How to use checksums
c5ab1e25578a07d0894f809465e397f467deba512f780ed5548309341e7a56d7
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 2, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

This release

0.1.2 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page