Skip to main content

Build Status Coverage Status Code Climate PyPI version

edx-helper

edx-helper is forked from edx-dl which is no longer maintained.

Introduction

edx-helper is a simple tool to download videos and lecture materials from Open edX-based sites.

It is platform independent, and should work fine under Unix (Linux, BSDs etc.), Windows or Mac OS X.

Installation instructions

edx-helper requires Python 3 and very few other dependencies. (As of October 2023, edx-helper passed the test of Python versions 3.7, 3.8, 3.9, 3.10, and 3.11).

Installation (recommended)

Opening a terminal and typing the command If you have installed Python:

pip install edx-helper

Manual Installation

pip install git+https://github.com/csyezheng/edx-helper.git

or

git clone https://github.com/csyezheng/edx-helper.git
cd edx-helper
pip install -r requirements.txt
python setup.py install

Docker container

You can run this application via Docker if you want. Just install docker and run

docker run --rm -it \
       -v "$(pwd):/Downloaded" \
       csyezheng/edx-helper -u <USER> -p <PASSWORD> COURSE_URL
  • Please note that it will prompt that unable to find the image locally, please wait patiently for downloading.
  • The course files will be downloaded to your current directory.

Optional: update youtube-dl

One of the most important dependencies of edx-helper is youtube-dl. The installation step listed above already pulls in the most recent version of youtube-dl for you.

Unfortunately, since many Open edX sites store their videos on Youtube and Youtube changes their layout from time to time, it may be necessary to upgrade your copy of youtube-dl. There are many ways to proceed here, but the simplest is to simply use:

pip install --upgrade youtube-dl

Quick Start

Run the following command to query the usage and options:

edx-helper --help

List courses

Run the following command to query the courses in which you are enrolled:

edx-helper -u <email> --list-courses

Download course

From there, choose the course you are interested in, copy its URL and use it in the following command:

edx-helper -u <email> COURSE_URL

Your downloaded videos will be placed in a new directory called Downloaded, inside your current directory, but you can also choose another destination with the -o argument.

More download options

Normal download:

edx-helper -u <user> COURSE_URL

Download with subtitles:

edx-helper -u <user> --with-subtitles COURSE_URL

Specify download directory:

edx-helper -u <user> -o ~/courses/ COURSE_URL

Specify additional downloads by extension:

edx-helper -u <user> --file-formats "png,jpg" COURSE_URL

Download CDN videos, do not download youtube videos:

edx-helper -u <user> --prefer-cdn-videos COURSE_URL

To see all available options and a brief description of what they do, simply execute:

edx-helper --help

Important Note: To use sites other than <edx.org>, you have to specify the site along with the -x option. For example, -x stanford, if the course that you want to get is hosted on Stanford's site.

Troubleshooting

china-issues

China cannot access YouTube. Please use the --prefer-cdn-videos option first, or use the --ignore-errors option. If you want to download YouTube videos, please use a proxy.

Reporting issues

Before reporting any issue please follow the steps below:

  1. Verify that you are running the latest version of all the programs (both of edx-helper and of youtube-dl). Use the following command if in doubt:

     pip install --upgrade edx-helper
    
  2. If you get an error like "YouTube said: Please sign in to view this video.", then we can't do much about it. You can try to pass your credentials to youtube-dl (see https://github.com/rg3/youtube-dl#authentication-options) with the use of edx-helper's option --youtube-dl-options. If it doesn't work, then you will have to tell edx-helper to ignore the download of that particular video with the option --ignore-errors.

  3. If the problem persists, feel free to open an issue in our bug tracker, please fill the issue template with as much information as possible.

Supported sites

Except for edx, they have not been tested and are not supported yet. They may be supported in the future.

These are the current supported sites:

This is the full [list of sites powered by Open edX][https://github.com/edx/edx-platform/wiki/Sites-powered-by-Open-edX]. Not all of them are supported at the moment, we welcome you to contribute support for them and send a pull request also via our issue tracker.

Disclaimer

edx-helper is meant to be used only for your material that edX gives you access to download. We do not encourage any use that violates their Terms Of Use.

Metadata

Release files for edx-helper 0.6.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for edx-helper 0.6.5
File Size Uploaded
edx_helper-0.6.5.tar.gz 299.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for edx-helper 0.6.5
File Interpreter ABI Platform
edx_helper-0.6.5-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 329.6 kB

Release files / edx_helper-0.6.5.tar.gz

Download URL edx_helper-0.6.5.tar.gz
Size 299.3 kB
Tags Source
SHA-256 checksum
How to use checksums
040caeedfae0367b4b09c87176a7bc686f203246e6f8b2aa1dde9ce06385ea3a
BLAKE2b-256 checksum
How to use checksums
a9459f0da8f2f029bc23e68954e33199fac5419e0fedd076272168abc81a0842
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / edx_helper-0.6.5-py2.py3-none-any.whl

Download URL edx_helper-0.6.5-py2.py3-none-any.whl
Size 30.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
2ef96d7e68f72270863598fd208d58ea5eaa815b495bbfe1f38dc1c3213ef4b8
BLAKE2b-256 checksum
How to use checksums
6a051541282e89936bcd2734077b0f150e7313def9241c89f43d2520f84c05d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release history Release notifications | RSS feed

This release

0.6.5 This release

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page