A unofficial python api for Lanis
Project description
LanisAPI
⚠ Notice
Because the Schulportal Hessen changes quickly and is very fragmented, some functions at specific schools or after a while may no longer work.
What is this?
It's an unofficial Python library for the Schulportal Hessen. Also available on PyPi.
Features
- Fetch homework or other tasks.
- Fetch substitution plan.
- Fetch calendar events.
- Fetch conversations.
- Fetch all schools that have Lanis.
- Fetch all web applets with their links.
Overview of future Features, Problems and other things here.
How do I install it?
pip install lanisapi
Required is Python 3.11. (older versions are probably not working, I didn't tested it.)
Example
This example gives the substitution plan.
from lanisapi import LanisClient, LanisAccount, LanisCookies, School
def main():
client = LanisClient(LanisAccount("school id", "name.lastname", "password"))
or: client = LanisClient(LanisAccount(School("school", "city"), "name.lastname", "password"))
or: client = LanisClient(LanisCookie("school id", "session id"))
client.authenticate()
print(client.get_substitution_plan())
client.close()
if __name__ == "__main__":
main()
More infos at the wiki.
How can I help?
- You can report problems at Issues.
- You can suggest ideas at Issues.
- Contributing: You can contribute to this project either by code or improving the wiki. If you're new to contributing, look here.
Also if you like this project you can give it a star.
Credits
The Javascript project SPHclient from @alessioC42 helped me to understand the Schulportal Hessen.
The Android-App sph-planner from @koenidv helped me to understand the Level 2 encryption.
Other projects that didn't helped me but are cool:
- Good TypeScript library Maria from Elderguardian
- Flutter Android app SPH-Vertretungsplan also from @alessioC42
- Javascript app SchulportalApp from DerOwnerHD
- Flutter Android app lkwslr-sphplaner from flutter-preview
Notice
This project isn't officially related to the Schulportal Hessen. It's only a unofficial library, supported by the community.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.