A tool to export select classes assignments from Canvas
- Create a Canvas API token in your Canvas account. To do this, visit your Canvas profile (https://your-school.instructure.com/profile/), go to
Settings, and click "New Access Token"; the purpose & expiration can be whatever you wish. - Set environment variables:
export CANVAS_BASE_URL="https://your-school.instructure.com"
export CANVAS_API_TOKEN="your_token_here"Tip
For CANVAS_BASE_URL, your URL may be different than instructure.com (for example, college.edu). This is okay :)
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.pyI have a lot of memory issues and would always love reminders. Canvas/Instructure provides a way to export assignments as a calendar, but the problem is it exports every single class's assignments instead of just the ones you want!
This became very annoying to me, because my college enrolls me in mandatory classes about non-applicable stuff. I didn't want to have unnessecary clutter fill up my calendar, so I created a very quick tool (this repo!) that allowed me to export my assignments for the classes I actually take!
Another problem I had is Canvas's export tool does not contain the direct URL to the assignment, which is fustrating if you're someone who has trouble with searching for assignments & doesn't want to click through multiple links :)
Example of an exported calendar using this tool:
This tool has 2 options (once you select your courses):
- All assignments
- Select assignments
Selecting "all assignments" will export all assignments for the courses you selected, while "select assignments" will allow you to select individual assignments. This is helpful if you're looking for particular assignment(s), such as Exams or a specfiic Module/Chapter.