Build a terminal dashboard to monitor system metrics with live-updating charts and progress bars.
Create a file manager or database browser with panels, tables, and keyboard navigation that runs in any terminal.
Migrate an existing tui-rs project to ratatui using this repo as a reference for the original API.
Study the source code to understand how terminal buffer diffing works before building your own TUI framework.
| fdehau/tui-rs | pingcap/talent-plan | prql/prql | |
|---|---|---|---|
| Stars | 10,874 | 10,906 | 10,823 |
| Language | Rust | Rust | Rust |
| Setup difficulty | moderate | hard | easy |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | developer | data |
Figures from each repo's GitHub metadata at analysis time.
Library is archived, add the ratatui crate instead for new projects, tui-rs still compiles but receives no updates.
tui-rs is a Rust library that lets developers build visual interfaces that run entirely inside a terminal window, rather than in a web browser or desktop GUI. Think of programs like file managers, system monitors, or database tools that display organized panels, charts, and menus inside a plain terminal. That is what this library was built to produce. An important note up front: as of August 2023, this project is no longer maintained. The community has moved to an actively maintained fork called ratatui. If you are starting a new project, the README directs you there instead. The library works by redrawing the entire screen on every update, using an internal buffer system to figure out which parts of the display actually changed and only sending those updates to the terminal. This keeps things fast even though Rust programs can render very quickly. The library does not handle keyboard or mouse input on its own. Developers pair it with separate input libraries for that. Out of the box it includes a set of ready-made visual building blocks: blocks with borders, progress gauges, sparkline mini-charts, full line charts, bar charts, scrollable lists, tables, text paragraphs, a canvas for drawing points and lines, and tabbed views. These can be combined to build complex dashboards or tool interfaces. The library runs on top of two different terminal backends, crossterm (the default, which works on Windows, macOS, and Linux) and termion (Linux and macOS only). Developers choose which one fits their project. Many well-known terminal tools were built with tui-rs, including a Spotify client, a Git interface, a network bandwidth monitor, a Docker container manager, and a database browser, among others. The long list in the README shows how broadly it was adopted before the maintenance shift. The code is released under the MIT license, which allows free use in both personal and commercial projects.
tui-rs is an archived Rust library for building visual dashboards and tool interfaces that run inside a terminal window, with charts, tables, and progress bars, new projects should use the community fork ratatui instead.
Mainly Rust. The stack also includes Rust, crossterm, termion.
Use freely for any purpose, including commercial use, as long as you keep the MIT license notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.