#!/usr/bin/env bash # ============================================================ # MET Aeroportuário — launcher Linux/macOS # Creates a virtual environment if needed, installs # dependencies and launches the Streamlit dashboard. # # Usage (from any directory): # ./run/run.sh # ./run/run.sh --server.port 8502 # ============================================================ set -euo pipefail # Resolve the project root (one level above this script's folder). SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJ_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" cd "$PROJ_DIR" # ── 1. Virtual environment ─────────────────────────────────── if [ ! -d ".venv" ]; then echo "[1/3] Criando ambiente virtual..." python3 -m venv .venv fi # ── 2. Install dependencies ────────────────────────────────── echo "[2/3] Instalando dependencias..." # shellcheck source=/dev/null source .venv/bin/activate pip install -q -r env/requirements.txt # ── 3. Launch dashboard ────────────────────────────────────── echo "[3/3] Iniciando dashboard em http://localhost:8501 ..." exec streamlit run _apps/dashboard.py "$@"