Calendar

Lunatui
Moonlit terminal UIs in Rust
A Rust library for building terminal user interfaces.
Install with Cargo
$ cargo add lunatuiWidget Gallery
Rich widgets. Beautiful terminal.
BigText
Sparkline
Spinner
TextInput
Speed Test
Measured frame time. Lower is faster.
Median time per frame · release build
80 × 24
60 µs
200 × 60
249 µs
Each result is the median of five runs of 240 frames. Timing covers widget paint, diffing, ANSI encoding, and a counting sink write; terminal rendering and model updates are outside the measurement. Method and full results
5 runsper screen size
Technical details
Rendering, input, widgets, performance, and build requirements
Rendering
- 16-byte packed cells
- Damage-tracked diffing
- ANSI output encoder writes once per frame
Input & runtime
- Keyboard, mouse, and bracketed‑paste input
- Focus management and hit testing
- Event-driven frame scheduling with animation
Widgets & themes
- Calendar, BigText, and Sparkline widgets
- Theme tokens and terminal color capabilities
- Unicode grapheme and width handling
Performance method
- Apple M5 Max · macOS arm64 · release build
- 240 frames per run; median of five runs
- Headless counting sink; no terminal latency included
Build requirements
- Rust 1.88 minimum
- MIT licensed
- Install from crates.io with Cargo
Testing & CI
- Built and tested on Linux, macOS, and Windows
- Allocation tests guard the render hot paths
- Clippy runs with warnings treated as errors
Docs
Get started, customize, and build beautiful TUIs.
Independent systems / The maker
Moonbase2090
Moonbase2090 builds Lunatui. The source is available under the MIT License, copyright Moonbase 2090 LLC.
