Skip to main content

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

Metadata

Release files for fstflowchat 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fstflowchat 0.0.7
File Size Uploaded
fstflowchat-0.0.7.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fstflowchat 0.0.7
File Interpreter ABI Platform
fstflowchat-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 17.0 kB

Release files / fstflowchat-0.0.7.tar.gz

Download URL fstflowchat-0.0.7.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9ebf471344e9ebfb1c2896301fafd81fa1889f9dbde85071849cf0d719fd62ee
BLAKE2b-256 checksum
How to use checksums
52f2c1a8d1e0c2cfc363b6dbaa03c257138a8249a2d0e5cbb6d2898c0a98de1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / fstflowchat-0.0.7-py3-none-any.whl

Download URL fstflowchat-0.0.7-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3c8b38955423038701e747bf6cd6dd058c64e37476a50f5cc6a4b753c84b51a
BLAKE2b-256 checksum
How to use checksums
5df7b02cd9ec21fa1e2ef9427dfd7ea24bc64420c804bd24a44077eb13077f04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page