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.1.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.1-py3-none-any.whl (86.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gradebook_tray-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 3af6cb138a307992bd9a624f6302c5e6dcff06c5a05143d89b67460c02d4b3f4
MD5 ba03891753465049793a96912843262c
BLAKE2b-256 81447f5f6564a48c8c614a88463629a2283d53b0f741dc15b043d96ebf7c315e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gradebook_tray-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 45393396311f5b74adcc805da9a2f459dfc0d3dbe42716919d64bcbb901a4e5b
MD5 64a5842ab8fa8b9d471d534f82344cfb
BLAKE2b-256 dae0b8a4a22824d77bd09d033febc3079b9544e3f4c9a252309e783b5bf8d1f9

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