import subprocess
import sys
import os

# Activate venv if not already active
def activate_venv():
    venv_path = os.path.join(os.path.dirname(__file__), '.venv', 'bin', 'activate_this.py')
    if os.path.exists(venv_path):
        with open(venv_path) as f:
            exec(f.read(), {'__file__': venv_path})

if __name__ == "__main__":
    # Optionally activate venv (works on Linux/macOS)
    venv_python = os.path.join(os.path.dirname(__file__), '.venv', 'bin', 'python')
    if os.path.exists(venv_python):
        python_exec = venv_python
    else:
        python_exec = sys.executable

    # Launch the FastAPI app with uvicorn
    subprocess.run([
        python_exec, '-m', 'uvicorn', 'app.main:app', '--host', '0.0.0.0', '--port', '8000', '--reload'
    ])
