A quiz authoring format and tool with different export formats.
Project description
🌟 Queck: An YAML based Format for Quiz Authoring
Queck is a simple and structured format for authoring quizzes based on YAML and Markdown. It provides a flexible schema for different types of questions, supporting both basic and complex quiz designs. Queck can export quizzes into HTML or Markdown, with options for live watching and automatic re-exporting upon file changes.
🆚 Alternatives
- GIFT – A widely used Moodle format for quiz authoring, but with more complex syntax compared to Queck’s simple YAML structure.
🔑 Key Features
- 📝 YAML-based quiz authoring: Author quizzes in a clean, human-readable YAML format.
- 🧠 Support for diverse question types: Including multiple-choice, true/false, numerical answers, comprehension passages, and more.
- ✔️ Multiple answer formats: Single select, multiple select, numerical ranges, and tolerance-based answers.
- 🔍 Schema validation with Pydantic: Ensures your quiz structure is validated for correctness before exporting.
- 📤 Flexible export options: Export quizzes in JSON, HTML (print-ready), or Markdown formats.
- ⚙️ Command-line interface: Simple CLI for validation and export operations.
- ♻️ Live reloading for development: Integrated live reload server to auto-update quizzes as you edit.
- 📐 Mathematical equation support: Native support for dollar-math (
$..$and$$..$$) based LaTeX-style equations for math-based quizzes. - 💻 Code block rendering: Display code snippets within quiz questions for technical assessments.
- 💯 Optional Scoring: Optional scoring support.
📝 Answer Types
Queck supports a variety of question types, including:
-
Choice Based
-
Single Select Choices
list of yaml string marked with(o)resembling resembling radio button.answer: - ( ) Option 1 - (o) Option 2 // feedback for option 2 - ( ) Option 3 - ( ) Option 4
-
Multiple Select Choices
List of yaml string marked with(x)resembling to-do list or checkboxes.answer: - ( ) Option 1 - (x) Option 2 // feedback for option 2 - ( ) Option 3 - (x) Option 4
-
True/False
Yaml valuetrue/false.answer: true
-
-
Numerical
-
Integer
Yaml integer.answer: 5
-
Numerical Range
Yaml string of format{low}..{high}.answer: 1.25..1.35
-
Numerical Tolerance
Yaml string of format{value}|{tolerance}.answer: 1.3|.5
-
-
Short Answer
Yaml string.answer: France
📄 Sample Queck Format
Refer the example queck files from examples.
🚀 Installation
Installation as uv tool
The recommended way to install queck is to install as uv tool using the below command. Ensure uv is installed your system.
uv tool install queck
Installation using pip
Queck requres python>=3.12 install the latest version of python before installing queck.
To install Queck, run the following command:
pip install queck
💻 Commands
qeuck format
queck format quiz.queck
queck export
To export a quiz in HTML format with live watching enabled:
queck export path/to/quiz.queck --format html --output_folder export --render_mode fast --watch
--format: Specify output format ashtmlormd.--output_folder: Directory for exported files.--render_mode: Usefastfor KaTeX and Highlight.jscompatfor inline styles,latexfor using Latex.css.
🤝 Contribution
We welcome contributions! Feel free to submit pull requests, report issues, or suggest new features. Let's make Queck better together! 🙌
⚖️ License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
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 queck-1.0.5.tar.gz.
File metadata
- Download URL: queck-1.0.5.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a0322585aed38f50451c7ef33aee9f816cb5d72658937f5a14cc6dcff1488a9
|
|
| MD5 |
887befb4bc3f0bcf6066a64eb91a2dfb
|
|
| BLAKE2b-256 |
374c922bc64b024e685bf6df5ed23b5a2a491490aea52128a2c13566ee2877af
|
File details
Details for the file queck-1.0.5-py3-none-any.whl.
File metadata
- Download URL: queck-1.0.5-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aeca7421cd7f8d70812038b5310e9578bc804d2b725ae7e7f0b3d3852d64533f
|
|
| MD5 |
2245dd82c9735365ad29a56cfe8e0ce4
|
|
| BLAKE2b-256 |
b2bc85d00f21bd235be0ec4a6c43a59673cf49b41fb8b3523a3e93a8ac033b22
|