JSON parsing of Inspera Assessment files
Project description
inspera-reader
A tool to parse the output of exams/assignments from Inspera
setup
pip install InsperaReader
usage
Can be used either in python directly or as a command-line tool to create the dataset directly.
in python
from inspera import InsperaReader
reader = InsperaReader('path/fall_exam_2021.json')
for candidate in reader.candidates():
for question in candidate.questions():
# access any desired field and build your data
my_custom_data = [question.id(), question.grading(), question.clean_response()]
# or access the predefined make-row field, intended for further use with pandas
my_custom_data = question.make_row()
peek data:
from inspera import InsperaReader
reader = InsperaReader('path/fall_exam_2021.json')
print(reader.candidates()[0].questions()[0].clean_response())
command line (NOT IMPLEMENTED)
python -m insperareader --file path --outfile path --name name
a default setting that includes the following fields for each candidate's response (through make_row):
- question id
- responses
- parsed responses
- grading
- max score
- duration
classes
InsperaCandidate
- id (candidate id) -> int
- score (total score) -> int
- start_end (date_from - date_to) -> str
- questions (data related to each question in the assignment) -> list[InsperaQuestion]
InsperaQuestion
- question_num -> int
- question_title -> str
- responses (raw data) -> list(str)
- clean_response (parsed data) -> list(str)
- grading (list of grades) -> list(int)
- grader (name of graders) -> list(str)
- max_score -> int
- duration -> int
- make_row -> list of above fields
Also implements a print override, containing simplified information.
TODO:
- implement CLI
- generalize field names in a config file (e.g. yml)
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
InsperaReader-0.1.2.tar.gz
(4.3 kB
view details)
File details
Details for the file InsperaReader-0.1.2.tar.gz.
File metadata
- Download URL: InsperaReader-0.1.2.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c3ce4bc08ec04cf0caf56d5300f2a04498ba95229abe85eaa5d8d15fb251020
|
|
| MD5 |
2333688ac1300ccf6677d60a83649405
|
|
| BLAKE2b-256 |
e85689ce7e31217a564458e7fe95c85116d9f07084f78f8fb2a9b1c47a5c0530
|