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

app canvas_syncer

A syncer to Canvas LMS with files among courses

13 releases

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

#136 in Filesystem

Download history 12/week @ 2024-11-03 1/week @ 2024-12-08 126/week @ 2024-12-22 278/week @ 2024-12-29 24/week @ 2025-01-05 106/week @ 2025-01-12 245/week @ 2025-01-19 5/week @ 2025-01-26 191/week @ 2025-02-02 252/week @ 2025-02-09

739 downloads per month

MIT license

58KB
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
~758K SLoC