Metadata-Version: 2.1
Name: textual
Version: 0.44.0
Summary: Modern Text User Interface framework
Home-page: https://github.com/Textualize/textual
License: MIT
Author: Will McGugan
Author-email: will@textualize.io
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Operating System :: Microsoft :: Windows :: Windows 11
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Provides-Extra: syntax
Requires-Dist: importlib-metadata (>=4.11.3)
Requires-Dist: markdown-it-py[linkify,plugins] (>=2.1.0)
Requires-Dist: rich (>=13.3.3)
Requires-Dist: tree-sitter (>=0.20.1,<0.21.0) ; extra == "syntax"
Requires-Dist: tree_sitter_languages (>=1.7.0) ; extra == "syntax"
Requires-Dist: typing-extensions (>=4.4.0,<5.0.0)
Project-URL: Bug Tracker, https://github.com/Textualize/textual/issues
Project-URL: Documentation, https://textual.textualize.io/
Project-URL: Repository, https://github.com/Textualize/textual
Description-Content-Type: text/markdown




![Textual splash image](https://raw.githubusercontent.com/Textualize/textual/main/imgs/textual.png)

[![Discord](https://img.shields.io/discord/1026214085173461072)](https://discord.gg/Enf6Z3qhVr)


# Textual

Textual is a *Rapid Application Development* framework for Python.

Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a [web browser](https://github.com/Textualize/textual-web)!


<details>
  <summary> 🎬 Demonstration </summary>
  <hr>

A quick run through of some Textual features.



https://user-images.githubusercontent.com/554369/197355913-65d3c125-493d-4c05-a590-5311f16c40ff.mov



 </details>


## About

Textual adds interactivity to [Rich](https://github.com/Textualize/rich) with an 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.

## Compatibility

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

## Installing

Install Textual via pip:

```
pip install textual
```

If you plan on developing Textual apps, you should also install the development tools with the following command:

```
pip install textual-dev
```

See the [docs](https://textual.textualize.io/getting_started/) if you need help getting started.

## Demo

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

```
python -m textual
```

![Textual demo](https://raw.githubusercontent.com/Textualize/textual/main/imgs/demo.png)

## Documentation

Head over to the [Textual documentation](http://textual.textualize.io/) to start building!

## Join us on Discord

Join the Textual developers and community on our [Discord Server](https://discord.gg/Enf6Z3qhVr).

## Examples

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


<details>
  <summary> 🎬 Code browser </summary>
  <hr>

  This is the [code_browser.py](https://github.com/Textualize/textual/blob/main/examples/code_browser.py) example which clocks in at 61 lines (*including* docstrings and blank lines).

https://user-images.githubusercontent.com/554369/197188237-88d3f7e4-4e5f-40b5-b996-c47b19ee2f49.mov

 </details>


<details>
  <summary> 📷 Calculator </summary>
  <hr>

This is [calculator.py](https://github.com/Textualize/textual/blob/main/examples/calculator.py) which demonstrates Textual grid layouts.

![calculator screenshot](https://raw.githubusercontent.com/Textualize/textual/main/imgs/calculator.png)
</details>


<details>
  <summary> 🎬 Stopwatch </summary>
  <hr>

  This is the Stopwatch example from the [tutorial](https://textual.textualize.io/tutorial/).



https://user-images.githubusercontent.com/554369/197360718-0c834ef5-6285-4d37-85cf-23eed4aa56c5.mov



</details>



## Reference commands

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

<details>
  <summary> 🎬 Easing reference </summary>
  <hr>

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:

```bash
textual easing
```


https://user-images.githubusercontent.com/554369/196157100-352852a6-2b09-4dc8-a888-55b53570aff9.mov


 </details>

<details>
  <summary> 🎬 Borders reference </summary>
  <hr>

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

```bash
textual borders
```


https://user-images.githubusercontent.com/554369/196158235-4b45fb78-053d-4fd5-b285-e09b4f1c67a8.mov


</details>


<details>
  <summary> 🎬 Colors reference </summary>
  <hr>

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

```bash
textual colors
```



https://user-images.githubusercontent.com/554369/197357417-2d407aac-8969-44d3-8250-eea45df79d57.mov




</details>

