edx-proctoring

raw JSON →
6.0.0 verified Mon Apr 27 auth: no python

Proctoring subsystem for Open edX, enabling online exam proctoring with support for multiple backends. Current version is 6.0.0 (latest), released June 2025. Released as needed with frequent patches.

pip install edx-proctoring
error ModuleNotFoundError: No module named 'proctoring'
cause Wrong import path; the package is named 'edx_proctoring'.
fix
Use 'from edx_proctoring.models import ProctoredExam' instead.
error django.db.utils.OperationalError: no such table: edx_proctoring_proctoredexam
cause Migrations not applied for the edx_proctoring app.
fix
Run 'python manage.py migrate edx_proctoring'.
breaking Version 5.0.0 dropped Python 3.8 support. Upgrade to Python 3.11+.
fix Update Python to 3.11 or later.
breaking Version 6.0.0 dropped Python 3.11 support and removed all Proctortrack references (edx-proctoring-proctortrack).
fix Update Python to 3.12+ and remove any Proctortrack integrations.
deprecated The Proctortrack backend is removed in 6.0.0. Migrate to another backend.
fix Use alternative proctoring backends like Software Secure or custom implementations.
gotcha Database migrations must be run after installation. Missing migrations can cause runtime errors.
fix Run 'python manage.py migrate edx_proctoring' after install.

Query proctored exams for a user.

from edx_proctoring.models import ProctoredExam
from django.contrib.auth import get_user_model

User = get_user_model()
user = User.objects.first()
exams = ProctoredExam.objects.filter(user=user)
print(exams)