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

💻 Example Command

To export a quiz in HTML format with live watching enabled:

queck export path/to/quiz.yaml --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, or compat for MathJax and Pygments.

🤝 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.2a1.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.2a1-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file queck-1.0.2a1.tar.gz.

File metadata

  • Download URL: queck-1.0.2a1.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.2a1.tar.gz
Algorithm Hash digest
SHA256 c0a82878bbe0fee95769d02980fda830b1bc490cca281784c2fca3d5c634e7b5
MD5 4d7aa3a3b611de693691656c48a4e8fc
BLAKE2b-256 88fc0aa9575cdcfe6aa1345e61bf4e343e53badc7b2aae27ec22f525cd7f4ed2

See more details on using hashes here.

File details

Details for the file queck-1.0.2a1-py3-none-any.whl.

File metadata

  • Download URL: queck-1.0.2a1-py3-none-any.whl
  • Upload date:
  • Size: 26.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.9

File hashes

Hashes for queck-1.0.2a1-py3-none-any.whl
Algorithm Hash digest
SHA256 958bf509cc9d9d8588d4b5d7e949df9ab855695ed1e610642b5efb36e45a5f8e
MD5 c190f1ad1bcd7fa745bedbeb17523b8c
BLAKE2b-256 a56748a1d42c39c54c80a66d998f6fd14e1b0bb422f9127840a6f0a2a59e6a29

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