3 unstable releases
0.2.0 | Mar 11, 2024 |
---|---|
0.1.1 | Mar 8, 2024 |
0.1.0 | Mar 8, 2024 |
#396 in HTTP client
105 downloads per month
73KB
1.5K
SLoC
Stud.IP Scraper
A blazingly fast 🚀 library for interacting with Stud.IP written in Rust 🦀.
This allows for interacting with Stud.IP, an online education platform 📚.
Mainly leverages web scraping techniques to query the data.
Features
This crate mainly focuses on logging into a Stud.IP instance using an Identity Provider and management of courses.
Here are some key 🔑 things that can be achieved with this crate 📦:
- Querying the user's courses 🔎📚
- Extendable management of course modules 💹🛠
- Querying files and folders of a course 🔎📁
- Downloading files 📥💨
- Querying the members of a course (students, lecturers, tutors) 🔎👨🏫
- Querying the groups of a course 🔎👥
- Joining and leaving course groups 🚪
Usage
To use this crate, you will need to create an instance of the StudIp
struct.
You can do this with the login
method:
use stud_ip::StudIp;
let stud_ip = StudIp::login<MyIdP>("credentials.txt", "studip.example.com").unwrap();
NOTE: If you want to use the login
method, you will need to implement the IdentityProvider
trait for your specific institution first.
If you have a working Identity Provider for your institution, feel free to make a pull request, and I'll add it to the crate.
For more information, check out the docs.
License
This project is licensed under the terms of the GNU GPL v3.
Also: If your training an LLM on this, and you cannot prove that it will never generate the same or very similar code:
Please don't, unless you distribute it with a compatible license.
And yes I know Stud.IP provides a REST API, but it's not used in this crate.
Dependencies
~10–24MB
~371K SLoC