IDEMSInternational / parenttext-malaysia

0 stars 0 forks source link

Malaysia Parenttext Pipeline

This project builds RapidPro flows for the Malaysia 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

script produce_flows.py contains the full process to produce RapidPro flows from the relevant Google Sheets. It takes a number of inputs from the 'config.py' file so any adjustments should be made in that file. That file contains information on what the various inputs mean