Skip to main content

Tool for converting a list of questions in yaml/markdown to aBlackBoard test or to a Latex exam source file

Project description

QuizML

QuizML is a command line tool for converting a list of questions in yaml/markdown to a BlackBoard test or to a Latex exam source file.

Documentation

Questions are written in a YAML file, using a Markdown syntax. Here is a minimal quiz.yaml example:

- type: mc
  marks: 5           
  question: |
    If vector ${\bf w}$ is of dimension $3 \times 1$ and matrix ${\bf A}$ of
    dimension $5 \times 3$, then what is the dimension of $\left({\bf w}^{\top}{\bf
    A}^{\top}{\bf A}{\bf w}\right)^{\top}$?
  choices:
    - o:  $5\times 5$
    - o:  $3\times 3$
    - o:  $3\times 1$
    - x:  $1\times 1$

- type: tf
  marks: 5         
  question: |
    Is this the image of a tree?
    
    ![](figures/bee.jpg){ width=30em }
    
  answer: false

Then you can generate multiple render targets, including BlackBoard test, LaTeX, and an HTML preview.

$ quizml quiz1.yaml

  Q  Type  Marks  #  Exp  Question Statement
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1   mc     5.0  4  1.2  If vector ${\bf w}$ is of dimension $3 \times 1$ ...
  2   tf     5.0  2  2.5  Is this the image of a tree?

  Total: 10.0 (with random expected mark at 37.5%)

╭──────────────────────────────── Target Ouputs ────────────────────────────────╮
│                                                                               │
│   BlackBoard CSV   quiz1.txt                                                  │
│   html preview     quiz1.html                                                 │
│   latex            latexmk -xelatex -pvc quiz1.tex                            │
│   Latex solutions  latexmk -xelatex -pvc quiz1.solutions.tex                  │
│                                                                               │
╰───────────────────────────────────────────────────────────────────────────────╯

and this is what the rendered outputs look like:

Getting Started

This is a command line application. Assuming that you have python and pip installed, you can simply install it with:

pip install quizml

You will also need a LaTeX installation with gs and pdflatex (e.g. TeXLive or MacTeX).

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

quizml-0.9.3.tar.gz (3.0 MB view details)

Uploaded Source

Built Distribution

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

quizml-0.9.3-py3-none-any.whl (104.5 kB view details)

Uploaded Python 3

File details

Details for the file quizml-0.9.3.tar.gz.

File metadata

  • Download URL: quizml-0.9.3.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for quizml-0.9.3.tar.gz
Algorithm Hash digest
SHA256 0bba864f0c0b876488eb858405c78b875fe7c912938993305b2f495886499a0f
MD5 976dc63f292e95d8374c45c3a8ac3b8d
BLAKE2b-256 52ed652a72eb16d732eee0281cb898f1f39481df37be390b3d45613c30fb8abf

See more details on using hashes here.

File details

Details for the file quizml-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: quizml-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 104.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for quizml-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 112fc51b44ec0daee6c4cf5e31afb01d18d162afd45b2ea0da12c021fb35d0a9
MD5 809d47c82b9aac3395d0fca54838f8e9
BLAKE2b-256 d58225719ed55f36e11bbe6e4f98a5de11d0e4edcc3315d5777bd43e598c6936

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