A collection of standalone Python libraries for interacting with IMT-BS and
Télécom SudParis student services — one package per site/service, most
shipping their own CLI. Each talks to the real portal over plain HTTP (no
browser automation), and several build on casint for shared CAS
authentication.
| Package | CLI | Description |
|---|---|---|
| casint | casint |
Unified CAS authentication for the cas6 / cas7 servers (sync + async) — the shared auth building block. |
| agendint | agendint |
Asynchronous scraper and CLI for the SI-Écoles agenda / timetable (with iCal export). |
| annuairint | - |
SI-Etudiants directory client: students, staff and permanent teachers, the full group/class/cohort catalog, portal-wide relation search (memberships, hierarchies, ...), and ad hoc advanced search, with live discovery of tabs/filters/relation types/search fields instead of hardcoded ids. |
| bulletint | bulletint |
Multi-source access to the academic transcript (notes, moyennes, documents): tomcatprod9 (CAS) + SIFI SSRS (NTLM, URL & SOAP), unified model, every export format. |
| choint | choint |
Scraper and CLI for academic choice campaigns (choix.telecom-sudparis.eu), behind CAS (read-only). |
| enseignint | enseignint |
Scraper and CLI for SI-Écoles class attendance ("présences en cours"), behind CAS. |
| intllabus | intllabus |
Course syllabus scraper and catalog browser for IMT-BS / TSP courses. |
| laverint | laverint |
Real-time laundry machine and dryer status from the TouchNPai API (sync + async), no auth required. |
| maiselint | maiselint |
Maisel housing & floor-plans scraper, behind CAS. |
| spotifint | spotifint |
Spotif'INT music catalog (sync + async): categories, tracks, artists, YouTube/SoundCloud/local media, filtering & search, no auth required. |
| tinter | - |
Unofficial Python client for the tINTer campus matchmaking API (associatif & mode binôme/quadrinôme). |
| trombint | trombint |
Student & staff directory (trombinoscope) scraper and photo downloader. |
| tsprint | tsprint |
PaperCut printing client (balance, jobs, print logs, cost metrics). |
This project uses uv workspaces. Install a package in editable mode from its
directory:
cd packages/<name>
uv sync --extra cli # core + CLI extras where available
cp .env.example .env # then fill in LOGIN / PASSWORDMost packages authenticate with the same IMT-BS/TSP credentials via LOGIN /
PASSWORD (env vars or a local .env, which is git-ignored).