Favicon of textual

textual

Create cross-platform terminal and web user interfaces using Python with a web development-inspired API. Features rich widgets, flexible layouts, and built-in testing framework.

Build cross-platform user interfaces that run seamlessly in both the terminal and web browser using a single Python codebase. Textual combines modern Python development practices with proven web technologies to create a lean, efficient app development experience.

Key capabilities include:

  • Comprehensive widget library covering buttons, trees, data tables, text inputs, text areas, and more
  • Flexible layout system enabling you to design any user interface you need
  • Predefined themes that make your apps look polished immediately
  • Advanced testing framework for long-term app maintenance and reliability
  • Dev console for debugging terminal applications with system messages, events, and logging
  • Command palette with fuzzy search (Ctrl+P) for easy command discovery and custom extensions
  • Optional async support that integrates with async libraries without forcing the pattern
  • Web deployment via textual serve to share apps on the web with firewall-busting technology

Textual's decoupled component architecture ensures your applications remain maintainable as they grow. The framework works on macOS, Linux, and Windows, with support for Python 3.8+. Install via pip and start building with a simple, intuitive API that feels natural to Python developers while delivering the polish of modern web applications.

Install

Pip
$ pip install textual

Features

Async I/OPlugin systemScriptable

Media

Pros

5
  • Builds cross-platform terminal and web UIs with Python.
  • Features rich widgets, flexible layouts, and a testing framework.
  • Supports asynchronous operations for integration with async libraries.
  • Includes a dev console for debugging terminal applications.
  • Offers a command palette for quick access to application commands.

Related tools

Share:

Auto-fetched .

Recent releases

Similar to textual

Favicon

 

  
 
Favicon

 

  
 
Favicon