Spaces:
Paused
Paused
| # Push the GRPO training notebook to Kaggle as a Kernel. | |
| # Prereq: ~/.kaggle/kaggle.json from https://www.kaggle.com/settings → API → Create New Token | |
| set -euo pipefail | |
| ROOT="$(cd "$(dirname "$0")/.." && pwd)" | |
| cd "$ROOT" | |
| KERNEL_DIR="kernels/driftshield-grpo" | |
| NOTEBOOK="driftshield_kaggle.ipynb" | |
| # Kaggle CLI accepts any of: kaggle.json, KAGGLE_USERNAME+KAGGLE_KEY, or KAGGLE_API_TOKEN (see kaggle-api authenticate()). | |
| if [[ ! -f "${HOME}/.kaggle/kaggle.json" ]] \ | |
| && [[ -z "${KAGGLE_API_TOKEN:-}" ]] \ | |
| && { [[ -z "${KAGGLE_USERNAME:-}" ]] || [[ -z "${KAGGLE_KEY:-}" ]]; }; then | |
| echo "No Kaggle credentials found. Use one of:" | |
| echo " 1) ~/.kaggle/kaggle.json (from Kaggle → Settings → API → Create New Token)" | |
| echo " 2) export KAGGLE_USERNAME=... KAGGLE_KEY=... (values from that JSON)" | |
| echo " 3) export KAGGLE_API_TOKEN=... (OAuth-style token if you use that flow)" | |
| exit 1 | |
| fi | |
| if [[ ! -d .venv-kaggle ]]; then | |
| python3 -m venv .venv-kaggle | |
| fi | |
| .venv-kaggle/bin/pip install -q 'kaggle>=1.6.0' | |
| cp -f "$NOTEBOOK" "$KERNEL_DIR/$NOTEBOOK" | |
| echo "Synced notebook → $KERNEL_DIR/$NOTEBOOK" | |
| .venv-kaggle/bin/kaggle kernels push -p "$KERNEL_DIR" | |
| echo "Done." | |