Skip to main content

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


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.1.macosx-10.9-x86_64.tar.gz (6.3 kB view hashes)

Uploaded Source

Built Distribution

InsperaReader-0.1.1-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

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