Metadata-Version: 2.4
Name: clinguin
Version: 2.6.1
Summary: An interactive visualizer for clingo
Home-page: https://github.com/krr-up/clinguin
Author: Alexander Beiser, Susana Hahn (Potassco)
Author-email: alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: clingo
Requires-Dist: clorm>=1.4.1
Requires-Dist: clingo-dl
Requires-Dist: fastapi
Requires-Dist: networkx
Requires-Dist: uvicorn
Requires-Dist: clingraph
Requires-Dist: Pillow
Requires-Dist: clingexplaid==1.0.16
Provides-Extra: tkinter
Requires-Dist: tk; extra == "tkinter"
Provides-Extra: doc
Requires-Dist: sphinx==6.2.1; extra == "doc"
Requires-Dist: nbsphinx; extra == "doc"
Requires-Dist: furo; extra == "doc"
Requires-Dist: sphinx_inline_tabs; extra == "doc"
Requires-Dist: sphinx_copybutton; extra == "doc"
Requires-Dist: sphinxemoji; extra == "doc"
Requires-Dist: myst_parser; extra == "doc"
Provides-Extra: test
Requires-Dist: nox; extra == "test"
Provides-Extra: format
Requires-Dist: nox; extra == "format"
Requires-Dist: autoflake; extra == "format"
Requires-Dist: isort; extra == "format"
Requires-Dist: black; extra == "format"
Provides-Extra: lint-flake8
Requires-Dist: nox; extra == "lint-flake8"
Requires-Dist: flake8; extra == "lint-flake8"
Provides-Extra: lint-pylint
Requires-Dist: nox; extra == "lint-pylint"
Requires-Dist: pylint; extra == "lint-pylint"
Dynamic: license-file

# Clinguin

Clinguin enables ASP developers to **create interactive User Interface** (UI) prototypes **using only ASP**.
UIs are defined as sets of facts,  which are then rendered to provide continuous interaction with the ASP solver *clingo* based on user-triggered events.

***Your UI definition would look like this!***

```prolog
elem(w, window, root).
elem(b1, button, w).
attr(b1, label, "Button 1").
when(b1, click, call, next_solution).
```

### Usage

Look at our [documentation page](https://clinguin.readthedocs.io/en/latest/) to see how to use clinguin.

### Examples

Our **[examples folder](https://github.com/potassco/clinguin/tree/master/examples)** shows how to use the range of functionalities in different applications.

### Extensions

***Integration with different applications***

Clinguin includes a wide range of [clingo](https://potassco.org/clingo/) functionalities such as multi-shot solving, theory solving and more! It also has extensions for interacting with [clingraph](https://clinguin.readthedocs.io/en/latest/clinguin/installation.html) graphs and providing explanations.


***Is clinguin missing something for your application?***

No worries! Clinguin can be extended with different functionalities and even frontend languages, take a look [at this guide](https://clinguin.readthedocs.io/en/latest/clinguin/development/customBackend.html).


## Installation

### Requirements

- Python (version 3.8, 3.9, or 3.10)

For instructions to install from source, pip and conda see our [documentation page](https://clinguin.readthedocs.io/en/latest/clinguin/installation.html).
