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
- Canvas:
- 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.
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"
- Columbia University students
-
[Optional] Obtain Google Calendar API key
-
[Optional] Specify custom Calendar ID
-
Configure your settings:
canvasdl --configure
-
Install package for local file management
- xattr
- mediainfo
-
[Optional] Install package for UI progress during synchronization
- python-pyqt6
- pip install PyQt6
Run command to synchronize all content and check for updates
canvasdl
To quickly experiment with the package you can run the quickstart in Google Collab.