--- title: Robotic seminars emoji: "📚" colorFrom: yellow colorTo: red sdk: gradio sdk_version: "5.12.0" app_file: app.py pinned: false --- # Robotic seminars This app reads `assets/events.json` and shows the upcoming seminar list. ## Files - `app.py`: Gradio UI - `assets/events.json`: event data read by the app and updated when a Teams calendar event is created or reused - `assets/sources.json`: source metadata used for tags - `assets/prompt.txt`: prompt for your manual event-generation workflow ## HF dataset sync The app pulls the latest remote events file before rendering and pushes updates back after a calendar action updates `assets/events.json`. - Dataset repo is fixed to `ar0s/robotic-seminars-cache` - `HF_TOKEN` or `HUGGINGFACE_HUB_TOKEN`: token with dataset write access - Remote file name is fixed to `events.json` - `assets/events.json` schema version is `6` - Manual sync commands: `python -m src.hf_sync pull` `python -m src.hf_sync push` ## Microsoft Teams calendar The last table column opens a shared Teams meeting for the seminar. The first user creates the service-mailbox event; later users are added to the same event and then redirected to it. - `MS_TENANT_ID`: Entra tenant id for the app registration - `MS_CLIENT_ID`: Entra app client id - `MS_CLIENT_SECRET`: Entra app client secret - `MS_SERVICE_MAILBOX`: Microsoft 365 mailbox that owns the shared calendar event ## Local run ```bash pip install -r requirements.txt python app.py ``` Open `http://localhost:7860`.