Skip to main content

LabQuiz streamlit-based dashboard that provides live tracking, integrity verification, and automated correction.

Project description

PyPI version Python versions License

Real-time monitoring and correction dashboard for LabQuiz (and HTML exam export).

quiz_dash is a Streamlit-based instructor dashboard that connects to a LabQuiz backend (Google Sheets) and provides live tracking, integrity verification, and automated correction.

It is designed for lab sessions, continuous assessment, and secure evaluation.


Why quiz_dash?

When using LabQuiz in connected mode, all student interactions are logged.

Based on the Google Sheet URL specification, the associated read password, and the YAML file containing the answers, quiz_dash allows instructors to:

  • track over time, with an adjustable refresh rate, the submissions made by each participant, with the labels of the relevant quizzes,
  • check integrity, i.e., verify that the parameters (number of attempts allowed, mode, etc.) have not been modified, verify the hash of the sources, the object in memory, and its dependencies,
  • view, over time, the progress of each participant (filterable) and of the entire group,
  • correct and retrieve the results table,
  • with the possibility of adjusting the weight matrix (for multiple-choice questions) and the scoring scale per question,
  • export structured results,
  • export individual or whole class graduated scripts.

Installation

From PyPI

pip install quiz-dash

From source

pip install git+https://github.com/jfbercher/labquiz.git#subdirectory=quiz_dash

Launch

An entry-point is provided that allows to simply use

quiz_dash

at the command line.

Or use the hosted version:

👉 https://jfb-quizdash.streamlit.app/


Main Features

📈 Live Monitoring

  • Track submissions over time
  • View student-by-student activity
  • Monitor class progress
  • Adjustable refresh rate

🔐 Integrity Verification

Detect:

  • Mode changes (exam/test/learning)
  • Modified retry limits
  • Source hash changes
  • Machine sharing
  • Kernel restarts

Designed to support controlled exam conditions.


⚖ Flexible Correction

  • Automatic correction
  • Adjustable weight matrix
  • Per-question grading scale
  • Recalculation on demand
  • Threshold control (negative scores allowed or not)

📥 Export

  • Download corrected results as CSV
  • Recompute scores with updated parameters
  • Export individual PDF or HTML reports

Some screenshots of actual monitoring:

dash_parameters

quiz_dash -- Dash parameters

Monitoring_integrity

quiz_dash -- Integrity monitoring

Monitoring_activity

quiz_dash -- Monitoring of quizzes taken by students and the group. Automatic refresh possible and adjustable (student names have been hidden)

Monitoring_marks image

quiz_dash -- Automated correction, with the option to adjust the scoring system (automatic recalculation); (student names have been hidden). Of course, the results table can be downloaded.

Monitoring_marks image

quiz_dash -- quiz_dash -- Individual correction can be generated for a student.

Monitoring_marks image

quiz_dash -- Individual reports can be downloaded so that you can distribute them to the students.

Typical Workflow

  1. Students run quizzes in Jupyter notebooks (LabQuiz)
  2. Results are logged to Google Sheets
  3. Instructor opens quiz_dash
  4. Monitor activity in real time
  5. Run correction
  6. Export final grades

Integration

quiz_dash works with:

  • labquiz — quiz engine
  • quiz_editor — question preparation tool

Intended Use Cases

  • Lab session monitoring
  • Continuous assessment
  • Exam supervision
  • Integrity auditing
  • Post-session grade recalculation

📜 License

GNU GPL-3.0 license


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quiz_dash-1.1.1.tar.gz (65.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quiz_dash-1.1.1-py3-none-any.whl (72.9 kB view details)

Uploaded Python 3

File details

Details for the file quiz_dash-1.1.1.tar.gz.

File metadata

  • Download URL: quiz_dash-1.1.1.tar.gz
  • Upload date:
  • Size: 65.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for quiz_dash-1.1.1.tar.gz
Algorithm Hash digest
SHA256 8ff81d3471030c7ea2cf95c1ada58a44a72a557aadb6611e003e0a037b3ac032
MD5 8179433b8dc53f548cfd954f10c1d801
BLAKE2b-256 8fa0c4e7d7835d20b985e48a47a04ef70d9b7e8d647790aa57faf7a2900c81cc

See more details on using hashes here.

File details

Details for the file quiz_dash-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: quiz_dash-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 72.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for quiz_dash-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c4a896d0102a4e97eb4e84833b28c365c113f0c4e09861f47f846006c18c5017
MD5 10c40b33a842190cc0ac29be6980e71d
BLAKE2b-256 6ceedf1d380ce51e11ca1bf6eff4f986a62034baff8a7ae25da9d56ecb9833eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page