skillfed

textual

Modern Text User Interface framework

textual Permissive license MIT Active 36,931 v8.2.8 released

Install

textual on PyPI

pip

pip install textual

uv

uv add textual

poetry

poetry add textual

Package facts

License MIT (permissive)
Python support supports the current Python release (<4.0,>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 6 — markdown-it-py, mdit-py-plugins, platformdirs, pygments, rich, typing-extensions
Maintenance actively maintained — 44 days since the last release
Last repo commit
First released
Popularity one of the 100 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: textual-8.2.8-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: Windows :: Windows 10Operating System :: Microsoft :: Windows :: Windows 11Operating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Typing :: Typed

About textual

from the package's own PyPI description — quoted content, verbatim

Discord (image) Supported Python Versions (image) PyPI version (image) OS support (image)

textual-splash (image)

Textual

<img align="right" width="250" alt="clock" src="https://github.com/user-attachments/assets/63e839c3-5b8e-478d-b78e-cf7647eb85e8" />

Build cross-platform user interfaces with a simple Python API. Run your apps in the terminal or a web browser.

Textual's API combines modern Python with the best of developments from the web world, for a lean app development experience. De-coupled components and an advanced testing framework ensure you can maintain your app for the long-term.

Want some more examples? See the examples directory.

```python """ An App to show the current time. """

from...

Read as markdown · JSON record · Source repository · Homepage · Docs

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Textual is a framework for building cross-platform terminal and web user interfaces in Python with a modern API, widgets, and layout system.

Low friction install with six well-maintained runtime dependencies including rich, pygments, and platformdirs. Active project with recent releases (44 days since last) and strong community signal. Supports Python 3.9–3.14.

MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice in distributions.

Usage

pip install textual

from textual.app import App, ComposeResult
from textual.widgets import Static

class HelloApp(App):
    def compose(self) -> ComposeResult:
        yield Static("Hello, Textual!")

if __name__ == "__main__":
    app = HelloApp()
    app.run()

Requires Python 3.9 or later; terminal or web browser environment to run the app.

Verdict: Textual is a mature, actively maintained framework (Production/Stable status, no known vulnerabilities) with low install friction and permissive licensing. Its top-100 popularity and rich widget library make it a solid choice for terminal and web UI development in Python.

Needs verification

  • Whether the six runtime dependencies (markdown-it-py, mdit-py-plugins, platformdirs, pygments, rich, typing-extensions) have their own known vulnerabilities or maintenance concerns.
  • Performance characteristics and resource overhead when deploying to resource-constrained environments.
terminal ui framework pythontui application buildercross-platform cli interfacepython terminal widgetstext user interface librarybrowser terminal app frameworkpython console ui

Similar packages