Skip to main content

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

Metadata

Release files for gradebook_tray 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gradebook_tray 0.1.2
File Size Uploaded
gradebook_tray-0.1.2.tar.gz 84.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gradebook_tray 0.1.2
File Interpreter ABI Platform
gradebook_tray-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 170.8 kB

Release files / gradebook_tray-0.1.2.tar.gz

Download URL gradebook_tray-0.1.2.tar.gz
Size 84.6 kB
Tags Source
SHA-256 checksum
How to use checksums
75a962489c0b0b51e3cfe5d8fa05947a45e73f3877b8fba275cde103424306eb
BLAKE2b-256 checksum
How to use checksums
7fe90f1e12552b068c245253f8aeb7e8fad0e75459ea16c695ab2bebd493a33b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.5 Windows/10

Release files / gradebook_tray-0.1.2-py3-none-any.whl

Download URL gradebook_tray-0.1.2-py3-none-any.whl
Size 86.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c2fc0b2ac64f8b5270aa8412f08e40cd0a355b8a7a22769da69f576897437d72
BLAKE2b-256 checksum
How to use checksums
ffffbbacb0aa8ec62a745e398322dd31069ba840f08cc180770a18815c52302d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.5 Windows/10

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page