Introduction
Build beautiful CLI apps with Python syntax and ship them as tiny, fast binaries.
Welcome to ucharm
ucharm is a CLI toolkit for building beautiful command-line applications with Python syntax, powered by PocketPy.
Write in familiar Python, ship as single-file executables under 1MB that start in milliseconds.
Why ucharm?
- Instant startup - Under 10ms cold start, no interpreter warm-up
- Tiny binaries - Single-file executables under 1MB
- Python syntax - No new language to learn
- Beautiful output - Tables, boxes, progress bars, colors built-in
- Interactive prompts - Select, multiselect, confirm with keyboard navigation
- 50+ native modules - JSON, HTTP, SQLite, regex, and more in native Zig
Quick Example
from ucharm import box, table, success, select
# Beautiful boxes
box("Welcome to my app!", title="Hello", border_color="cyan")
# Interactive prompts
choice = select("Pick an option:", ["Deploy", "Test", "Exit"])
# Formatted tables
table([
["Status", "Count"],
["Passed", "42"],
["Failed", "0"],
], headers=True)
success(f"Selected: {choice}")What's Different?
ucharm is not a drop-in replacement for CPython. It's a focused runtime optimized for CLI applications:
| Feature | ucharm | CPython |
|---|---|---|
| Startup time | ~5ms | ~50ms+ |
| Binary size | ~1MB | ~100MB+ |
| Dependencies | None | pip ecosystem |
| TUI components | Built-in | Requires packages |