course content synchronizer
Project description
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
- 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.
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"
- 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
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.