16 releases

new 0.3.5 Apr 9, 2025
0.3.4 Apr 8, 2025
0.2.7 Mar 23, 2025
0.2.3 Feb 18, 2025
0.1.5 Feb 12, 2025

#122 in Science

Download history 285/week @ 2025-02-07 202/week @ 2025-02-14 61/week @ 2025-02-21 13/week @ 2025-02-28 118/week @ 2025-03-07 450/week @ 2025-03-14 187/week @ 2025-03-21 26/week @ 2025-03-28 660/week @ 2025-04-04

1,336 downloads per month
Used in rsfilc

MIT license

48KB
989 lines

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

Dependencies

~3.5–5MB
~90K SLoC