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:
- R-
exams
requires use of R for both creating exam variants and managing R-exams
itself, whilepyexams
allows any language for exam creation and is called from a command which can be incorporated into your favorite LaTeX editor. - R-
exams
keeps each question in a separate file, then use a simple R script to compose the whole exam, whilepyexams
use a single LaTeX file for the whole exam. - Both R-
exams
andpyexams
keep a record of past exam questions, butpyexams
also keeps a database that can be queried in order to find, for instance, all questions with the tagderivative
that appeared in exams at least two years ago. The question code is also saved in plain text and managed in agit
repository, which simplifies the management of a shared question bank, whether group-private or totally open. - Last but not least, R-
exams
is a mature and feature rich project, whilepyexams
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.
The pyexams -moodle
version seems to be working fine, the pdf version is definitely not usable yet
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
# generates a moodle question bank with exactly 5 variants of each question
pyexams amc2moodle.tex -moodle -n 5
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyexams-0.1.0.tar.gz
.
File metadata
- Download URL: pyexams-0.1.0.tar.gz
- Upload date:
- Size: 7.6 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 684b3ad83fbededb318217261dbf6681c497010b38b39068f31336ed1e25b4a8 |
|
MD5 | 539e4dd5c7fb628bd050d2bd1dcc1edd |
|
BLAKE2b-256 | 4731683e6a24061e72f358d39079a8682487f7adb4f9655152179ec0e0ad9abf |
File details
Details for the file pyexams-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: pyexams-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.4 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5d0a4c6853858871f8b831a9ae6c37116a0a7243dc8f0edd2fc598fcf6d1403 |
|
MD5 | d2654ff3df2d08e0c62a6ce6d5133dc9 |
|
BLAKE2b-256 | 4b1332024386c7afbca34187d738d9c90ffe6b207cf028b1d122da019268db04 |