Prerequisites

courseflow is written in Python, and was developed using Python 3.11.9. Earlier versions may be supported, but are not guaranteed.

courseflow requires the following Python prerequisites at a baseline:

  • canvasapi for accessing the Canvas LMS API

  • gspread for accessing the Google Sheets API

  • PyGithub for accessing the GitHub API

  • PyYAML to parse YAML configuration files

  • pathos (Optional) to run flows across multiple processes in a flow manager. If not present, flows will be run serially

Additional prerequisites may be considered to access different APIs. In general, Python wrappers around APIs are preferred over direct HTTP requests, as bearer tokens would need to be managed/wrapped anyway.

In addition to the above, courseflow uses the following packages for static linting:

Future improvements will migrate formatting/style checking to Ruff

Installing with PIP

To install these prerequisites, users can use the provided requirements.txt file:

git clone git@github.com:Aidan-McNay/courseflow.git
cd courseflow
pip install -r requirements.txt