Canvasdl
Tired of managing your course content on 5-10 different platforms?
Canvasdl comes to the rescue and saves you hours of work when studying and completing assignments.
This convenient package:
- Synchronizes all your course content to local files
- Synchronizes your assignment dates to google calendar
- Shows you what items are new
- Remembers your progress through course materials
- Keeps you up to date without overwhelming you with useless notifications
- Synchronizes content available on:
- Canvas:
- Announcements
- Assignments
- Course files
- Video recordings
- Course websites
- Ed Discussion
- Google Drive
- Piazza
- Gradescope
- Developed for:
- Students at Columbia University
- Linux OS.
- Useful for any school using any of the listed platforms
- Contact developer for other OS/platforms support.
Installation
Make sure you are using python3.10+
-
Install the package
pip install canvasdl
-
Obtain Canvas API key
- Columbia University students
- Go to Courseworks > Account > Settings
- Click on "New Access Token"
-
[Optional] Obtain Google Calendar API key
-
[Optional] Specify custom Calendar ID
-
Configure your settings:
canvasdl --configure
-
Install package for local file management
-
[Optional] Install package for UI progress during synchronization
- python-pyqt6
- pip install PyQt6
Usage
Run command to synchronize all content and check for updates
canvasdl
Quickstart
To quickly experiment with the package you can run the quickstart in Google Collab.