Spaces:
Running
Running
File size: 3,346 Bytes
a39d8ef | 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | #!/usr/bin/env bash
# nl2sql-bench/scripts/run_local.sh
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Quick local development server (no Docker needed).
# Prerequisites: Python 3.10+, pip or uv
#
# Usage:
# chmod +x scripts/run_local.sh
# ./scripts/run_local.sh
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$REPO_ROOT"
echo "βββββββββββββββββββββββββββββββββββββββββββββββ"
echo " NL2SQL-Bench β Local Dev Server"
echo "βββββββββββββββββββββββββββββββββββββββββββββββ"
# ββ Check Python ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
if ! command -v python3 &>/dev/null; then
echo "ERROR: python3 not found. Install Python 3.10+." && exit 1
fi
PY_VERSION=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')
echo "Python: $PY_VERSION"
# ββ Virtual environment ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
if [ ! -d ".venv" ]; then
echo "Creating virtualenv..."
python3 -m venv .venv
fi
source .venv/bin/activate
# ββ Install deps βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
echo "Installing dependencies..."
pip install -q --upgrade pip
pip install -q openenv-core fastapi "uvicorn[standard]" openai pydantic pytest pytest-asyncio
# ββ Load .env if present βββββββββββββββββββββββββββββββββββββββββββββββββββββ
if [ -f ".env" ]; then
echo "Loading .env..."
set -a
source .env
set +a
fi
# ββ Export PYTHONPATH βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
export PYTHONPATH="$REPO_ROOT:$REPO_ROOT/server"
echo ""
echo "Starting server at http://localhost:8000"
echo " /reset β POST (start episode)"
echo " /step β POST (submit SQL)"
echo " /state β GET (episode metadata)"
echo " /health β GET (liveness probe)"
echo " /docs β GET (Swagger UI)"
echo ""
echo "Press Ctrl+C to stop."
echo "βββββββββββββββββββββββββββββββββββββββββββββββ"
cd "$REPO_ROOT/server"
uvicorn app:app \
--host 0.0.0.0 \
--port 8000 \
--reload \
--reload-dir "$REPO_ROOT" \
--log-level info
|