Metadata-Version: 2.4
Name: pywidgy
Version: 0.1.1
Summary: A lightweight widget framework for Python terminal apps
Project-URL: Homepage, https://github.com/epersni/pywidgy
Author: Nicklas Persson
License-Expression: MIT
Requires-Python: >=3.9
Requires-Dist: blessed
Description-Content-Type: text/markdown

# pywidgy
A lightweight, composable widget framework for Python terminal apps.

![Example image](docs/demo.gif)

## Install
```bash
pip install pywidgy
```

## Quickstart
Here is a simple example to create a dialog for with checkboxes. For more examples see `examples/` directory.
```python
    import pywidgy
    from pywidgy import Checkboxes

    def print_selected_and_exit(selected: list[str]):
        print_selected_checkboxes(selected)
        pywidgy.close()

    pywidgy.init()
    pywidgy.spawn(
        Checkboxes(
            title="Select your xepa:",
            options=["apa", "bepa", "cepa", "depa", "eepa", "fepa"],
            size=(80, 100),
            exit_cb=print_selected_and_exit,
        )
    )
    pywidgy.run()
```

## Development
Using nix it is very easy to start developing. Just do
```
nix develop
```
to get the development environment up and running. From within the development enivornment you can run all the `tox` build targets to run linter, formatter, mypy, etc.

## Contributing
Contributions, issues, and feature requests are welcome!
```

