Skip to main content

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 value true/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 as html or md.
  • --output_folder: Directory for exported files.
  • --render_mode: Use fast for KaTeX and Highlight.js compat for inline styles, latex for 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


Download files

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

Source Distribution

queck-1.0.3.tar.gz (26.3 kB view details)

Uploaded Source

Built Distribution

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

queck-1.0.3-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file queck-1.0.3.tar.gz.

File metadata

  • Download URL: queck-1.0.3.tar.gz
  • Upload date:
  • Size: 26.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.9

File hashes

Hashes for queck-1.0.3.tar.gz
Algorithm Hash digest
SHA256 0fdd826b0c0d7be779893a79bd56d96dca6c1a6915c62ba399c6ea8e958db0e5
MD5 ac2bf384586d545f5be8ed9c2dd45cd3
BLAKE2b-256 5ed1a664b33d5204181f6ceb8a2ae1e2f236f36cf02ebbf4b91811ada1f3963a

See more details on using hashes here.

File details

Details for the file queck-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: queck-1.0.3-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

Hashes for queck-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3783b01c4985cfc76417d66be95bc7a51a3acfb123aef2d2fd5b2ef5b63245f7
MD5 82ecb414083f51e0d6dbf4c300185cc0
BLAKE2b-256 4d6b76c2a05b637f37f3cac0d85fb1bccfeb81d47bd29842486cec67043be196

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