#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" VENV_DIR="$ROOT_DIR/.venv" SETUP_ONLY=false if [[ "${1:-}" == "--setup-only" ]]; then SETUP_ONLY=true fi if [[ ! -d "$VENV_DIR" ]]; then echo "Creating virtual environment..." python3 -m venv "$VENV_DIR" fi # shellcheck disable=SC1091 source "$VENV_DIR/bin/activate" if [[ ! -f "$VENV_DIR/.deps_installed" ]] || [[ "$ROOT_DIR/requirements.txt" -nt "$VENV_DIR/.deps_installed" ]]; then echo "Installing dependencies..." pip install -r "$ROOT_DIR/requirements.txt" touch "$VENV_DIR/.deps_installed" fi if [[ "$SETUP_ONLY" == "true" ]]; then echo "Setup complete." exit 0 fi echo "Starting Streamlit app..." exec streamlit run "$ROOT_DIR/app.py"