edx-proctoring-proctortrack-v2
Proctortrack proctoring backend for Open edX, built on
edx-proctoring.
This repository ships two packages:
| Package | Registry | Purpose |
|---|---|---|
edx-proctoring-proctortrack-v2 |
PyPI | Registers the proctortrack Django backend (openedx.proctoring entry point) |
edx-proctoring-proctortrack-v2 |
npm | Provides proctortrack_custom.js — the browser Web Worker used during exams |
Note: This is the v2 distribution of the original
edx-proctoring-proctortrackpackage. The Python import path (edx_proctoring_proctortrack) and Studio proctoring provider name (proctortrack) are unchanged.
Requirements
- Python 3.11+
- OpenEdX with
edx-proctoringinstalled - Node.js (for npm package / webpack worker bundling at image build time)
Install (packages only)
These packages are published to PyPI and npm. In a typical Open edX deployment, the Tutor plugin installs them for you at image build time — you do not need to run these commands manually.
PyPI
pip install edx-proctoring-proctortrack-v2==2.0.1
npm
npm install edx-proctoring-proctortrack-v2@2.0.1
Open edX integration
From Sumac onward, Proctortrack is not bundled in edx-platform. Integration
is done with a Tutor plugin (proctortrack_v2.py) that installs
edx-proctoring-proctortrack-v2 from PyPI/npm and applies the required Django
settings during tutor images build openedx. No edx-platform fork is required.
Contact Verificient to obtain the Tutor plugin and Proctortrack credentials for your environment.
What you need from the Open edX side
| Requirement | Notes |
|---|---|
| Tutor | v15+ (Olive) through current; tested on Sumac/Ulmo |
| Docker | Required for Tutor image builds |
| Learning MFE | Proctored exams are served via the Learning MFE |
| Studio course setup | Set Proctoring Provider to proctortrack and configure proctored subsections |
The plugin configures PROCTORING_BACKENDS, feature flags, CORS, and webpack
worker settings automatically.
What you need from the Proctortrack side
| Requirement | Notes |
|---|---|
| Proctortrack server | Running instance with OAuth credentials |
client_id / client_secret |
Issued by Verificient for your LMS |
base_url |
Your Proctortrack server URL |
| Proctortrack desktop app | Installed on the learner's machine during exams |
| JS routing config (if applicable) | required public key, or CDN/config — provided by Verificient |
Once you have the plugin
-
Edit the configuration constants at the top of
proctortrack_v2.py(credentials and JS routing keys supplied by Verificient). -
Install and enable the plugin:
cp proctortrack_v2.py "$(tutor plugins printroot)/" tutor plugins enable proctortrack_v2
-
Build and launch:
tutor images build openedx tutor local launch
-
In Studio, set Proctoring Provider to
proctortrackfor the course and mark subsections as Proctored Exam.
After any plugin configuration change, rebuild the image:
tutor images build openedx
Development
pip install -e .
pip install -r requirements/base.txt
make extract_translations
License
Apache-2.0 — see LICENSE.md.
Links
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file edx_proctoring_proctortrack_v2-2.0.1.tar.gz.
File metadata
- Download URL: edx_proctoring_proctortrack_v2-2.0.1.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b5774e9eef0c13da7d463f02513218feff7139e50c593440eaa2e07972c8b77
|
|
| MD5 |
60306126b820442e48af269906784574
|
|
| BLAKE2b-256 |
e641fee0dfb09063aa2a542e995279fde3d1575c720d4685e5b598f3352ad9bb
|
File details
Details for the file edx_proctoring_proctortrack_v2-2.0.1-py3-none-any.whl.
File metadata
- Download URL: edx_proctoring_proctortrack_v2-2.0.1-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04b94493fb95208e06202a1f7679dbfa97b56f7c09bca2c29b8b33ea612fe5a0
|
|
| MD5 |
a1a826812371973cbf78257f535d37e2
|
|
| BLAKE2b-256 |
38eaa46488ef4dc266fd2bb2167f6b118b30dc6488936235b109595425fd64d2
|