Name | lanisapi JSON |
Version |
0.4.1
JSON |
| download |
home_page | |
Summary | A unofficial python api for Lanis. |
upload_time | 2023-11-26 00:46:18 |
maintainer | |
docs_url | None |
author | kurwjan |
requires_python | >=3.7 |
license | |
keywords |
lanis
sph
schulportal hessen
hessen
api
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[[README DE](https://github.com/kurwjan/LanisAPI/blob/master/README-DE.md)] [[README EN](https://github.com/kurwjan/LanisAPI/blob/master/README.md)]
# 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](https://pypi.org/project/lanisapi/).
## 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](https://github.com/users/kurwjan/projects/2).**
## App for the Schulportal Hessen
If you want to have an app for Lanis, check out [SPH-vertretungsplan](https://github.com/alessioC42/SPH-vertretungsplan) by [@alessioC42](https://github.com/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?
```sh
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.
```python
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](https://lanisapi.readthedocs.io/en/latest/first_steps.html).
## 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](https://docs.github.com/en/get-started/quickstart/contributing-to-projects) and for this project there is also some help [here](https://lanisapi.readthedocs.io/en/latest/contributing/programming_help.html).
*Also if you like this project you can give it a star.*
## Credits
The Javascript project [SPHclient](https://github.com/alessioC42/SPHclient) from [@alessioC42](https://github.com/alessioC42) helped me to understand the *Schulportal Hessen*.
The Android-App [sph-planner](https://github.com/koenidv/sph-planner) from [@koenidv](https://github.com/koenidv) helped me to understand the Level 2 encryption.
Other projects that didn't helped me but are cool:
+ **Flutter Android app [SPH-Vertretungsplan](https://github.com/alessioC42/SPH-vertretungsplan) also from [@alessioC42](https://github.com/alessioC42)**
+ TypeScript library [Maria](https://github.com/elderguardian/maria) from [Elderguardian](https://github.com/elderguardian/)
+ Javascript app [SchulportalApp](https://github.com/DerOwnerHD/SchulportalApp) from [DerOwnerHD](https://github.com/DerOwnerHD)
+ Flutter Android app [lkwslr-sphplaner](https://github.com/flutter-preview/lkwslr-sphplaner) from [flutter-preview](https://github.com/flutter-preview)
## Notice
This project isn't officially related to the Schulportal Hessen. It's only a unofficial library, supported by the community.
Raw data
{
"_id": null,
"home_page": "",
"name": "lanisapi",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "Lanis,SPH,Schulportal Hessen,Hessen,API",
"author": "kurwjan",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/ad/cd/8593572629aadd6492089cca1b6e0a70f42ba9d80beb475646767159ba9f/lanisapi-0.4.1.tar.gz",
"platform": null,
"description": "[[README DE](https://github.com/kurwjan/LanisAPI/blob/master/README-DE.md)] [[README EN](https://github.com/kurwjan/LanisAPI/blob/master/README.md)]\n\n# LanisAPI\n\n> ## \u26a0 Notice\n> **Because the Schulportal Hessen changes quickly and is very fragmented, some functions at specific schools or after a while may no longer work.**\n\n## What is this?\n\nIt's an unofficial Python library for the Schulportal Hessen. Also available on [PyPi](https://pypi.org/project/lanisapi/).\n\n## Features\n\n+ Fetch homework or other tasks.\n+ Fetch substitution plan.\n+ Fetch calendar events.\n+ Fetch conversations.\n+ Fetch all schools that have Lanis.\n+ Fetch all web applets with their links.\n\n**Overview of future Features, Problems and other things [here](https://github.com/users/kurwjan/projects/2).**\n\n## App for the Schulportal Hessen\nIf you want to have an app for Lanis, check out [SPH-vertretungsplan](https://github.com/alessioC42/SPH-vertretungsplan) by [@alessioC42](https://github.com/alessioC42). _It's still in an early phase!_\n\n**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.\n\n## How do I install it?\n\n```sh\npip install lanisapi\n```\n\nRequired is Python 3.11. *(older versions are probably not working, I didn't tested it.)*\n\n## Example\n\nThis example gives the substitution plan.\n\n```python\nfrom lanisapi import LanisClient, LanisAccount, LanisCookies, School\n\ndef main():\n client = LanisClient(LanisAccount(\"school id\", \"name.lastname\", \"password\"))\n or: client = LanisClient(LanisAccount(School(\"school\", \"city\"), \"name.lastname\", \"password\"))\n or: client = LanisClient(LanisCookie(\"school id\", \"session id\"))\n client.authenticate()\n print(client.get_substitution_plan())\n client.close()\n \nif __name__ == \"__main__\":\n main()\n```\n\nMore infos at the [wiki](https://lanisapi.readthedocs.io/en/latest/first_steps.html).\n\n## How can I help?\n\n1. You can report problems at *Issues*.\n2. You can suggest ideas at *Issues*.\n3. **Contributing**: You can contribute to this project either by code or improving the wiki. If you're new to contributing, look [here](https://docs.github.com/en/get-started/quickstart/contributing-to-projects) and for this project there is also some help [here](https://lanisapi.readthedocs.io/en/latest/contributing/programming_help.html).\n\n*Also if you like this project you can give it a star.*\n\n## Credits\n\nThe Javascript project [SPHclient](https://github.com/alessioC42/SPHclient) from [@alessioC42](https://github.com/alessioC42) helped me to understand the *Schulportal Hessen*.\n\nThe Android-App [sph-planner](https://github.com/koenidv/sph-planner) from [@koenidv](https://github.com/koenidv) helped me to understand the Level 2 encryption.\n\nOther projects that didn't helped me but are cool:\n\n+ **Flutter Android app [SPH-Vertretungsplan](https://github.com/alessioC42/SPH-vertretungsplan) also from [@alessioC42](https://github.com/alessioC42)**\n+ TypeScript library [Maria](https://github.com/elderguardian/maria) from [Elderguardian](https://github.com/elderguardian/)\n+ Javascript app [SchulportalApp](https://github.com/DerOwnerHD/SchulportalApp) from [DerOwnerHD](https://github.com/DerOwnerHD)\n+ Flutter Android app [lkwslr-sphplaner](https://github.com/flutter-preview/lkwslr-sphplaner) from [flutter-preview](https://github.com/flutter-preview)\n\n## Notice\n\nThis project isn't officially related to the Schulportal Hessen. It's only a unofficial library, supported by the community.\n",
"bugtrack_url": null,
"license": "",
"summary": "A unofficial python api for Lanis.",
"version": "0.4.1",
"project_urls": {
"Bug Tracker": "https://github.com/kurwjan/LanisAPI/issues",
"Documentation": "https://lanisapi.readthedocs.io/",
"Homepage": "https://github.com/kurwjan/LanisAPI"
},
"split_keywords": [
"lanis",
"sph",
"schulportal hessen",
"hessen",
"api"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "44bc01523039b650d135a3f9339f4a8494c0c17bdf1d635c0c3bfe0104236629",
"md5": "a87e4fdaf883c34bb5d02e5617c09383",
"sha256": "a71b8497d1e8d26cabe5cf8c7a1371fc1dc190dd3ac8142f2756cb8e921db48c"
},
"downloads": -1,
"filename": "lanisapi-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a87e4fdaf883c34bb5d02e5617c09383",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 28635,
"upload_time": "2023-11-26T00:46:17",
"upload_time_iso_8601": "2023-11-26T00:46:17.189853Z",
"url": "https://files.pythonhosted.org/packages/44/bc/01523039b650d135a3f9339f4a8494c0c17bdf1d635c0c3bfe0104236629/lanisapi-0.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "adcd8593572629aadd6492089cca1b6e0a70f42ba9d80beb475646767159ba9f",
"md5": "8d93912c40ec7aaab50513e7d644ca2f",
"sha256": "3200faef269db2ad3459401efa206c7a2ddac1ae909ccefc50a1a114ec38188e"
},
"downloads": -1,
"filename": "lanisapi-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "8d93912c40ec7aaab50513e7d644ca2f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 24280,
"upload_time": "2023-11-26T00:46:18",
"upload_time_iso_8601": "2023-11-26T00:46:18.258684Z",
"url": "https://files.pythonhosted.org/packages/ad/cd/8593572629aadd6492089cca1b6e0a70f42ba9d80beb475646767159ba9f/lanisapi-0.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-26 00:46:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kurwjan",
"github_project": "LanisAPI",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "lanisapi"
}