Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



11 Commits

Repository files navigation

MCEC-EmG | Multilingual College Email Corpus - Email Generator Tool

MCEC-EmG | Multilingual College Email Corpus - Email Generator Tool


Generates and keeps track of MCEC Project emails to participants.

For a video demo you can click on the link below:

EmG YouTube Video

Project Organization

├── images
├── config
├── data
│   ├── external
│   ├── interim
│   ├── processed
│   └── raw
├── docs
├── notebooks
├── reports
│   └── figures
└── email_generator
    ├── data
    ├── external
    ├── models
    ├── tools
    └── visualization

Getting Started

Follow this instructions to install and run the email_generator module on your computer.


  1. Python (3.7.6) and up
  2. pyperclip (1.8.1)

Installation Instructions

If you don't have a conda environment

# On Windows
> cd \path\to\email_generator\folder
> python develop

# On MacOS
$ cd /path/to/email_generator/folder
$ (sudo) python develop
  • You may need to run as administrator (sudo in MacOS, runas in windows)
  • Now you can run the program
# If your Python command is just `python` do:

# If your Python command is `python3` do:

If you have a conda environment

# Create a new conda environment named mcec with python=3.7.6
conda create -n mcec python=3.7.6
  • Activate your new environment
conda activate mcec
  • Make sure that the email_generator software folder is not compressed (unzip it if necessary)
  • Open the command prompt or terminal in your computer
  • Change directories to the email_generator software folder
  • Type python develop and enter on your console
# On Windows
(mcec) > cd \path\to\email_generator\folder
(mcec) > python develop

# On MacOS
(mcec) $ cd /path/to/email_generator/folder
(mcec) $ (sudo) python develop
  • You can check your installation by running conda list mceceg

Using the email generator

When you run the email_generator program from the command line, the program will guide you through all the steps you need to email participants, add notes and save your progress.

The program will prompt you for your UA NetID. Only principal investigators (PIs) are allowed to recruit and contact participants, so only PI functionality is currently supported.

Run the program

To run the program after installation - See: Installation Instructions after installation - See: Installation Instructions

  • Open the command-line interface (bash or command prompt)
  • From the command prompt change directories (cd) to the email_generator directory
# On Windows
> cd \path\to\email_generator\folder
> python develop

# On MacOS
$ cd /path/to/email_generator/folder
$ python develop
  • Run the program by typing python
# If your Python command is just `python` do:

# If your Python command is `python3` do:
  • You will be able to exit the program at any time by typing cancel at any prompt however your latest progress may not be saved if you exit the program this way.

Login and running options

  • The program will ask you for your UA NetID.
  • Type your UA NetID directly on the screen when prompted:
>>> To begin, enter your NetID:
  • Input the academic term you are working on. A list will be provided. Make sure to type the term exactly as it is shown on the list
>>> Which academic term are you working on? These are the possibilities --> Fall20
Type here:
  • The program will ask if you are recruiting. Because no other functionalities have been implemented so far, it doesn't matter if you type yes or no, the program will assume that you will be recruiting instructors.
>>> Are you recruiting? (yes/no)
  • The program will ask if this is a test. If you want to run the program in test mode as to familiarize yourself with it, you will need to type yes and then continue on the next prompt:
>>> Is this a test? (yes/no)

                    *** THIS IS A TEST ***

       *** enter "cancel" to exit WITHOUT saving ***

>>> Type "continue" to confirm 
  • Now you are running the program on test mode. Don't worry, none of your progress or notes will be saved now. To exit the program you can type cancel at any prompt so that you can start the program again by running python

Note that test mode will only run for three participants and then it will exit. Do not use test mode to recruit participants because then we will have no record of which participants were contacted and which were not.

Emailing participants

If you answered no to the >>> Is this a test? (yes/no) prompt, you have started the process of emailing participants. The program will create emails and copy them to your computer's clipboard (exactly like if you had wrote the email yourself and done control + c). Then, you will be able to open your web browser manually and paste the email on your UArizona Catmail (using Control + v)

  • For each participant, follow the instructions on the screen. There are two possibilities:
  1. You will be asked to email the current participant. Make sure to adapt the greeting on your email accordingly. For instance it would be better to use Dr. with a professor whom you are not familiar with, or their first name if it is a colleague or a friend whom you are recruiting. Please adapt the greeting of the email to the circumstances.
****** Emailing [Participant Name]
****** [Professor, Assistant Professsor, Instructor, etc]

>>> Please email [Participant Name] now. After you do, come back and
>>> Type (Y/y)es to continue or (E/e)xit to STOP the program and SAVE: 
  1. Add notes for current participant. Notes can be anything you want.
>>> Would you like to add any notes for [Participant Name] before continuing?
>>> Type (Y/y)es to add notes and continue or (N/n)o to skip adding notes and continue:
  • The program will continue until you exit it or until you run out of participants.

Exiting the program and saving your progress

  • When emailing participants, your progress will be saved automatically after adding a note or after typing yes to this prompt:
>>> Please email [Participant Name] now. After you do, come back and
>>> Type (Y/y)es to continue or (E/e)xit to STOP the program and SAVE: 
  • When emailing participants, at any prompt you can type exit. This will save your current progress and exit.
  • You can quit the program at any point by typing cancel, but this will not save your latest progress (it will not know whom you emailed last).

*Note: In all cases when progress is saved it will be automatically reloaded the next time that you start the program again.


If you wish to contribute please contact Damian Romero directly and make sure you are familiar with git flow, git and GitHub software development.

For learning git flow you can consult Damian's notes here:




This project is licensed under the MIT License - see the LICENSE file for details.

Final Notes

*Progress is saved to a file called pickled_instructors_<TERMyy>. Please do not delete this file nor the folder where it is stored until we have aggregated this information to our safe archives.

The project structure for this repository was generated using the Reproducible Science cookiecutter boilerplate by Mario Krapp (2016)



A Python module for generating and keeping track of MCEC Project emails to participants.







No packages published