Metadata-Version: 2.1
Name: textual
Version: 0.2.0b6
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.7,<4.0
Classifier: Development Status :: 1 - Planning
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Typing :: Typed
Provides-Extra: dev
Requires-Dist: aiohttp (>=3.8.1,<4.0.0); extra == "dev"
Requires-Dist: click (==8.1.2); extra == "dev"
Requires-Dist: importlib-metadata (>=4.11.3,<5.0.0)
Requires-Dist: msgpack (>=1.0.3,<2.0.0); extra == "dev"
Requires-Dist: nanoid (>=2.0.0,<3.0.0)
Requires-Dist: rich (>=12.6.0,<13.0.0)
Requires-Dist: typing-extensions (>=4.0.0,<5.0.0); python_version < "3.10"
Description-Content-Type: text/markdown

# Textual

![Textual splash image](./imgs/textual.png)

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

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

  This is the [code_browser.py](./examples/code_browser.py) example which clocks in at 61 lines (*including* docstrings and blank lines).

  https://user-images.githubusercontent.com/554369/189394703-364b5caa-97e0-45db-907d-7b1620d6411f.mov
  
 </details>


## About

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

## Compatibility

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

## Installing

Install Textual via pip:

```
pip install textual[dev]
```

The addition of `[dev]` installs Textual development tools.


## 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/189485538-31e794ff-61d7-4faf-902a-6e90a9d76e5b.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/189485735-cb2b4135-caee-46d7-a118-66cd7ed9eef5.mov


  
</details>

## 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> 📷 Calculator </summary>
  <hr>
  
This is [calculator.py](./examples/calculator.py) which demonstrates Textual grid layouts.
  
![calculator screenshot](./imgs/calculator.svg)
</details>

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

  This is [code_browser.py](./examples/code_browser.py) which demonstrates the directory tree widget.
  
![code browser screenshot](./imgs/codebrowser.svg)
  
</details>


<details>
  <summary> 📷 Stopwatch </summary>
  <hr>

  This is the Stopwatch example from the tutorial.
  
### Light theme 
  
![stopwatch light screenshot](./imgs/stopwatch_light.svg)

### Dark theme
  
![stopwatch dark screenshot](./imgs/stopwatch_dark.svg)

</details>

