Course Export S3 Plugin
A django app plugin to add a new API to Open edX to export courses to S3 buckets.
Installation
You can install this plugin into any Open edX instance by using the following method:
Install from PyPI
pip install openedx-course-export
Configuration
1) edx-platform configuration
For testing, you might need to add the following configuration values to the config file in Open edX. For any release after Juniper, that config file is /edx/etc/studio.yml.
AWS_ACCESS_KEY_ID: <your aws access id>
AWS_SECRET_ACCESS_KEY: <your api access key>
COURSE_IMPORT_EXPORT_BUCKET: <bucket name to export the courses to>
How To Use
The API supports a POST API call that accepts the list of course Ids and returns the uploaded paths of the courses on S3
To call the API, Send a POST request to <STUDIO_BASE>/api/courses/v0/export/ with the a payload with a list of course IDs that might look like:
{
"courses": ["course-v1:edX+DemoX+Demo_Course"]
}
The successful response would look like:
With 200
{
"successful_uploads": {
"course-v1:edX+DemoX+Demo_Course": "https://bucket_name.s3.amazonaws.com/course-v1:edX+DemoX+Demo_Course.tar.gz",
"course-v1:edX+Test+Test_Course": "https://bucket_name.s3.amazonaws.com/course-v1:edX+Test+Test_Course.tar.gz"
},
"failed_uploads": {}
}
With 400
{
"successful_uploads": {
"course-v1:edX+DemoX+Demo_Course": "https://bucket_name.s3.amazonaws.com/course-v1:edX+DemoX+Demo_Course.tar.gz",
},
"failed_uploads": {
"course-v1:edX+Test+Test_Course": "Error message"
}
}
The response will contain either the s3 bucket url for successful uploads and/or an error message for failed uploads.
Change Log
Unreleased
[0.1.0] - 2023-02-24
Added
First release on PyPI.
Release files for openedx-course-export 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openedx_course_export-0.1.4.tar.gz | 21.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openedx_course_export-0.1.4-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size:43.5 kB
Release files / openedx_course_export-0.1.4.tar.gz
| Download URL | openedx_course_export-0.1.4.tar.gz |
|---|---|
| Size | 21.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
298ca54e5e8dfb5b20385045f5da121294974d0c805e1f770984bdcf4c2dec82
|
|
BLAKE2b-256 checksum How to use checksums |
56b2da0c15fbba603e6a99ad55e7ae39e43a1cfdfd9e17db0175176b0785a740
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / openedx_course_export-0.1.4-py2.py3-none-any.whl
| Download URL | openedx_course_export-0.1.4-py2.py3-none-any.whl |
|---|---|
| Size | 21.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
face0ecb1b88ee4c2c2de19ffd7bb340277c4e04b96e205d714d755d985fc65b
|
|
BLAKE2b-256 checksum How to use checksums |
cebf6388209ac6940dbb61f244c3860bc2ff43fbfc2054c6b40fb08816159c6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|