Skip to content

A blazingly fast πŸš€ library for interacting with Stud.IP πŸ“š written in Rust πŸ¦€

License

Notifications You must be signed in to change notification settings

RedstoneMedia/stud-ip-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Stud.IP Scraper

Crates.io License Crates.io Version

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 πŸšͺ
  • Executing filtered global searches on the entire instance πŸ”ŽπŸŒŽ

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.

About

A blazingly fast πŸš€ library for interacting with Stud.IP πŸ“š written in Rust πŸ¦€

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages