About this project

Textual is an open-source Python framework for building user interfaces that run in the terminal or in a web browser. Its API combines modern Python with ideas from web development, aiming for a lean app development experience. Key capabilities described in the README: - Cross-platform UI: apps can run in the terminal or be served in a web browser via `textual serve`. - Widget library: includes buttons, tree controls, data tables, inputs, text areas, list views, and more. - Flexible layout system and predefined themes for out-of-the-box styling. - CSS-like styling through a `CSS` attribute on apps. - Asynchronous framework under the hood, but async is optional. - Testing framework for maintaining apps long-term. - Dev console provided by the separate `textual-dev` package, which connects from another terminal and shows system messages, events, logged messages, and print statements. - Fuzzy-search command palette opened with `ctrl+p`, extensible with custom commands. - Installation via `pip install textual textual-dev`. - Demo available by running `python -m textual` or via `uvx --python 3.12 textual-demo`. - Textual Web can serve apps with firewall-busting technology and low system requirements. The README includes a short clock app example demonstrating `App`, `ComposeResult`, `Digits`, CSS, and interval-based updates. It also links to documentation, examples, a widget gallery, and a Discord community.