Skip to main content

A unofficial python api for Lanis.

Project description

[README DE] [README EN]

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.

App for the Schulportal Hessen

If you want to have an app for Lanis, check out SPH-vertretungsplan by @alessioC42. It's still in an early phase!

It would be also really nice if you contribute to this project, like bug reporting, if you know Dart and Flutter it would be nice to see your help or you could learn Dart, it's not hard.

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.

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

lanisapi-0.4.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

lanisapi-0.4.0-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

Details for the file lanisapi-0.4.0.tar.gz.

File metadata

  • Download URL: lanisapi-0.4.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for lanisapi-0.4.0.tar.gz
Algorithm Hash digest
SHA256 66e32448f9a989d2b22920a9e0e36c756d587b7186dc37adf00ce78b98cb9ed3
MD5 aa630ba588f1aa8d501c68c852197705
BLAKE2b-256 32404797245c6e6e4060eefabbb544f0a4d4331ae1a8bbe390879017c440afef

See more details on using hashes here.

File details

Details for the file lanisapi-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: lanisapi-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 28.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for lanisapi-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6bd0e9713d4df837f2cd48fe7cd7a4ca15bae7ddddbdce130607ab7d02a70877
MD5 30e47ff713dded3e8025b363dab159a4
BLAKE2b-256 d404490f397893c060ed85c00ffce82b570942ddf6b1735107709e5e9f0c281f

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