course content synchronizer


License
MIT
Install
pip install canvasdl==1.4.20

Documentation

Canvasdl

Console image Screen image

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+

  1. Install the package

    pip install canvasdl
    
  2. Obtain Canvas API key

    • Columbia University students
      • Go to Courseworks > Account > Settings
      • Click on "New Access Token"
  3. [Optional] Obtain Google Calendar API key

  4. [Optional] Specify custom Calendar ID

  5. Configure your settings:

    canvasdl --configure
  6. Install package for local file management

  7. [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.