Giter Site home page Giter Site logo

staadecker / canvas-student-data-export Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cyberes/canvas-student-data-export

0.0 0.0 0.0 55 KB

Python script to download all of your student data from Canvas LMS.

Home Page: https://git.evulid.cc/cyberes/canvas-student-data-export

License: MIT License

Python 100.00%

canvas-student-data-export's Introduction

Introduction

Forked from https://github.com/davekats/canvas-student-data-export

Major changes:

  • Reorganized the project structure.
  • Refactored the code to make it more Pythonic.
  • Added progress bars.
  • Use threading where possible.
  • Save assignment attachements.
  • Save all user files.

The Canvas Student Data Export Tool can export nearly all of a student's data from Instructure Canvas Learning Management System (Canvas LMS). This is useful when you are graduating or leaving your college or university, and would like to have a backup of all the data you had in canvas. Also, some instructors disable the built-in export tool.

The tool exports all of the following data for each course:

  • Assignments
  • Announcements
  • Discussions
  • Pages
  • Files
  • Modules
  • Single file webpage of the Canvas page for grades, assignments, announcements, discussions, and modules

Additionally, all your files stored on Canvas (such as historic submissions and attachments) will be downloaded.

TO DO LIST

  • Export grades.
  • Detect when the cookies and API token are not valid.
  • Use argparse.
  • Add an argument to prohibit overwriting existing files.
  • Have the path to the Chrome binary be specified by a required argument.
  • Use logging.
  • Refactor download_canvas.py.
  • Refactor export.py.

Install

pip install -r requirements.txt
npm install

Make sure you have Chomium or Chrome installed. Currently, the executable path is hardcoded to /usr/bin/chromium-browser in module/singlefile.py. If you are not on Linux or do not use Chromium, you will need to change the path.

Run

  1. Get your Canvas API key by going to Canvas and navigating to Account > Settings > Approved Integrations > New Access Token
  2. Get your Canvas User ID at https://example.instructure.com/api/v1/users/self in the id field
  3. Save your cookies for your Canvas domain

Then, create the file credentials.yaml with the following content:

API_URL: [ base Canvas URL of your institution ]
API_KEY: [ API Key from Canvas ]
USER_ID: [ user ID from Canvas ]
COOKIES_PATH: [ path to cookies file ]

Make credentials.yaml is in the same directory as export.py.


Now, run the program:

python export.py

The folder ./output will be created and your data downloaded to this path.

canvas-student-data-export's People

Contributors

davekats avatar 17acres avatar moorepants avatar cyberes avatar alex-bellon avatar dj346 avatar mjforan avatar nafeej avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.