fridge-vision / run_server.py
NoNameWrath's picture
Deploy to HuggingFace Spaces
c02c6ce
Raw
History Blame Contribute Delete
1.45 kB
#!/usr/bin/env python
"""
Startup script for Fridge Vision API.
Run: python run_server.py
"""
import os
import sys
import logging
from pathlib import Path
# Add project root to path
PROJECT_ROOT = Path(__file__).parent
sys.path.insert(0, str(PROJECT_ROOT))
from config import get_config, print_config, API_CONFIG, LOG_LEVEL
# Configure logging
logging.basicConfig(
level=LOG_LEVEL,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)
def main():
"""Start the Fridge Vision API server."""
try:
# Print configuration
print_config()
# Import FastAPI app
from api.main import app
import uvicorn
logger.info("Starting Fridge Vision API server...")
logger.info(f"Host: {API_CONFIG['host']}")
logger.info(f"Port: {API_CONFIG['port']}")
logger.info(f"Debug: {API_CONFIG['debug']}")
logger.info(f"Reload: {API_CONFIG['reload']}")
# Run server
uvicorn.run(
app,
host=API_CONFIG['host'],
port=API_CONFIG['port'],
reload=API_CONFIG['reload'],
log_level=LOG_LEVEL.lower()
)
except KeyboardInterrupt:
logger.info("Server stopped by user")
except Exception as e:
logger.error(f"Server error: {e}", exc_info=True)
sys.exit(1)
if __name__ == "__main__":
main()