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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file fstflowchat-0.0.7.tar.gz.

File metadata

  • Download URL: fstflowchat-0.0.7.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for fstflowchat-0.0.7.tar.gz
Algorithm Hash digest
SHA256 9ebf471344e9ebfb1c2896301fafd81fa1889f9dbde85071849cf0d719fd62ee
MD5 4bfb1db4a46f5abcfae5b76e997a6287
BLAKE2b-256 52f2c1a8d1e0c2cfc363b6dbaa03c257138a8249a2d0e5cbb6d2898c0a98de1b

See more details on using hashes here.

File details

Details for the file fstflowchat-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: fstflowchat-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for fstflowchat-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c3c8b38955423038701e747bf6cd6dd058c64e37476a50f5cc6a4b753c84b51a
MD5 808cbbfd70e43d169c768b095c3c5523
BLAKE2b-256 5df7b02cd9ec21fa1e2ef9427dfd7ea24bc64420c804bd24a44077eb13077f04

See more details on using hashes here.

Supported by

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