#!/usr/bin/env bash set -euo pipefail echo "Setting up environment variables..." export SIRUS_ADMIN_API_KEY="426f27d994943c874c22d42e77596e33c455dac315c361d35215cae5f39941b3" export SIRUS_API_KEY_AUTH_ENABLED="true" export SIRUS_ADMIN_AUTH_ENABLED="true" # Defaults (can be overridden by environment) export DATA_SOURCES_PORT="${DATA_SOURCES_PORT:-8000}" export DATA_SOURCES_HOST="${DATA_SOURCES_HOST:-127.0.0.1}" echo echo "Environment variables set:" echo " SIRUS_ADMIN_API_KEY=${SIRUS_ADMIN_API_KEY}" echo " SIRUS_API_KEY_AUTH_ENABLED=${SIRUS_API_KEY_AUTH_ENABLED}" echo " SIRUS_ADMIN_AUTH_ENABLED=${SIRUS_ADMIN_AUTH_ENABLED}" echo echo "Starting Data Sources API..." echo # Resolve directories SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # BACKEND_DIR should be the `backend` folder (parent of this data_sources dir) BACKEND_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" # PROJECT_ROOT is the repository root (parent of backend) so imports like # `backend.*` resolve when Python looks on sys.path PROJECT_ROOT="$(cd "${BACKEND_DIR}/.." && pwd)" echo "Project root: ${PROJECT_ROOT}" # Ensure PYTHONPATH includes repository root so imports like `backend.*` resolve export PYTHONPATH="${PROJECT_ROOT}:${PYTHONPATH:-}" echo "PYTHONPATH=${PYTHONPATH}" # Use uvicorn module (reload useful during development) echo "Launching uvicorn at ${DATA_SOURCES_HOST}:${DATA_SOURCES_PORT}" # Ensure we run from the backend directory so imports like `data_sources` # resolve relative to the package layout even if the script is invoked # via an absolute path from elsewhere. cd "${BACKEND_DIR}" python -m uvicorn data_sources.main:app --host "${DATA_SOURCES_HOST}" --port "${DATA_SOURCES_PORT}" --reload