SchoolApp API
A Python library designed to make interacting with the SchoolApp platform a lot less painful. Instead of wrestling with session cookies and manual HTML scraping, this library gives you a clean, object-oriented way to access your grades, attendance, and profile data.
Why This Exists
Browsing the SchoolApp web interface manually for updates is slow. If you want to build a custom dashboard, a grade tracker, or a notification bot, you need a reliable way to get that data programmatically. This library takes care of:
- Authentication: Solid session management with automatic CSRF token handling.
- Data Cleanup: Converts messy HTML tables into structured Python objects.
- Smart Logic: Handles nested modules, element-level statistics, and transcript parsing out of the box.
Quick Start
Installation
You can install the library locally using:
pip install schoolapp-api
Basic Usage
Getting your data is as simple as this:
from schoolapp_api import SchoolAppClient
# Initialize and log in
client = SchoolAppClient()
if client.login("your.email@example.com", "password"):
# Get your basic info
profile = client.get_profile()
print(f"Hello, {profile['basic_info']['full_name']}!")
# Fetch your current semester grades
grades = client.get_current_elem_note()
for item in grades:
print(f"{item.CodeElem}: {item.Moy}")
Project Layout
The library is organized into several specific managers, so you always know where to find what you need:
grades: Handle module marks, element notes, and academic year results.attendance: Track your absences and see any sanctions.profile: Access your personal data and administrative files.courses: Browse the study plan and available modules.
For the full details on every class and function, head over to the /docs folder.
Contributions
Found a bug or have an idea for a new feature? Feel free to open an issue or submit a pull request. Any help making this library better for everyone is appreciated!
Metadata
Release files for schoolapp-api 2.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| schoolapp_api-2.1.6.tar.gz | 14.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| schoolapp_api-2.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.7 kB
Release files / schoolapp_api-2.1.6.tar.gz
| Download URL | schoolapp_api-2.1.6.tar.gz |
|---|---|
| Size | 14.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a39b8ab288f5d771d88fe7fb4a6d072b0d480d685ca0b49c1bf7f8dfadf2040
|
|
BLAKE2b-256 checksum How to use checksums |
9e18ccd76551c535a5c43dc06325f301eecf1ba7c5637560914473f41b4c8048
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / schoolapp_api-2.1.6-py3-none-any.whl
| Download URL | schoolapp_api-2.1.6-py3-none-any.whl |
|---|---|
| Size | 22.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
289a6d15fddb3b6eb3492226244983e9da9a5e1878278ea824e170f4de53208d
|
|
BLAKE2b-256 checksum How to use checksums |
9c2a07cc094324814606b95b663722ca6bcca4b133c6e82c415001c2a9452677
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|