Skip to main content

A reverse engineered API PlusPortals

Project description

Test Status Package Version

PlusPortalsAPI

A reverse-engineered API providing access to information displayed on the PlusPortals web application.

Requirements

Python 3.6+

Installation

pip3 install plusportals

Usage

import plusportals as pp
client = pp.Client(True, School, Email, ID, Password)
client.printGrades(markingPeriod)

The code above imports the plusportals module, instantiates a client with your login credentials, and prints your grades of the specified markingPeriod.

The first parameter passed to the Client constructor is whether you would like your credentials to be cached so that they do not have to be provided again after the first time, in which case you may simply instantiate a client with client = pp.Client(). The succeeding parameters are your PlusPortals login credentials: school name, email, ID, and password. Your ID is the multi-digit number found in the URL when you login to Plusportals.

Finally, you can print the grades for each of your classes, as is done in the last line, where markingPeriod is the markingPeriod for which you would like to view your grades, e.g., 1 for Semester 1 and 2 for Semester 2.

To be notified when your grades change, this package comes with the Tracker class. Using the code below, you will be notified of a change in your grades (provided that your computer is on) with a little print statement and three beeps.

import plusportals as pp
tracker = pp.Tracker(markingPeriod, School, Email, ID, Password)
tracker.track()

The constructor for the Tracker closely resembles that of Client. Note that the markingPeriod paramter is a required parameter that is necessary for the tracker to work as desired. The track() method simply sends a requests to fetch the grades every 30 seconds. If the response does not match the previous, it prints a message that is accompanied by three consecutive system alert sounds.

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

plusportals-0.2.5.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

plusportals-0.2.5-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file plusportals-0.2.5.tar.gz.

File metadata

  • Download URL: plusportals-0.2.5.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for plusportals-0.2.5.tar.gz
Algorithm Hash digest
SHA256 0863c616639ebf9b4e68e1a57599f74c808f37e27f08029154865c7fef432184
MD5 9e977168162ad34cb9dac8a69bd01523
BLAKE2b-256 b8e7eec9448feb46b93a3745d3c30bc8df2d7e4dab6a45a940078408f8c06a16

See more details on using hashes here.

File details

Details for the file plusportals-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: plusportals-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for plusportals-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3533c1cea74f13d7318765f56839d822adeb18dc3145e92e3742c43fb86c33a6
MD5 ebb217645a69a2938a3adda82919e404
BLAKE2b-256 fa99d7cc26feb2816b032ea9a6cef93e2f49c0663074c315fe643d2d0d5b290d

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