Skip to main content

a small, pedagogical, fst-based dialog toolkit.

Project description

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 run the stable version run

pip install fstflowchat

You will first need to install graphviz graphviz application and the pygraphviz library.

For mac installation issues, if you receive an error, please use the following command after running brew install graphviz, as described in this stackoverflow question

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

To install on a Colab notebook, run the following shell escaped commands to install graphviz and its development libraries and test the python pygraphviz library before installing fstflowchat:

# install graphviz with development libraries
!apt install libgraphviz-dev

# test pygraphviz library (used by fstflowchat
!pip install pygraphviz

# install fstflowchat
!pip install fstflowchat

If you are interested in contributing to fstflowchat or if you want to use the latest code from github (potentially with breaking changes) you can install fstflowchat in the following ways:

# clone and install as an editable pip library
git clone git+https://github.com/abecode/fstflowchat
cd fstflowchat
pip install -e .

# pip install directly from github
pip install git+https://github.com/abecode/fstflowchat

Running a demo

To see a demo, run

fstflowchat-example

Documentation

For more information, please see the documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fstflowchat-0.0.7.tar.gz (9.8 kB view hashes)

Uploaded Source

Built Distribution

fstflowchat-0.0.7-py3-none-any.whl (7.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page