Metadata-Version: 2.4
Name: scietex.textual
Version: 0.1.0
Summary: Textual widgets and themes for scietex applications
Author-email: Anton Bondarenko <bond.anton@gmail.com>
Project-URL: Bug Tracker, https://github.com/bond-anton/scietex.textual/issues
Project-URL: Homepage, https://github.com/bond-anton/scietex.textual
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: textual>=8.2.0
Requires-Dist: scietex.logging>=2.2.1
Provides-Extra: dev
Requires-Dist: tox>=4.30.3; extra == "dev"
Requires-Dist: textual[syntax]>=8.2.0; extra == "dev"
Provides-Extra: lint
Requires-Dist: ruff; extra == "lint"
Requires-Dist: ty; extra == "lint"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-asyncio; extra == "test"
Requires-Dist: textual[syntax]>=8.2.0; extra == "test"
Requires-Dist: scietex.logging>=2.2.1; extra == "test"
Provides-Extra: syntax
Requires-Dist: textual[syntax]>=8.2.0; extra == "syntax"
Dynamic: license-file

# scietex.textual

**scietex.textual** is a collection of [Textual](https://textual.textualize.io/) widgets, themes, and related utilities for building consistent terminal user interfaces across scietex applications. It provides ready-to-use components and a unified look-and-feel so that every scietex app shares the same visual identity.

## Features

- **Themes**: Built-in Scietex Light and Scietex Dark themes, ready to register and apply to any Textual app.
- **Widgets**: Reusable Textual widgets for scietex applications (added incrementally).
- **Examples**: Runnable examples demonstrating themes and widgets in `examples/`.

## Requirements

- Python 3.10+
- textual>=8.2.0

## Installation

Install the package with:

```bash
pip install scietex.textual
```

## Basic Usage

Register and apply a Scietex theme to a Textual app:

```python
from textual.app import App

from scietex.textual import ScietexDark, register_theme


class MyApp(App):
    pass


app = MyApp()

# Register and apply the Scietex dark theme.
register_theme(app, ScietexDark)

app.run()
```

Replace `ScietexDark` with `ScietexLight` for the light theme.

See the [`examples/`](./examples) directory for complete, runnable examples.

## License

This project is licensed under the MIT License.
