• Rust 94.8%
  • JavaScript 5.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-30 06:58:26 +02:00
.cargo chore: initialize 2026-06-30 06:58:26 +02:00
examples chore: initialize 2026-06-30 06:58:26 +02:00
scripts chore: initialize 2026-06-30 06:58:26 +02:00
src chore: initialize 2026-06-30 06:58:26 +02:00
tests chore: initialize 2026-06-30 06:58:26 +02:00
.gitignore chore: initialize 2026-06-30 06:58:26 +02:00
Cargo.lock chore: initialize 2026-06-30 06:58:26 +02:00
Cargo.toml chore: initialize 2026-06-30 06:58:26 +02:00
LICENSE.md chore: initialize 2026-06-30 06:58:26 +02:00
README.md chore: initialize 2026-06-30 06:58:26 +02:00

@unilim/edt-iut-info

Timetable (emploi du temps) bindings for the IUT informatique de Limoges (edt-iut-info.unilim.fr), compiled from Rust to WebAssembly. Includes a self-contained PDF extractor — no CAS dependency.

Install

npm install @unilim/edt-iut-info

Usage

import {
  getTimetableFromBuffer,
  OnlineTimetable,
  TimetableYear,
} from "@unilim/edt-iut-info";

// from a PDF you already have
const timetable = await getTimetableFromBuffer(new Uint8Array(pdfBytes));
console.log(timetable.header, timetable.lessons);

// or from the online directory
const latest = await OnlineTimetable.getLatestTimetableEntry(TimetableYear.A1);
const online = await latest.getTimetable();

Development

cargo test                       # pdf + timetable golden parity
cargo run --example local        # parse tests/example.pdf -> JSON
cargo run --example online       # fetch + parse the latest A1 timetable
bun scripts/npm.js               # build the @unilim/edt-iut-info package