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
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.2.tar.gz (4.3 kB view details)

Uploaded Source

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

Hashes for InsperaReader-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4c3ce4bc08ec04cf0caf56d5300f2a04498ba95229abe85eaa5d8d15fb251020
MD5 2333688ac1300ccf6677d60a83649405
BLAKE2b-256 e85689ce7e31217a564458e7fe95c85116d9f07084f78f8fb2a9b1c47a5c0530

See more details on using hashes here.

Supported by

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