tutor-contrib-sample
A Tutor plugin that installs and wires up the three other sub-packages in this repo (backend-plugin-sample, frontend-plugin-sample, and brand-sample) into a Tutor-based Open edX deployment. Enabling this plugin is the simplest way to see all three working together.
How to use it
See the root README for the full setup. The minimum:
pip install -e ./tutor-contrib-sample
tutor plugins enable sample
tutor dev launch
tutor-mfe is required for the frontend slot configuration to apply; the plugin degrades gracefully (backend + brand only) if it isn't installed.
How it works
The plugin is a single file: tutorsample/plugin.py. Each section below is independent of the others.
Backend. Installs the published openedx-plugin-sample package from PyPI into the LMS and CMS images via the openedx-dockerfile-post-python-requirements patch. Also registers backend-plugin-sample as a MOUNTED_DIRECTORIES entry, so that running tutor mounts add "$PWD/backend-plugin-sample" bind-mounts your local checkout and pip-installs that instead.
Migrations. Adds manage.py lms migrate openedx_plugin_sample (and the CMS equivalent) to the tutor … do init task list.
Frontend. (Only when tutor-mfe is installed.) Installs the published @openedx/plugin-sample npm package into every MFE image, injects an import { CourseList } from '@openedx/plugin-sample' into the generated env.config.jsx, and wires CourseList into the org.openedx.frontend.learner_dashboard.course_list.v1 slot (hiding the default contents).
Brand. Sets MFE_CONFIG["PARAGON_THEME_URLS"] to load Paragon's default light theme overlaid with the compiled brand-sample/dist/light.min.css served from jsDelivr.
TODO: the brand override currently assumes
brand-samplehas been pushed to jsDelivr frommain. For a source-hacking workflow, this should be swapped for the tutor-contrib-paragon flow described inbrand-sample/README.md.
Metadata
Release files for tutor-contrib-sample 3.8.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tutor_contrib_sample-3.8.5.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tutor_contrib_sample-3.8.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.0 kB
Release files / tutor_contrib_sample-3.8.5.tar.gz
| Download URL | tutor_contrib_sample-3.8.5.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
73fc97aedb7cd6ac39e43068c540222e000c37af6e3b885ae7e3f08645cece57
|
|
BLAKE2b-256 checksum How to use checksums |
173d1efa5960829fba67eb00c63d79ce454ab38e83204f6888e8a6fb0283a307
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logRelease files / tutor_contrib_sample-3.8.5-py3-none-any.whl
| Download URL | tutor_contrib_sample-3.8.5-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f41b70b42ce374c2e11293ebac81d5e901544a18cac3a2905aa90959b1b42044
|
|
BLAKE2b-256 checksum How to use checksums |
f8317a5c17265a8c0a5eb542b70725f1902282de16705c32ba72d65a04955bec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency log