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

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).

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:

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.10.0.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.10.0-py3-none-any.whl (104.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quizml-0.10.0.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.10.0.tar.gz
Algorithm Hash digest
SHA256 8c26c1a295c1a2062d3c334becb45e9c210f43dcdea78e9a9ee8e6796b4861e6
MD5 427bed409cfdf056c4c30fb07ed870c6
BLAKE2b-256 9fda57d8df06807534018e3d7c0da70e2a6deec20cc9bf1cf66248945f471e23

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quizml-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 104.3 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.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b964b528fde28fa34faf4db8f4c6260b1022437b3129eaefc8ab72fa1b9398d6
MD5 9428842e2735cb732c1e739442d2afab
BLAKE2b-256 72d85f380406b0ec02a0c7df86c18159469dba0537c070b4d5f5df9a39933195

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