Skip to content

kurwjan/LanisAPI

Repository files navigation

[README DE] [README EN]

LanisAPI

⚠ Rework in Progress

See issue #32 and the rewrite branch

For now, you can use v0.4.1

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.

App for the Schulportal Hessen

You want an app? Use lanis-mobile!

Lanis-mobile is open for new contributors!

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?

  1. You can report problems at Issues.
  2. You can suggest ideas at Issues.
  3. Contributing: You can contribute to this project either by code or improving the wiki. If you're new to contributing, look here and for this project there is also some help 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:

Notice

This project isn't officially related to the Schulportal Hessen. It's only a unofficial library, supported by the community.