Skip to main content

Simple tool to download video and lecture materials from edx.org.

Project description

Build Status Coverage Status Code Climate PyPI version

Description

edx-dl is a simple tool to download videos and lecture materials from Open edX-based sites. It requires a Python interpreter (>= 2.7) and very few other dependencies. It is platform independent, and should work fine under Unix (Linux, BSDs etc.), Windows or Mac OS X.

We strongly recommend that, if you don't already have a Python interpreter installed, that you install Python >= 3.6, if possible, since it is better in general.

Installation (recommended)

To install edx-dl run:

pip install edx-dl

Manual Installation

To install all the dependencies please do:

pip install -r requirements.txt

youtube-dl

One of the most important dependencies of edx-dl 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

Once you have installed everything, to use edx-dl.py, let it discover the courses in which you are enrolled, by issuing:

edx-dl -u user@user.com --list-courses

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

edx-dl -u user@user.com COURSE_URL

replacing COURSE_URL with the URL that you just copied in the first step. It should look something like: https://courses.edx.org/courses/edX/DemoX.1/2014/info

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.

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

edx-dl --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.

Docker container

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

docker run --rm -it \
       -v "$(pwd)/edx/:/Downloaded" \
       strm/edx-dl -u <USER> -p <PASSWORD>

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-dl and of youtube-dl). Use the following command if in doubt:

     pip install --upgrade edx-dl
    
  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-dl's option --youtube-dl-options. If it doesn't work, then you will have to tell edx-dl 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 bugtracker, please fill the issue template with as much information as possible.

Supported sites

These are the current supported sites:

This is the full list of 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.

Authors

See the contributors to the project in the AUTHORS.md file. If you have contributed to the project, we would like to gladly credit you for your work. Just send us a note to be added to that list.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edx-dl-0.1.13.tar.gz (269.2 kB view details)

Uploaded Source

Built Distribution

edx_dl-0.1.13-py2.py3-none-any.whl (24.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file edx-dl-0.1.13.tar.gz.

File metadata

  • Download URL: edx-dl-0.1.13.tar.gz
  • Upload date:
  • Size: 269.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.8.1

File hashes

Hashes for edx-dl-0.1.13.tar.gz
Algorithm Hash digest
SHA256 62c764edf4c2cd4974467c8019b51283d24cc73911c197a245471ac293a9b93f
MD5 89c7da2507cd8426da8ba88a454351cd
BLAKE2b-256 f37390ad69d2bf6be5772e9df216e96726688c36a4ef976c211b9930db4418df

See more details on using hashes here.

File details

Details for the file edx_dl-0.1.13-py2.py3-none-any.whl.

File metadata

  • Download URL: edx_dl-0.1.13-py2.py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.8.1

File hashes

Hashes for edx_dl-0.1.13-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2dd97402a4de36ab257cfc8a30d120220ef9a0a8919df6778854987d52a8dda6
MD5 16ce8add1b0fe2d6770885583f134502
BLAKE2b-256 b96745c31527e0824eb1a29f6c7d40512206d769d48c5ea66b76d6ece9ddb160

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page