ratatui
textual
ratatui | textual | |
---|---|---|
6 | 167 | |
13,975 | 29,535 | |
5.6% | 2.3% | |
9.7 | 9.9 | |
1 day ago | 5 days ago | |
Rust | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ratatui
- Rat in the Wild Challenge
-
The Cassowary Linear Arithmetic Constraint Solving Algorithm [pdf]
We use a cassowary based constraint solver within Ratatui [1]. It's kind of neat once you understand the algorithm and add your own UI rules system on top of it. Unfortunately the library[2] that we use for the actual solving is unmaintained for many years now. I've been meaning to rewrite[3] a bunch of things in the lib to be more ergonomic, but it hasn't bubbled to the top of my todo list yet.
[1]: https://github.com/ratatui/ratatui/blob/main/ratatui-core/sr...
[2]: https://crates.io/crates/cassowary/
[3]: https://crates.io/crates/kasuari
-
Ratzilla
I think this may lack a bit of context, so I'll try to fill in.
This is a demo that was just showcased live by the author as part of their talk at FOSDEM'25: https://fosdem.org/2025/schedule/event/fosdem-2025-5496-brin...
The talk was centered on Ratatui (a TUI library in Rust, https://ratatui.rs/) now targeting terminals and web browsers with a shared approach. Video recording of the talk should appear online soon.
-
Show HN: Rebels in the sky – Terminal game about space pirates
Proudly built with Ratatui: https://github.com/ratatui/ratatui :)
The graphics themselves are basically handmade pixel-by-pixel, you can take a look in the assets folders to get an idea.
For example, pirate images are generated by combining the different parts and then applying a color mapping for the different skin tones.
Planet gifs are adapted starting from https://deep-fold.itch.io/pixel-planet-generator
-
The Modern CLI Renaissance
Excellent article of what is going on in the terminal space, agree on the TUI section where we are seeing lots of terminal tools being built in Rust and Go and libraries such as Ratatui [1] and Bubble Tea [2] becoming a new modern alternative to ncurses for building TUIs.
Python has Textualize which is also very popular for building terminal user interfaces [3]
And we've noticed this renaissance as well of new CLI and TUI tools that we list on Terminal Trove [4].
[1] https://ratatui.rs/
[2] https://github.com/charmbracelet/bubbletea
[3] https://textual.textualize.io/
[4] https://terminaltrove.com/
-
The Tao of Unicode Sparklines
I recently had to look at the implementation of the Sparkline [1] widget in Ratatui which uses a similar Unicode technique but scales nicely for sparklines with larger vertical size.
[1] https://github.com/ratatui/ratatui/blob/20c88aaa5b9eb011a522...
textual
-
[veld-fm] I Built a Terminal File Manager with Tiling Panels Because I'm Obsessed with Keyboard Shortcuts
It’s a modern, terminal-based file manager built from the ground up with the incredible Textual framework for Python.
- YAD: Is a simple tool for developing Graphical User Interfaces
- Show HN: BlenderQ – A TUI for managing multiple Blender renders
-
The Quest Continues: Porting the Word Game With AsyncSSH
The point of the exercise is mainly on learning and discovery. If our game were developed with a text-based UI through Textual, or even Typer, some extra work is needed to ensure I/O is redirected properly.
-
Show HN: Bagels – TUI Expense Tracker
Nice job, you should add it here: https://textual.textualize.io/#built-with-textual
- Textual 1.0
-
Introduction to Textual: Building Modern Text User Interfaces in Python
If you’re a Python developer, the Textual library from Textualize.io provides a modern, feature-rich way to build stunning TUIs with ease.
- Textual 1.0 Release
-
Himalaya: CLI to Manage Emails
Hey there. This project isn't posted publicly anywhere at the moment—it's a very idiosyncratic one-of-one sort of deal. For one thing, while I know Python a little bit, I much prefer to write Lisp. But the Textual [0] library is for Python and nothing else seems to even compete in the same space. So my "outlook-explorer" ("oe" on my command line) is actually written in Hy [1], a Lisp-y syntax swap that emits Python AST objects. And there's a couple places where I just hard-coded my own info, like the email address I'm using it with in order to pull from the right inbox in Outlook, that would need some kind of user-facing and reasonably user-friendly config options before it'd be ready for general consumption.
Have you thought about making your own bespoke one-of-one thing? I got much further than I expected to in only a couple hours. It was already basically functional in three hours, I think, and I came to the table with no prior experience using Textual.
[0] https://textual.textualize.io/
-
Building a desktop launcher
I am still figuring out the UX and specification, but for now it accomplished the main task where I want it to launch applications. After spending some time on it, and I reminded myself of Textual, where it offers an experience that resembles web front-end development. Currently, the TUI is still in development but seems to work similarly to the CLI counterpart.
What are some alternatives?
macmon - 🦀⚙️ Sudoless performance monitoring for Apple Silicon processors. CPU / GPU / RAM usage, power consumption & temperature 🌡️
urwid - Console user interface library for Python (official repo)
tui-rs - Build terminal user interfaces and dashboards using Rust
nicegui - Create web-based user interfaces with Python. The nice way.
flawz - A Terminal UI for browsing security vulnerabilities (CVEs)
pytermgui - Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!