test/moxie/run.py
2026-03-24 04:04:58 +00:00

72 lines
1.5 KiB
Python
Executable File

#!/usr/bin/env python3
"""
MOXIE Startup Script
Quick launcher with environment checks.
"""
import sys
import subprocess
from pathlib import Path
def check_dependencies():
"""Check if required dependencies are installed."""
required = [
"fastapi",
"uvicorn",
"pydantic",
"pydantic_settings",
"ollama",
"httpx",
"duckduckgo_search",
"jinja2",
"loguru",
]
missing = []
for pkg in required:
try:
__import__(pkg.replace("-", "_"))
except ImportError:
missing.append(pkg)
if missing:
print(f"Missing dependencies: {', '.join(missing)}")
print("\nInstall with: pip install -r requirements.txt")
return False
return True
def main():
"""Main entry point."""
print("=" * 50)
print("MOXIE - Fake Local LLM Orchestrator")
print("=" * 50)
print()
# Check dependencies
if not check_dependencies():
sys.exit(1)
# Import and run
from main import app
import uvicorn
from config import settings
print(f"Starting server on http://{settings.host}:{settings.port}")
print(f"Admin UI: http://{settings.host}:{settings.port}/{settings.admin_path}")
print()
print("Press Ctrl+C to stop")
print()
uvicorn.run(
"main:app",
host=settings.host,
port=settings.port,
reload=settings.debug,
)
if __name__ == "__main__":
main()