
Textual
Build gorgeous terminal user interfaces in Python — CSS-styled TUIs, even in the browser.
About
Textual is a Python framework for building rich terminal user interfaces, from the Textualize team. You compose apps from widgets styled with an actual CSS dialect, with layouts, animations, and a reactive data-binding model — think modern web development, but rendered in the terminal.
It powers a wave of beautiful CLI tools (including AI coding assistants' terminal UIs), and Textual Web can even serve those terminal apps in a browser. With ~37,500 GitHub stars it is the dominant Python TUI framework, MIT licensed, with commercial backing from Textualize (the company also makes rich, the library half the Python world uses for pretty terminal output).
The honest caveat: it is terminal-first by design — if your users expect a real GUI or mobile app, this isn't it. And complex apps can hit the limits of what terminals render well. But for developer tools, dashboards, and agent interfaces, nothing in Python touches it.
What it can do
- Widget-based TUI framework with a real CSS styling dialect
- Reactive data binding, layouts, animations, and command palette
- Textual Web: serve terminal apps in a browser
- Devtools, console, and a widget gallery for rapid iteration
- MIT licensed; ~37.5k GitHub stars; commercial backing from Textualize
Setup
pip install textual(Python 3.8+).- Subclass
App, compose widgets incompose(), style with CSS inCSSor a.tcssfile. - Run with
python my_app.py; iterate withtextual consoleand the devtools. - Serve in a browser with Textual Web when you need remote access.
Prerequisites
Python 3.8+ and a modern terminal emulator (truecolor recommended).
Use cases
Works with
Trust score — 9/10
Scored 9/10 (metrics tier, metrics-v1). Evidence: Adoption 9: starScore from 37,463 stars on Textualize/textual — dominant Python TUI framework; Maintenance 9: pushed 2026-10-09 (recency 10); frequent releases assumed 8; issues ratio 368/37463 -> 8; Manual 9: docs verified, commercial backing from Textualize; deduction: terminal-first limits noted. License: MIT.
★ 37,463 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 9.0/10
- Maintenance · recency, releases, issue load
- 9.0/10
- Openness · license + docs
- 10.0/10
- Manual review · sanity read + red-flag check
- 9.0/10
- · Adoption 9: starScore from 37,463 stars on Textualize/textual — dominant Python TUI framework
- · Maintenance 9: pushed 2026-10-09 (recency 10); frequent releases assumed 8; issues ratio 368/37463 -> 8
- · Manual 9: docs verified, commercial backing from Textualize; deduction: terminal-first limits noted
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.