Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
January 18, 2023 19:22
February 1, 2023 18:01
October 22, 2022 21:30
October 22, 2022 08:36
January 18, 2023 19:22
August 31, 2021 17:53
November 6, 2022 17:53
January 18, 2023 19:22
April 8, 2021 16:24
November 6, 2022 15:41
October 23, 2022 19:32
November 17, 2022 15:51
December 18, 2022 09:50
July 5, 2021 20:48
January 26, 2023 13:57


Textual splash image

Textual is a Python framework for creating interactive applications that run in your terminal.

🎬 Demonstration

A quick run through of some Textual features.


Textual adds interactivity to Rich with a Python API inspired by modern web development.

On modern terminal software (installed by default on most systems), Textual apps can use 16.7 million colors with mouse support and smooth flicker-free animation. A powerful layout engine and re-usable components makes it possible to build apps that rival the desktop and web experience.


Textual runs on Linux, macOS, and Windows. Textual requires Python 3.7 or above.


Install Textual via pip:

pip install "textual[dev]"

The addition of [dev] installs Textual development tools. See the docs if you need help getting started.


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

python -m textual

Textual demo


Head over to the Textual documentation to start building!


The Textual repository comes with a number of examples you can experiment with or use as a template for your own projects.

🎬 Code browser

This is the example which clocks in at 61 lines (including docstrings and blank lines).
📷 Calculator

This is which demonstrates Textual grid layouts.

calculator screenshot

🎬 Stopwatch

This is the Stopwatch example from the tutorial.

Reference commands

The textual command has a few sub-commands to preview Textual styles.

🎬 Easing reference

This is the easing reference which demonstrates the easing parameter on animation, with both movement and opacity. You can run it with the following command:

textual easing
🎬 Borders reference

This is the borders reference which demonstrates some of the borders styles in Textual. You can run it with the following command:

textual borders
🎬 Colors reference

This is a reference for Textual's color design system.

textual colors