Skip to main content

A tray to track your StudentVUE grade

Project description

This package provide an easy interface to track StudentVUE grade, a fully-typed interface, a differential database that wouldn't continuously take up the space, and a POC application made with PySimpleGUI that can be used to track the grade easily.

Installation

pip install gradebook_tray

Usage

The package provide a fully-typed interface to interact with the StudentVUE grade book. The following code snippet shows how to use the package to get the grade book, marks, assignments, and grade calculations.

from gradebook_tray import StudentVue, Course, Mark, Assignment, AssignmentGradeCalc

client = StudentVue("username", "password", "endpoint")
grade_book: list[Course] = client.get_grade_book()
marks: list[Mark] = grade_book[0].marks
assignments: list[Assignment] = grade_book[0].marks[0].assignments
grade_calc: list[AssignmentGradeCalc] = grade_book[0].marks[0].grade_calculations

Furthermore, the package also provide a database implementation to track the grade easily (and, to a certain extent, capable of a general timeseries database).

from gradebook_tray import DifferenceStorage, Assignment, Mark

# Create a table assignment & assignment_history in the database
assignment_db = DifferenceStorage(
    named_tuple=Assignment,
    db_path="data.db",  # the location of the database
    primary_key="id",  # a primary key is required, as of 0.1.0
    not_null_cols=["id", "measure"],  # these columns are required to be not null
    unique_cols=["id"],  # these columns are required to be unique
)

# Create a table mark & mark_history in the database, automatically handle one-to-many relationship between assignment and mark by altering the assignment table. However, this feature require assignment database to be declared first and the foreign object must be a named tuple.
mark_db = DifferenceStorage(
    named_tuple=Mark,
    db_path="data.db",
    primary_key="id",
)

Lastly, the package also provide a POC application made with PySimpleGUI that can be used to track the grade easily. This application have only been tested on Windows, but it should work on other platforms as well.

python -m gradebook_tray

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

gradebook_tray-0.1.2.tar.gz (84.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gradebook_tray-0.1.2-py3-none-any.whl (86.1 kB view details)

Uploaded Python 3

File details

Details for the file gradebook_tray-0.1.2.tar.gz.

File metadata

  • Download URL: gradebook_tray-0.1.2.tar.gz
  • Upload date:
  • Size: 84.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Windows/10

File hashes

Hashes for gradebook_tray-0.1.2.tar.gz
Algorithm Hash digest
SHA256 75a962489c0b0b51e3cfe5d8fa05947a45e73f3877b8fba275cde103424306eb
MD5 997ba79dab43eb57f05cd4a5e7f5118e
BLAKE2b-256 7fe90f1e12552b068c245253f8aeb7e8fad0e75459ea16c695ab2bebd493a33b

See more details on using hashes here.

File details

Details for the file gradebook_tray-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: gradebook_tray-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 86.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Windows/10

File hashes

Hashes for gradebook_tray-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c2fc0b2ac64f8b5270aa8412f08e40cd0a355b8a7a22769da69f576897437d72
MD5 0721cb0cd881dafe3b4b8c75edf6c7ab
BLAKE2b-256 ffffbbacb0aa8ec62a745e398322dd31069ba840f08cc180770a18815c52302d

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