KubeRich
A keyboard-driven Kubernetes workspace for your terminal, built with Python and Textual.
Get started · Installation · User guides · Contribute
Browse a cluster, inspect a workload, follow its logs and open a container shell without losing your place. KubeRich is an independent Apache-2.0 project, inspired by K9s and built by Python enthusiasts. All capabilities are open source, with no paid feature tiers.
Actual application render using fictional resources and an owned local API. No customer contexts, credentials or production resources are used in this demo.
First release
The first release line is 0.1.0. Its source candidate is usable; public PyPI, Homebrew and GitHub download activation remains under the release procedure. Use a trusted checkout or supplied wheel while those channels are unavailable.
Linux and macOS are the initial targets, with CPython 3.12–3.14 for source installation. Four standalone archives have separate native qualification. The installation guide states the actual host/architecture scope and limits. Stable 1.0 compatibility and complete K9s parity are later milestones.
What you can do
| Workflow | Available in this phase |
|---|---|
| Find a resource | Live pods, namespace/context tables, 15 standard resource families and discovered custom resources |
| Navigate | Inline : completion, / filtering, Vim keys, typed sorting and retained selection/navigation history |
| Investigate | Redacted details, YAML and events; pod → containers → selected-container logs |
| Read logs | Current/previous and aggregate logs, bounded history, search, pause/follow and guarded export |
| Connect | Embedded kubectl shells with local history/search/copy, managed pod/Service TCP forwarding, captured attach and file transfer |
| Manage a workload | Reviewed annotations, manifest dry-run/Apply, scale/restart/rollback, deletion and Job/CronJob actions |
Use --readonly for your first connection; the default preference permits writes.
Effectful actions require captured targets and the corresponding Kubernetes
permissions; reviewed changes also require confirmation. Metrics, user plugins and
advanced node/debug operations remain planned; see the maintained
resource views and release phases.
Run from source
With uv and Python 3.12, 3.13 or 3.14, run from a trusted checkout:
uv sync --locked --group dev
uv run kuberich --version
uv run kuberich config check
uv run kuberich --context demo-lab --namespace demo-apps --readonly
demo-lab and demo-apps are fictional example names. Replace them with an
explicitly intended context and namespace. Add --kubeconfig /absolute/path/to/config
when needed; --config instead selects KubeRich preferences.
Configured authentication helpers are trusted local programs. Version, help,
info and config check do not connect to a cluster or execute helpers.
The interface needs an interactive terminal; python -m kuberich is also supported.
For an isolated supplied wheel or future PyPI/Homebrew/archive installation,
follow installation and upgrades. The project-owned
Homebrew target is brew install kuberich/tap/kuberich after public activation.
A few keys to begin
| Key or command | Result |
|---|---|
:ctx, :ns |
Browse contexts or namespaces as tables; Enter selects a row |
:pods, :deployments, :services |
Open the selected resource family |
/ |
Filter the current table; Enter returns focus, Escape clears the filter |
| Enter on a pod | Open containers; Enter on a container opens its logs |
d, y, e on a pod |
Inspect details, YAML or events |
? |
Show actions for the current view |
| Escape | Return through the workspace trail |
| Ctrl+Q | Quit and restore the terminal |
In a live shell, keys go to the remote program. exit/Ctrl+D returns to
containers; Ctrl+] closes the owned session. See the
guided workflow and shell controls.
Documentation
The maintained Markdown guides generate both website surfaces. CLI/resource references come from application declarations; authored explanations are reviewed with the behavior they describe. The current approved development hosts are website and docs; they retain their recorded deployment until the final candidate is approved for publication.
- Install, upgrade and uninstall
- First launch and guided everyday workflow
- Contexts and authentication, EKS and AKS
- Navigation and completion, logs and shells
- Guarded changes, manifest editing and workload operations
- Troubleshooting and terminal compatibility
Development and quality
Read CONTRIBUTING.md, the architecture and the selected GitHub issue before changing behavior. Work proceeds through short-lived issue branches, signed-off commits, checked PRs and squash merges.
The quality policy enforces at least 90% line and branch coverage separately, 90% changed-line coverage and 100% for designated critical deterministic modules. Behavioral, actual PTY, owned Kubernetes and clean-install checks complement coverage. Real-provider and physical-terminal certification limits remain explicit; a percentage does not prove every environment.
See current checkpoints, roadmap, backlog, distribution and release/versioning procedure for measured progress and delivery.
Community and license
Issues welcome bugs and proposals. Please follow the code of conduct; use the security policy for vulnerability reports.
Apache-2.0. Copyright (c) 2026 Carlos Herrera and KubeRich contributors. NOTICE and the licensing guide explain attribution and derivative permissions.
Metadata
Release files for kuberich 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kuberich-0.1.0.tar.gz | 212.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kuberich-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 481.2 kB
Release files / kuberich-0.1.0.tar.gz
| Download URL | kuberich-0.1.0.tar.gz |
|---|---|
| Size | 212.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3b4fa5fae7877b19bdcb823e955952d594325827c175b6652f77e2d296cb3f3
|
|
BLAKE2b-256 checksum How to use checksums |
e460ef87514d82703b8bcf49b7639a10776575e5af1e80896e9a71fb7b275a97
|
| 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 12, 2026.
Transparency logRelease files / kuberich-0.1.0-py3-none-any.whl
| Download URL | kuberich-0.1.0-py3-none-any.whl |
|---|---|
| Size | 269.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4d3db9914c43f5c6351a5393478aa6991a0025cf279796d93d2c8d3c3a812611
|
|
BLAKE2b-256 checksum How to use checksums |
e8868262ccd274e90b52afd2f936eae0199827bc02b1cf87e82c48e92f620a16
|
| 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 12, 2026.
Transparency log