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 APIgspread
for accessing the Google Sheets APIPyGithub
for accessing the GitHub APIPyYAML
to parse YAML configuration filespathos
(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:
black
for formattingflake8
for style checking, including the following plugins:mypy
for static type checkingThis also requires
types-PyYAML
forPyYAML
’s type annotations
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