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
Toggle
RadioGroup
Form
Tooltip
Slider
NumberInput
Accordion
Popup and ScrollView
ProgressBar
SearchBox
HexViewer
LogView
PieChart
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.
