Tutor Contrib Delete Course
Standalone Open edX plugin for admin-only course deletion from Studio.
Structure
backend/Django app (delete_course_plugin) exposing API + admin modelfrontend/reusable Authoring MFE widget package (@openedx/frontend-component-delete-course)tutor/Tutor plugin that injects backend/frontend into Open edX and Authoring MFE builds
Backend API
POST /delete_course_plugin/v1/courses/<course_key>/delete/
Body:
{
"reason": "optional"
}
Admin model
DeletedCourseRecord- Admin label:
Deleted course records
Installation
Install the Tutor plugin package:
pip install tutor-contrib-delete-course
Enable plugin:
tutor plugins enable delete-course
Rebuild images so backend + authoring frontend package are injected:
tutor images build openedx mfe
Apply migrations in CMS:
tutor local run cms ./manage.py cms migrate delete_course_plugin
Restart services:
tutor local restart cms lms mfe
Development
For local development from this repo root:
git clone git@github.com:Abstract-Tech/tutor-contrib-delete-course.git
cd tutor-contrib-delete-course
pip install -e .
tutor plugins enable delete-course
tutor images build openedx-dev mfe
tutor mounts add cms:/path/to/tutor-contrib-delete-course/backend:/openedx/delete-course-plugin-backend
Local mounted MFE
If you are using a locally mounted mfe/frontend-app-authoring, local env.config.jsx can still be used for dev.
For staging/production, use the Tutor plugin integration in tutor/ instead of manual env config edits.
TODO
- Add a soft-delete/archive backup flow for deleted courses so staff/admin can restore a deleted course within a configurable retention window (for example, 30 days), after which the course is permanently deleted.
Metadata
Release files for tutor-contrib-delete-course 1.1.0
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_delete_course-1.1.0.tar.gz | 65.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tutor_contrib_delete_course-1.1.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 141.2 kB
Release files / tutor_contrib_delete_course-1.1.0.tar.gz
| Download URL | tutor_contrib_delete_course-1.1.0.tar.gz |
|---|---|
| Size | 65.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eb77bb65a82be4cca66c5d294fb768db08ec31af9ce587896471a9709d958bdf
|
|
BLAKE2b-256 checksum How to use checksums |
7e3f8df712c38510a233ebfdaa730053027eb22ca58de3d93a691772027bf074
|
| 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 Aug 10, 2026.
Transparency logRelease files / tutor_contrib_delete_course-1.1.0-py2.py3-none-any.whl
| Download URL | tutor_contrib_delete_course-1.1.0-py2.py3-none-any.whl |
|---|---|
| Size | 75.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
8abf711e13b88ccc80bfe0b2ceb17d7b19b002e2136e9106698326805c37655a
|
|
BLAKE2b-256 checksum How to use checksums |
d1c35df2f35dc9e3e6ba8ceb5cacc8f65a343a73e7902e474d78ed35b9495121
|
| 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 Aug 10, 2026.
Transparency log