GitHub - lowekoz/textual: The lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser.

Discord Supported Python Versions PyPI version OS support

textual-splash

Build cross-platform user interfaces with a simple Python API.

Run your apps in the terminal or a web browser.

Widgets

Textual's library of widgets covers everything from buttons, tree controls, data tables, inputs, text areas, and more… Combined with a flexible layout system, you can realize any User Interface you need.

Predefined themes ensure your apps will look good out of the box.

Installing

Install Textual via pip:

pip install textual textual-dev

See getting started for details.

Demo

Run the following command to see a little of what Textual can do:

Or try the textual demo without installing (requires uv):

uvx --python 3.12 textual-demo

Textual ❤️ Web

textual-serve

Textual apps are equally at home in the browser as they are the terminal.

Any Textual app may be served with textual serve — so you can share your creations on the web.

Here's how to serve the demo app:

textual serve "python -m textual"

In addition to serving your apps locally, you can serve apps with Textual-Web.

Textual Web's firewall-busting technology can serve an unlimited number of applications.

Since Textual apps have low system requirements, you can install them anywhere Python also runs. Turning any device in to a connected device. No desktop required!

Documentation

Head over to the Textual documentation to start building.

Join us on Discord

Join the Textual developers and community on our Discord Server.