Skip to main content

Python Scraper for StudentVue Portals

Project description

Student Vue Scraper

PyPI version

THIS LIBRARY IS FOR THE OLD VERSION OF STUDENTVUE. IT IS NOT MAINTAINED. FOR AN API FOR THE CURRENT VERSION GO TO THE MASTER BRANCH.

This repository provides a easy way to access data from StudentVue portals in Python programs.

How to Use

pip install studentvue@old or clone / download the repository and python setup.py install.

from studentvue import StudentVue
sv = StudentVue('username', 'password', 'domain name')

Scraper Usage

The current functions of the both StudentVue classes are getSchedule(), getStudentContactInfo(), getStudentInfo(), getSchoolInfo(), getReportCard(), getGradeBook(), getGradesbyGradingPeriod(grading_period) and getGradingInfobyPeriod().

getSchedule() returns a list of dictionaries with basic class information:

[
    {
        "Period": "1",
        "Course Title": "Computer Programming",
        "Room Name": "999",
        "Teacher": "Someone"
    }, ...]

getStudentContactInfo() returns a dictionary with contact information on the student:

{
    "Name": "Kid, Some",
    "User ID": "somekid",
    "Home Address": "Some Where Street, Some City, Some State, 99999",
    "Mail Address": "Same as Home Address",
    "Phone Numbers": "Home: 999-999-999"
}

getStudentInfo() returns a dictionary with some other information on the student:

{
    "Student Name": "Some J. Kid",
    "Student No": "32562395",
    "Gender": "Male",
    "Grade": "9"
}

getSchoolInfo() returns a dictionary with some information on the school:

{
    "Principal": "Someone",
    "School Name": "Some HS",
    "Address": "Some Where Street, Some City, Some State, 99999",
    "Phone": "999-999-999",
    "Fax": "999-999-999",
    "Website URL": "https://some-school-website/"
}

getReportCard() returns a list of dictionaries with class information and your grade from the last report card:

[
    {
        "Period": "1",
        "Course Title": "Computer Programming",
        "Teacher": "Someone",
        "Marks": "A"
    }, ...]

getGradeBook() is similar, but returns numbers out of 100 instead of letters, and returns the latest grades from this grading period, opposed to grades from the last report card. Additionally, it sometimes includes the overall grade for the season/ semester/ trimester:

[
    {
        "Period": "1",
        "Course Title": "Computer Programming",
        "Teacher": "Someone",
        "P6": 95.54,
        "Spring": 96.67
    }, ...]

getGradesbyGradingPeriod(grading_period) takes a grading period as a parameter and returns the final grade for that grading period, out of 100, in the same format as getGradeBook():

[
    {
        "Period": "1",
        "Course Title": "Computer Programming",
        "Teacher": "Someone",
        "P1": 97.42
    }, ...]

getGradingInfobyPeriod(period) takes a period as a parameter and returns a dictionary with a grading overview and individual assignment grades:

{
    "Summary": [
        {
            "Assignment Type": "Classwork",
            "Weight": 0.05,
            "Points": 566.0,
            "Points Possible": 450.0,
            "Average": 0.0629
        }, ...
    ],
    "Assignments": [
        {
            "Date": "05/22/2018",
            "Assignment": "Chapter 14 Test",
            "Assignment Type": "Tests and Quizzes",
            "Score Type": "Raw Score",
            "Points": "3.50/5.00",
            "Notes": " "
        }, ...
    ]
}

TODO

  • Write tests

Project details


Release history Release notifications

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for studentvue-old, version 1.0
Filename, size File type Python version Upload date Hashes
Filename, size studentvue_old-1.0-py3-none-any.whl (10.0 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size studentvue@old-1.0.tar.gz (4.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page