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?
- 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 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:
- Flutter Android app SPH-Vertretungsplan also from @alessioC42
- TypeScript library Maria from Elderguardian
- 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.
Metadata
Release files for lanisapi 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lanisapi-0.4.1.tar.gz | 24.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lanisapi-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.9 kB
Release files / lanisapi-0.4.1.tar.gz
| Download URL | lanisapi-0.4.1.tar.gz |
|---|---|
| Size | 24.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3200faef269db2ad3459401efa206c7a2ddac1ae909ccefc50a1a114ec38188e
|
|
BLAKE2b-256 checksum How to use checksums |
adcd8593572629aadd6492089cca1b6e0a70f42ba9d80beb475646767159ba9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|
Release files / lanisapi-0.4.1-py3-none-any.whl
| Download URL | lanisapi-0.4.1-py3-none-any.whl |
|---|---|
| Size | 28.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a71b8497d1e8d26cabe5cf8c7a1371fc1dc190dd3ac8142f2756cb8e921db48c
|
|
BLAKE2b-256 checksum How to use checksums |
44bc01523039b650d135a3f9339f4a8494c0c17bdf1d635c0c3bfe0104236629
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|