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
data = InsperaReader(file_path)
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
Built Distribution
Close
Hashes for InsperaReader-0.1.1.macosx-10.9-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e92236d1709be35c81f6abc159df68d15174b9b25f355d920cebd347d08c8c33 |
|
MD5 | ed4f678453c3ad61e268775043d4d3f3 |
|
BLAKE2b-256 | d956ee13ec5be3e808afd9f703c61be2668ad70baa4a160a5e156077fc931753 |
Close
Hashes for InsperaReader-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2f1aae2908e0ec22852fb982388f63f4d5a96bbd673ea888e9eda977d6c9d93 |
|
MD5 | b1eb8a50fe1f0b89e269ba394898d3b7 |
|
BLAKE2b-256 | 00a7b6604d3b84afed62dfc27c16211895429b0819264f477675969e393002cb |