Textual is a TUI (Text User Interface) framework for Python using Rich as a renderer.
The end goal is to be able to rapidly create rich terminal applications that look as good as possible (within the restrictions imposed by a terminal emulator).
Rich TUI will integrate tightly with its parent project, Rich. Any of the existing renderables can be used in a more dynamic application.
Textual will be eventually be cross platform, but for now it is MacOS / Linux only. Windows support is in the pipeline.
This project is currently a work in progress and may not be usable for a while. Follow @willmcgugan for progress updates, or post in Discussions if you have any requests / suggestions.
I'll be documenting progress in video form.
Now with a system to animate a value to another value. Here applied to the scroll position. The animation system supports CSS like easing functions. You may be able to tell from the video that the page up / down keys cause the window to first speed up and then slow down.
A new update system allows for overlapping layers. Animation is now synchronized with the display which makes it very smooth!
New version (0.1.4) with API updates and the new layout system.
11 July 2021
Added a new layout system modelled on CSS grid. The example demostrates how once created a grid will adapt to the available space.