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.
Metadata
Release files for plusportals 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| plusportals-0.2.5.tar.gz | 5.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plusportals-0.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.2 kB
Release files / plusportals-0.2.5.tar.gz
| Download URL | plusportals-0.2.5.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0863c616639ebf9b4e68e1a57599f74c808f37e27f08029154865c7fef432184
|
|
BLAKE2b-256 checksum How to use checksums |
b8e7eec9448feb46b93a3745d3c30bc8df2d7e4dab6a45a940078408f8c06a16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / plusportals-0.2.5-py3-none-any.whl
| Download URL | plusportals-0.2.5-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3533c1cea74f13d7318765f56839d822adeb18dc3145e92e3742c43fb86c33a6
|
|
BLAKE2b-256 checksum How to use checksums |
fa99d7cc26feb2816b032ea9a6cef93e2f49c0663074c315fe643d2d0d5b290d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for plusportals 0.2.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.