""" INCLUDE-50 dataset access layer. Responsibilities ---------------- 1. Read the **official AI4Bharat INCLUDE-50 metadata** (class list, video paths, official train/test split) - the vocabulary is *derived*, never hard-coded. 2. Read the **official AI4Bharat pre-extracted MediaPipe keypoints** (Zenodo 6674324) and map them into the canonical 75-landmark layout. 3. Optionally extract landmarks from the raw INCLUDE videos with the project's own MediaPipe extractor (``KEYPOINT_SOURCE="mediapipe"``). 4. Provide a reproducible, leakage-aware split (train / validation / test). Released keypoint format (verified against AI4Bharat/INCLUDE``generate_keypoints.py``) ------------------------------------------------------------------------------------ One JSON file per video named ``