A framework for turn-taking interactions
Project description
README
A framework for turn-taking interactions.
Example
This is from example.py
, using the terminal interface, and demonstrates several things:
-
A plan-based structure that uses graphs to direct content flow
-
Textual variation, including ordered variation in for the pschology questions
-
Writing user input to a database
-
Reading from the database to populate text
-
Error checking through tests that are run on data input, including automatically displaying an error message, if the user gives an invalid input
-
Confirmation of valid user input, which is achieved by specifying a boolean argument when creating the message
-
The use of a generic interface class that is extended to make this interaction display on the terminal
===================== Hola 0. Hi
0 ===================== What's your name? AJ ===================== 'AJ', right?
- Yes
- No
1 ===================== What's your name? Audrow ===================== 'Audrow', right?
- Yes
- No
0 ===================== Alright, Audrow, how old are you? 1000 ===================== Enter a number between 0 and 200
- Okay
- Oops
0 ===================== Alright, Audrow, how old are you? 27 ===================== How are you?
- Good
- Okay
- Bad
0 ===================== How do you feel about the following statement? 'I am the life of the party'
- Strongly agree
- Agree
- Neutral
- disagree
- Strongly disagree
1 ===================== How do you feel about the following statement? 'I am always prepared'
- Strongly agree
- Agree
- Neutral
- disagree
- Strongly disagree
1 ===================== How do you feel about the following statement? 'I get stressed out easily'
- Strongly agree
- Agree
- Neutral
- disagree
- Strongly disagree
3 ===================== Bye
- Bye
- See ya!
1 ========================= Currently in the database {'answers': ['Agree', 'Agree', 'disagree'], 'question_idx': 3, 'user_age': 27.0, 'user_name': 'Audrow'}
Setup
Option 1: Clone the repository
Best if you want to modify or view the code - note that you can do the following inside of a virtual environment
git clone https://github.com/robotpt/interaction-engine
An easy way to setup the repository with its dependencies and with your Python path
is to use pip
.
pip install -e interaction-engine
Tests can be run with the following commands.
cd interaction-engine
python3 -m unittest
Option 2: Use Pip
Best if you just want to use it
python3 -m pip install interaction_engine
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.