The Canvas Student Data Export Tool can export nearly all of a student's data from Instructure Canvas Learning Management System (Canvas LMS). This is useful when you are graduating or leaving your college or university, and would like to have a backup of all the data you had in canvas.
The tool exports all of the following data:
The tool will export your data in JSON format, and will organize it nicely into folders named for every term of every year. Example:
To run the program, you will need the following dependencies:
Install Deno.
pip install requests
pip install jsonpickle
pip install canvasapi
pip install python-dateutil
pip install PyYAML
npm i github:gildas-lormeau/SingleFile
You can install these dependencies using
pip install -r requirements.txt
AND
npm i
Then run from the command line:
python export.py
These are the configuration parameters for the program:
https://example.instructure.com
Account
> Settings
> Approved Integrations
> New Access Token
https://example.instructure.com/api/v1/users/self
in the id
fieldIf single file fails to find your browser, you can set a path in singlefile.py. If you also want to run additional singlefile arguments that can also be done there.
To avoid manually entering credentials every time you run the program, you can create a credentials.yaml
file in the same directory as the script that has the following fields:
API_URL: < URL of your institution >
API_KEY: < API Key from Canvas >
USER_ID: < User ID from Canvas >
COOKIES_PATH: < Path to cookies file >
You can then run the script as normal:
python export.py
I would love to see this script's functionality expanded and improved! I welcome all pull requests :) Thank you!