libellule 0.1.3

Unofficial implementation of the PRONOTE protocol
Documentation

Libellule

Version Documentation CI License

A Rust implementation of the PRONOTE protocol.

[!WARNING] Libellule is not affiliated with, endorsed by, or sponsored by INDEX ÉDUCATION.

Usage

Add libellule as a dependency in your Cargo.toml:

[dependencies]
libellule = "0.1"
tokio = { version = "1", features = ["full"] }

And here is a usage example to get you started:

use libellule::{Client, Instance};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let instance_url = String::from("https://demo.index-education.net/pronote/");
    let instance = Instance::new(instance_url).await?;
    let username = "demonstration";
    let password = "pronotevs";

    let client = Client::login(&instance, username, password).await?;

    let periods = client.periods();
    let default_period_id = client.default_period();
    let default_period = periods
        .iter()
        .find(|period| period.id == default_period_id)
        .unwrap();

    let grades = client.grades(default_period).await?;

    println!("{:#?}", grades);

    Ok(())
}

This code displays all the grades for the default period from PRONOTE's demo instance.

License

Released under the GNU General Public License v3.0.