Skip to main content

Turn MOOCs on openedx instances into ZIMs

Project description

openedx2zim

Get the best courses :books: powered by openedx offline :arrow_down:

An offliner to create ZIM :package: files from openedx powered courses

PyPI Docker Codefactor Grade License

Openedx is one of the most popular open source MOOC platforms which revolves around the idea of xblocks. It makes e-learning more accessible by providing an easy way to create courses for teachers, universities and others. It is used by many e-learning services as such as edX as a tool to create, organize and manage MOOCs quite easily.

This project is aimed at creating a tool to make openedx based MOOCs more accessible by creating ZIM files providing the same course materials and resources offline.

Getting started :rocket:

Install the dependencies

Make sure that you have python3, unzip, ffmpeg, wget, jpegoptim, gifsicle, pngquant, advdef, and curl installed on your system before running the scraper (otherwise you'll get a warning to install them).

Enroll into the MOOC

You must be enrolled into the mooc you want to offline. Ensure that you do not open the openedx instance in the browser with the same account while the scraper runs. Also, this scraper must be used only with a MOOC with a free license.

Setup the package

One can eaisly install the PyPI version but let's setup the source version. Firstly, clone this repository and install the package as given below.

pip3 install -r requirements.txt
python3 setup.py install

That's it. You can now run openedx2zim from your terminal

openedx2zim --course-url [URL] --email [EMAIL] --name [NAME]

For the full list of arguments, see this file or run the following

openedx2zim --help

Example usage

openedx2zim --course-url="https://courses.edx.org/courses/course-v1:edX+edx201+1T2020/course/" --publisher="edx201" --email="example@example.com" --name="sample" --tmp-dir="output" --output="output" --debug  --keep --format="mp4"

This project can also be run with docker. Use the provided Dockerfile to run it with docker. See steps here.

Features :robot:

You can create ZIMs for MOOCs powered by the openedx platform (find a list of openedx powered instances here), choose between different video formats (webm/mp4), different compression rates, and even use an S3 based cache.

Limitations :exclamation:

The answers can be extracted only for "multiple choice question" type problems with single answer correct and multiple answer correct (only if the number of options in that case is at most 5). This is due to large number of requests required to extract answers for other types of answers. For more information, refer here.

License :book:

GPLv3 or later, see LICENSE for more details.

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

openedx2zim-1.0.0.tar.gz (9.2 MB view details)

Uploaded Source

Built Distribution

openedx2zim-1.0.0-py3-none-any.whl (9.4 MB view details)

Uploaded Python 3

File details

Details for the file openedx2zim-1.0.0.tar.gz.

File metadata

  • Download URL: openedx2zim-1.0.0.tar.gz
  • Upload date:
  • Size: 9.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for openedx2zim-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a26d37ca8bab7a98a33129c9fbf707bdfb9ed7c53cc28ce30841f1530c802e08
MD5 f9c86f4e322de3a58e7d1bd5197b0c27
BLAKE2b-256 610483a79477db2be14c3da6c0fc98a5701180ce1d647aa558ff4cf2a09ac387

See more details on using hashes here.

File details

Details for the file openedx2zim-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: openedx2zim-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for openedx2zim-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bd94594670022c5c0a8f0ad5f272a2ad6d5ea9836e27839200505323249f9623
MD5 b7d0fc239b2b2a66a6f84847bce77b97
BLAKE2b-256 05ee65762888cdb361ff3d993e4581c9115ac061210d6d8a42ee1f460a6fe97f

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