stud_ip_scraper

Crates.iostud_ip_scraper
lib.rsstud_ip_scraper
version
sourcesrc
created_at2024-03-08 15:45:10.264637
updated_at2025-01-24 23:59:34.696904
descriptionBlazingly fast 🚀 library for interacting with Stud.IP 📚
homepagehttps://github.com/RedstoneMedia/stud-ip-scraper
repositoryhttps://github.com/RedstoneMedia/stud-ip-scraper
max_upload_size
id1167049
Cargo.toml error:TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
(RedstoneMedia)

documentation

README

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.

Commit count: 11

cargo fmt