IDEMSInternational / parenttext-china

0 stars 0 forks source link

China ParentText Pipeline

This project builds RapidPro flows for the ParentText chatbot. It takes input from specific Google Sheets spreadsheets and produces RapidPro flow JSON files that are ready to upload to any RapidPro server.

Usage

The pipeline is intended to be run by triggering a Github Actions workflow or by running commands on the command line.

Github actions

  1. Navigate to the page for the Produce RapidPro Flows action
  2. Click on the Run workflow button; a drop-down will appear
  3. Make sure Branch is set to main
  4. Click on the green Run workflow button

Running from command line

These steps need to be followed if you want to run the pipeline from the command line or develop the pipeline further.

Setup

  1. Clone or fork the repo to a local folder
  2. Install Python >= 3.8
  3. Create a Python virtual environment python -m venv .venv
  4. Activate the environment:
    • Linux: source .venv/bin/activate
    • Windows: .venv/Scripts/activate
  5. Upgrade pip pip install --upgrade pip
  6. Install project Python dependencies pip install -r requirements.txt
  7. Install latest Node and NPM Long-Term Support (LTS) versions
  8. Install project Node dependencies npm install
  9. Make sure you have a correct credentials.json file in the same directory as the cloned repo.

Run

python -m parenttext_pipeline.cli

The main script that contains the full process to produce RapidPro flows from the relevant Google Sheets. It reads configuration settings from the 'config.py' file, so any adjustments should be made in that file. That file contains information on what the various inputs mean. There is also an authoritative explanation of the available pipeline configuration settings in the repository for the general ParentText Pipeline.