Skip to main content

A Python library and CLI tool for interacting with the TVDSB Student Portal service

Project description

tvdsb-student-api

A Python library and CLI tool for interacting with the TVDSB Student Portal service

CLI tool usage

usage: python3 -m tvdsb_student [-h] --user USER [--passwd PASSWD]

Dumps all TVDSB Student info to STDOUT as JSON

optional arguments:
  -h, --help       show this help message and exit
  --user USER      TVDSB account username
  --passwd PASSWD  TVDSB account password

This script will dump JSON to STDOUT

Library usage

from typing import List
import tvdsb_student

# TVDSB Network auth
user = "lastfirst123"           # This is your network username
passwd = "mySecurePassw0rD!"    # This is your network password

# Create an auth object
creds = tvdsb_student.LoginCreds(user, passwd)

# Read student attendance records
attendance: List[dict] = tvdsb_student.getAttendanceRecords(creds)

# Read student mark history (all report card info)
marks: List[dict] = tvdsb_student.getMarkHistory(creds)

# Read student payment info
payment: dict = tvdsb_student.getPaymentInfo(creds)

# Read student timetable info
timetable: dict = tvdsb_student.getTimetable(creds)

Data schemas

These are all examples of the datastructures generated from polling my student account

Attendance

[
    {
        "code": "G",                                    // Single char denoting incident type
        "course_code": "SPH3UK-02",                     // Course code
        "date": "3/24/2020",                            // Date of incident
        "period": 2,                                    // School period
        "reason": "School Closure/Services Withdrawal"  // Notes about incident
    }
]

Marks

{
    "2020": [ // Courses are grouped by year
        {
            "comment": ".",         // Teacher's comment. This may be a "." if the class finished during a teachers strike
            "course": "ICS4U1",     // Course code
            "date": "2020.06.26",   // Date the grade was last updated in MarkBook
            "mark": 100,            // Percent grade out of 100
            "skills": {             // Listing of all "skills" on a normal report card. Single char, one of [F, S, G, E]
                "homework": "E",
                "independence": "E",
                "initiative": "E",
                "organization": "E",
                "teamwork": "E"
            }
        }
    ]
}

Payment

{
    "pin": 1234567890 // PIN number used to link a parent's payment account to a student (not my real pin)
}

Timetable

{
    "student_info": {
        'grade': 12,                            // Current grade, or next grade during summer
        'locker_number': null,                  // Locker number or null/None for no locker
        'name': ['Evan', 'Pratten'],            // First and last name
        'ontario_education_number': 123456789,  // OEN (not my real OEN)
        'student_number': 987654321             // TVDSB student number (not my real student number)
    },
    "course_semesters": [ // Contains a sub-array for each semester
        [ // Contains an object for each course
            {
                'course_code': 'ENG4U1-02', // Course code
                'period': 2,                // Period number
                'start_time': 1000,         // Time the period begins (24hr)
                'end_time': 1115            // Time the period ends (24hr)
                
            }
        ]
    ]
}

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

tvdsb-student-api-1.7.tar.gz (8.8 kB view details)

Uploaded Source

File details

Details for the file tvdsb-student-api-1.7.tar.gz.

File metadata

  • Download URL: tvdsb-student-api-1.7.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.24.0 CPython/3.6.9

File hashes

Hashes for tvdsb-student-api-1.7.tar.gz
Algorithm Hash digest
SHA256 bdf3c4475042f23b773090ffc11e8e51144dff144274fd04c99ed700a32fad39
MD5 5670e726809259dafce56156cf5bb1d0
BLAKE2b-256 cc71cfe85974de3a5e8158e155e0293e6986f5aa5db78eaeb1d4b89022073187

See more details on using hashes here.

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