Skip to main content

PyPI version Python versions License

Visual editor for creating, managing, and exporting LabQuiz question banks.

quiz_editor is a Streamlit-based application designed to help instructors build structured quiz databases for use with LabQuiz — without manually editing YAML files. quiz_editor can also be useful outside of LabQuiz as a general quiz-editor with export capabilities.

It supports question authoring, template variable simulation, encryption, tagging, and export to multiple formats.


Why quiz_editor?

While LabQuiz uses YAML files for defining quizzes, editing them manually can become tedious for large question banks.

quiz_editor provides:

  • A visual interface for question creation
  • Support for multiple question types
  • Built-in encryption & encoding
  • Export to multiple formats (subset of questions, HTML, AMC-$\LaTeX$)
  • Tagging, Categories and filtering system
  • Template variable simulators

Installation

From PyPI

pip install quiz-editor

From source

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

Launch

An entry-point is provided that allows to simply use

quiz_editor

Or use the hosted version:

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


quiz_editor

quiz_editor -- editing a question, with category, tags, choice of question type (multiple choice, numeric, etc.)

quiz_editor

quiz_editor -- editing a proposition -- correct or incorrect, hint (tip), answer (displayed during correction), bonus, penalty, etc.

quiz_editor

quiz_editor -- example of template usage with potentially external variables, including an editor preview based on automatically generated variables.

quiz_editor_exports

quiz_editor -- Export examples (AMC-$\LaTeX$, interactive HTML, HTML-exam)

Centered image

quiz_editor -- YAML Export with normal/encoded/encrypted options and question-only file

---

Supported Question Types

  • mcq — Multiple choice
  • numeric — Numerical with tolerance
  • mcq-template — Parameterized MCQ
  • numeric-template — Parameterized numeric

Template Variable Simulation

For template questions, quiz_editor allows you to define variable generators (“simulators”) directly in the interface.

Each variable can specify:

  • type (int, float, etc.)
  • structure (scalar, vector, …)
  • engine (e.g., NumPy RNG)
  • call (generation function, e.g. integers(0,10,size=1))

This enables:

  • Dynamic generation of values
  • Testing template behavior before export
  • Automatic inclusion of variable definitions in the YAML file
  • Consistent export to LabQuiz, HTML, or AMC formats

These simulators make template questions robust and reusable across sessions.


Features

Question Management

  • Create / edit / delete questions
  • Add categories and tags
  • Define logical constraints (XOR, IMPLY, SAME, IMPLYFALSE)
  • Configure bonuses and penalties
  • Define tolerances for numerical answers
  • Template variables simulation: define variable generators directly in the interface, which enable dynamic generation of values in LabQuiz and in HTML, or AMC exports.

Export Options

quiz_editor can export to:

  • ✅ YAML (LabQuiz format)
  • 🔐 Encrypted version
  • 🔎 Base64-encoded version
  • 🌍 Interactive HTML (training mode)
  • 📝 HTML exam version (Google Sheet connected)
  • 📄 AMC–LaTeX format (for paper exams)

This allows reuse of the same question bank across:

  • Notebook-based quizzes
  • Web-based self-assessment
  • Secure online exams
  • Paper multiple-choice exams

Integration with LabQuiz

Typical workflow:

  1. Create questions in quiz_editor
  2. Export encrypted YAML
  3. Use file in:
from labquiz import QuizLab
quiz = QuizLab(URL, "questions.yaml")

Part of the LabQuiz ``Ecosystem''

  • labquiz — Notebook quiz engine
  • quiz_editor — Question bank editor
  • quiz_dash — Monitoring & correction dashboard

📜 License

GNU GPL-3.0 license


Download files

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

Source Distribution

quiz_editor-1.2.5.tar.gz (165.3 kB view details)

Uploaded Source

Built Distribution

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

quiz_editor-1.2.5-py3-none-any.whl (193.2 kB view details)

Uploaded Python 3

File details

Details for the file quiz_editor-1.2.5.tar.gz.

File metadata

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

File hashes

Hashes for quiz_editor-1.2.5.tar.gz
Algorithm Hash digest
SHA256 b3a13f98a40c70799f3f8fe705381e3f071fb12b98ee1adc28d2c955a816a8a2
MD5 7a8c71ac14466e2d48ebaf751ddcf6da
BLAKE2b-256 8447a56bdfa7b940113360371839dadbc8342975b0a322e4fcc0a0d70c90cc9f

See more details on using hashes here.

File details

Details for the file quiz_editor-1.2.5-py3-none-any.whl.

File metadata

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

File hashes

Hashes for quiz_editor-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c5f1351f0876a5300a51d9977b07a9c456f4fb16ee407a82c556ba75d5126964
MD5 db91674828cd744cffcd0149f38ca443
BLAKE2b-256 4d2662917fcca7e9d10a5a54d3164e121cb1d9d40001b07559657f326a1473e5

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.2.5 This release

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.0

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9

2 files

0.8.12

2 files

0.8.11

2 files

Supported by

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