File size: 1,205 Bytes
e842e3c
 
 
 
 
 
f73ecfc
 
e842e3c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f73ecfc
 
e842e3c
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env bash
# 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."