Skip to main content

Generates variants of exam questions using texsurgery, keeps a question database, exports to pdf and moodle

Project description

pyexams

Generates variants of exam questions using texsurgery, keeps a question database, exports to pdf and moodle.

Much like R exams, but with the following (main) differences:

  1. R-exams requires use of R for both creating exam variants and managing R-exams itself, while pyexams allows any language for exam creation and is called from a command which can be incorporated into your favorite LaTeX editor.
  2. R-exams keeps each question in a separate file, then use a simple R script to compose the whole exam, while pyexams use a single LaTeX file for the whole exam.
  3. Both R-exams and pyexams keep a record of past exam questions, but pyexams also keeps a database that can be queried in order to find, for instance, all questions with the tag derivative that appeared in exams at least two years ago. The question code is also saved in plain text and managed in a git repository, which simplifies the management of a shared question bank, whether group-private or totally open.
  4. Last but not least, R-exams is a mature and feature rich project, while pyexams is a very young project that still has to deliver.

Other important design decisions involved in pyexams:

  • The syntax for the questions is exactly that of auto-multiple-choice
  • We will use amc2moodle (or a custom version of it) to generate the moodle question bank.
  • pyexams strives to feel as close to LaTeX as possible to its users, which paradoxically is better done through texsurgery than through a LaTeX package.

Warning: Proof of concept

This is still a very early version, published to share some points with our colleagues, but that still does not deliver the expected results. Please do not use yet it for your real exams.

Installation

python3 -m pip install pyexams

Usage

cd examples
# generates a pdf for the first student in the list (useful for testing)
pyexams amc2moodle.tex
# generates one pdf for each first student in the list (runs in parallel)
pyexams amc2moodle.tex -all
# generates a moodle question bank
pyexams amc2moodle.tex -moodle  

Talk at ENSEMAT II

The motivation behind this project and its design decision was presented (in spanish) at a talk at ENSEMAT II

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

pyexams-0.0.4.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

pyexams-0.0.4-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file pyexams-0.0.4.tar.gz.

File metadata

  • Download URL: pyexams-0.0.4.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.5

File hashes

Hashes for pyexams-0.0.4.tar.gz
Algorithm Hash digest
SHA256 d87b7794722a9043791058d3e869d512749b84c2e25ee6cab64158e5e4471a1c
MD5 af9dab113205d38e762368043fd8b3a1
BLAKE2b-256 12b297cb3e79a59a0bd7dea3485c2cb1793958b3509da9caddbb02d916d44c63

See more details on using hashes here.

File details

Details for the file pyexams-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: pyexams-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.5

File hashes

Hashes for pyexams-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c04d650c135b2037dc3a7bd6b5106afed071f982c23828b08e7d12d92741447b
MD5 6424e933436cda34aef9adf6f7080c5b
BLAKE2b-256 86bdab473986d46321ac9f6ea4d36bf3936a59cafe6f89b56ccbc49a8c5cf73b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page