Ratatui

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • ratatui

    Rust library that's all about cooking up terminal user interfaces (TUIs) 👨‍🍳🐀

  • There are apps that are built on ratatui that support mouse already including an example in the repo[1], and crates (and some internal changes to the buffer) to support iterm/kitty/sixel based images.[2]

    [1]: https://github.com/ratatui-org/ratatui/tree/main/examples#cu...

    [2]: https://crates.io/crates/ratatui-image

    Compared to TurboVision, Ratatui has a lot of missing things:

    - Containers

    - Dialog types (I'm working on this in https://github.com/joshka/tui-prompts)

    - Higher order combinations of widgets (e.g. combine the scrollbar and paragraph)

    - Menus

    - Any event system (apps bring their own - we just handle display)

    - etc.

    - There's lots of things in TV that are provided as external crates (like editors, treeview, etc.)

    The main thing is that Ratatui is at least right now, just the display side of things. Things to do with events or application shell aren't built-in. This somewhat stems from the immediate vs retained mode approach to the library, but this may change in the future.

  • glicol-cli

    glicol cli: cross-platform music live coding in terminal

  • great to see tui-rs can be continued in this way!

    should try ratatui for glicol-cli at some point:

    https://github.com/glicol/glicol-cli

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • textual-web

    Run TUIs and terminals in your browser

  • The worst part is there's absolutely nothing stopping anyone for making the same principles work in the browser. Zero. Nada. It's trivially proven by compiling apps to wasm and running in a terminal emulator but there's nothing stopping anyone from building react-terminal-like or whatever except that... I don't even know what since we've got https://github.com/Textualize/textual-web.

    People have thrown out decades of UX research and engineering out of the window because it isn't cool anymore. Makes me sick.

  • react-blessed

    A react renderer for blessed.

  • napali

    Optimization as a service TUI

  • We're working on a new TUI for managing local and remote executions of optimization solvers like CBC, HiGHS, and our own hardware-accelerated solvers [2].

    Ratatui is a delight to work with. It uses immediate mode rendering [3] which feels very intuitive compared to other TUI frameworks.

    [1] https://github.com/integrated-reasoning/napali

  • yazi

    💥 Blazing fast terminal file manager written in Rust, based on async I/O.

  • I think a lot of Ratatui apps will tend to land on similar concepts for your app. There's a few good examples of apps using a component approach rather than just widgets that I'm aware of:

    - https://github.com/sxyazi/yazi

    - https://github.com/TaKO8Ki/gobang

    - https://github.com/nomadiz/edma

    Perhaps the intuitive crate would make a good abstraction on top of Ratatui?

  • gobang

    A cross-platform TUI database management tool written in Rust

  • I think a lot of Ratatui apps will tend to land on similar concepts for your app. There's a few good examples of apps using a component approach rather than just widgets that I'm aware of:

    - https://github.com/sxyazi/yazi

    - https://github.com/TaKO8Ki/gobang

    - https://github.com/nomadiz/edma

    Perhaps the intuitive crate would make a good abstraction on top of Ratatui?

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • edma

    Discontinued EDMA is an interactive terminal app for managing multiple embedded databases system at once with powerful byte deserializer support. [Moved to: https://github.com/lowlevelers/edma] (by nomadiz)

  • I think a lot of Ratatui apps will tend to land on similar concepts for your app. There's a few good examples of apps using a component approach rather than just widgets that I'm aware of:

    - https://github.com/sxyazi/yazi

    - https://github.com/TaKO8Ki/gobang

    - https://github.com/nomadiz/edma

    Perhaps the intuitive crate would make a good abstraction on top of Ratatui?

  • tui-prompts

    Beautiful prompts for ratatui

  • There are apps that are built on ratatui that support mouse already including an example in the repo[1], and crates (and some internal changes to the buffer) to support iterm/kitty/sixel based images.[2]

    [1]: https://github.com/ratatui-org/ratatui/tree/main/examples#cu...

    [2]: https://crates.io/crates/ratatui-image

    Compared to TurboVision, Ratatui has a lot of missing things:

    - Containers

    - Dialog types (I'm working on this in https://github.com/joshka/tui-prompts)

    - Higher order combinations of widgets (e.g. combine the scrollbar and paragraph)

    - Menus

    - Any event system (apps bring their own - we just handle display)

    - etc.

    - There's lots of things in TV that are provided as external crates (like editors, treeview, etc.)

    The main thing is that Ratatui is at least right now, just the display side of things. Things to do with events or application shell aren't built-in. This somewhat stems from the immediate vs retained mode approach to the library, but this may change in the future.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts