E-Kréta API-bindings in Rust
Find a file
2025-12-10 22:55:15 +01:00
src fix(lessons): day doesn't on from 00:00:00, but on 23:00:00 previous day 2025-12-10 22:40:56 +01:00
.gitignore chore: init this new repo for ekreta 2025-02-07 17:57:51 +01:00
Cargo.toml chore: release v0.4.1 2025-12-10 22:52:34 +01:00
README.hu.md refactor: clippy fixes 2025-04-08 18:54:21 +02:00
README.md refactor: clippy fixes 2025-04-08 18:54:21 +02:00

ekreta-rs: E-Kréta api client in Rust

Magyar README

WIP: do expect breaking changes

E-Kréta is an awful Hungarian electronic school administration system

API

  • serde struct bindings for following:

  • school fetching

  • token

  • user info fetch

  • evaluations/grades

  • timetable

  • messages

    • attachments
  • announced test

  • absences

  • classes/groups the user is a part of

Disclaimer

logging is enabled using the log crate, mostly for requests in account.rs, those requests/responses contain sensitive data, such as log::debug!("{token_json}");. It should be fine as long as you either:

  • don't use a crate that logs: eg.: env_logger, log4rs, fern
  • don't enable log::LevelFilter::Debug or higher
  • don't store/share your/other's personal information without consent

Secret weapons

  • if you'd like to introduce a bug (in some cases, feature in others: see rsfilc, when one would like to explicitly use the cache), which would make this crate unable to access the internet, export an env variable like following: one-time thing: NO_NET=1 <BINARY, eg.: rsfilc>
  • NO_RENAME=1 can be used to turn off renaming

Dependents

This library is written to provide bindings between Rust and the E-Kréta REST API. It's primarily (and only at this time) used in RsFilc.

Acknowledgements

The API was written based on these documentations