
Build CLI apps that
developers love
Python syntax. Standalone binaries around 4–5 MB. Instant startup.
Ship beautiful command-line tools without the bloat.
curl -LO …/v0.6.0-rc.2/kipferl-macos-aarch64See it in action
Beautiful output and interactive prompts, built-in.

Everything you need
A complete toolkit for building modern CLI applications, without the complexity.
Instant Startup
A measured 7.044 ms median and 7.980 ms p95 on Apple Silicon, without virtual-environment activation.
Standalone Binaries
Target-specific executables around 4.3–5.3 MB. Linux releases are static musl binaries with no dynamic libc dependency.
Python Syntax
Write in familiar Python. No new language to learn—just better, faster tooling for the CLI.
Beautiful Output
Tables, boxes, progress bars, spinners, and rich colors. All built-in, zero dependencies.
Interactive Prompts
Select, multiselect, confirm, and password inputs with smooth keyboard navigation.
50+ Runtime Modules
HTTP, SQLite, JSON, regex, subprocess, and more—hosted by Rust with compatibility tests against CPython.
How it compares
kipferl vs traditional CLI tooling
| Feature | kipferl | Python + Click | Node.js |
|---|---|---|---|
| Cold start | 7.044ms | Runtime-dependent | Runtime-dependent |
| Binary size | ~4.3MB | Runtime + app | Runtime + app |
| Dependencies | None | pip + venv | node_modules |
| Distribution | Single file | Complex | Complex |
| TUI built-in | Yes | Requires Rich | Requires libs |
Simple, expressive API
Everything you need to build great CLI apps in a clean, Pythonic interface. No boilerplate, no configuration—just write code and ship.
- Beautiful boxes and tables
- Interactive prompts with keyboard nav
- Progress bars and spinners
- Colored status messages
- HTTP requests with built-in TLS
import tui
import input
# Beautiful boxes
tui.box("Deploying...", title="Release")
# Interactive prompts
env = input.select("Environment:", ["dev", "prod"])
# Formatted tables
tui.table([
["Artifact", "Size"],
["app", "4.3MB"],
], headers=True)
tui.success(f"Deployed to {env}!")Why we rewrote Kipferl in Rust
We migrated the CLI, loader, runtime host, and native modules incrementally—keeping the application format stable and using compatibility as the release gate. The result is easier to maintain, fully tested on four targets, and still compact enough to ship as one file.
Read the migration story →Ready to build something
beautiful?
Get started in under a minute. Ship your first CLI app today.