Statement of Purpose (SOP) Generator -- docx version

A simple module for generating a bunch of SOPs for different schools.


With the same content framework, the package will generate multiple SOPs for different schools by replacing the school and program names with the target school and program in the statement.


How to use (Mac)

Method 1: Run as package

Step 1: Pip Install package from your terminal

pip install DansonGo-5

Step 2: Generate SOPs

import os

# Initial parameters
school_list = "~/school_list.xlsx" # The excel file path of your school and program list
SOP_temp_file = "~/SOP_template.docx" # The docx file path of your SOP template.
School_var = "School" # The column name where school names are saved in your school list.
Program_var = "Program" # The column name where program names are saved in your school list.
output_path = os.getcwd() # Output path where you want to save your output files.

# Generate SOPs

Method 2: Run from terminal

Step 1: Clone the SOP_GEN from GitHub.

Step 2: Run “” in terminal from the folder that contains “” and two prerequisite files.

  1. Rename your school list excel file as “school_list.xlsx”.

  2. In “school_list.xlsx”, please make sure that the school and program column names are “School” and “Program”, respectively. (TAKE CARE OF THE FIRST CAPITAL LETTER)

  3. Rename your docx as “SOP_template.docx”

  4. In your “SOP_template.docx”, please label the school position as “[SCHOOL_NAME]“. Please label the program position as “[PROGRAM_NAME]”

  5. Run the command below from terminal



Gen Li
Zannoni Research Associate at Yale School of Management