Metadata-Version: 2.1
Name: fstflowchat
Version: 0.0.2
Summary: a small, pedagogical, fst-based dialog toolkit.
Home-page: https://fstflowchat.readthedocs.io/en/latest/
Author: Abe Kazemzadeh
Project-URL: Bug Reports, https://github.com/abecode/fstflowchat/issues
Project-URL: Funding, https://donate.pypi.org
Project-URL: Say Thanks!, http://saythanks.io/to/example
Project-URL: Source, https://github.com/abecode/fstflowchat/issues
Keywords: dialog,dialogue,chat,finite state transducer,dialog agent,dialog system
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.7, <4
Description-Content-Type: text/markdown
License-File: LICENSE

# fstflowchat

**fstflowchat** is a small, pedagogical, fst-based dialog toolkit.


fstflowchat uses finite state transducers to control dialog flow.  It
uses graphviz to visualize the dialog flow and as a graph
specification language for the dialog FST.  Each graph edge specifies
two functions, a test function that determines if the edge is a valid
transition, and an output fuction that determines the system's output
as it changes state.


## Installation

To install the development version, run 

```
pip install git+https://github.com/abecode/fstflowchat
```

Currently the development version is preferred.

To run the stable version (in the future), run

```
pip install fstflowchat
```


Currently the only dependency is the [graphviz
application](https://graphviz.org/download/) and the [pygraphviz
library](https://pygraphviz.github.io/documentation/stable/install.html).
For mac installation issues, please use the following command as
described in this [stackoverflow
question](https://stackoverflow.com/questions/69970147/how-do-i-resolve-the-pygraphviz-error-on-mac-os)

```
python -m pip install \
    --global-option=build_ext \
    --global-option="-I$(brew --prefix graphviz)/include/" \
    --global-option="-L$(brew --prefix graphviz)/lib/" \
    pygraphviz
```

## Running a demo

To see a demo, run 

```
fstflowchat-example
```

## Documentation

For more information, please see the [documentation](https://fstflowchat.readthedocs.io/en/latest/)
