#canvas #course #education #download #synchronize #assignment #canvas-lms

app canvas_syncer

A syncer to Canvas LMS with files among courses

14 releases

new 0.6.6 Feb 19, 2025
0.6.5 Feb 15, 2025
0.5.2 Jan 21, 2025
0.4.4 Jan 1, 2025
0.4.1 Sep 16, 2024

#134 in Filesystem

Download history 3/week @ 2024-10-29 9/week @ 2024-11-05 1/week @ 2024-12-10 215/week @ 2024-12-24 210/week @ 2024-12-31 3/week @ 2025-01-07 225/week @ 2025-01-14 130/week @ 2025-01-21 1/week @ 2025-01-28 198/week @ 2025-02-04 529/week @ 2025-02-11

887 downloads per month

MIT license

59KB
1.5K SLoC

Source code location: https://github.com/wznmickey/canvas_syncer

Features:

  1. Support to download files accessable in file section as well as the files in assignments and modules and maintain the structure.
  2. Support to filter courses and terms. (File size and type coming soon)
  3. Support to monitor changes in files and update them.
  4. Support to operate on more than one Canvas system.
  5. Support to download with multiple threads.

Plan to implement Canvas-Syncer (https://github.com/BoYanZh/Canvas-Syncer) in rust to gain higher readability and extension.

Roadmap:

  1. use blocking to complete basic functions (finished)
  2. switch to async (finished)
  3. support features(i.e. file filter, detail downloading config) (partly)
  4. allow uploading

An async rust program that synchronizes files and folders across Canvas LMS Files and local.

Check config.json.example.

The default config file is ./config.json and you can use --config to set its path.

You can use use cargo to install this program.

You can also directly use the compiled file in github releases in https://github.com/wznmickey/canvas_syncer/releases .

Dependencies

~26–45MB
~756K SLoC