Metadata-Version: 2.4
Name: pyinkui
Version: 0.1.0
Summary: Python translation of @inkjs/ui built on top of pyinkcli
Project-URL: Homepage, https://github.com/quantmew/pyinkui
Project-URL: Repository, https://github.com/quantmew/pyinkui
Project-URL: Issues, https://github.com/quantmew/pyinkui/issues
Author: Quantmew Contributors
License-Expression: MIT
License-File: LICENSE
Keywords: cli,ink,python,react,terminal,ui
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
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: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Terminals
Requires-Python: >=3.9
Requires-Dist: pyinkcli<0.2.0,>=0.1.1
Provides-Extra: dev
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Description-Content-Type: text/markdown

# pyinkui

`pyinkui` is a Python translation of [`@inkjs/ui`](https://github.com/vadimdemedes/ink-ui), built on top of the already-translated [`pyinkcli`](https://github.com/quantmew/pyinkcli) runtime.

## Installation

`pyproject.toml` installs `pyinkcli` directly from:

- `https://github.com/quantmew/pyinkcli.git`

```bash
pip install -e .
```

## Quick Start

```python
from pyinkcli import Box, render
from pyinkui import Spinner, StatusMessage


def App():
    return Box(
        Spinner(label="Loading"),
        StatusMessage("Ready", variant="success"),
        flexDirection="column",
    )


render(App).wait_until_exit()
```

## Testing

```bash
PYTHONPATH=src pytest
```

## Examples

Examples are optimized to be directly runnable with Python. They keep the upstream-facing filenames where practical, and use a small bootstrap helper to ensure the local `src/` tree is imported correctly.

## License

MIT. The license text is copied from upstream `ink-ui`.
