BookMind / app.py
BookMind Deployer
Deploy BookMind to HF Spaces - exclude large files
806d445
Raw History Blame Contribute Delete
1.3 kB
#!/usr/bin/env python
"""
BookMind - AI-Powered Book Recommendation System
FastAPI entry point for Hugging Face Spaces deployment
"""
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import JSONResponse
from pathlib import Path
import uvicorn
# Create FastAPI app
app = FastAPI(
title="BookMind",
description="AI-Powered Book Recommendation System",
version="1.0.0"
)
# Try to mount frontend static files if they exist
frontend_dist = Path("frontend/dist")
if frontend_dist.exists():
app.mount("/", StaticFiles(directory=str(frontend_dist), html=True), name="static")
@app.get("/health")
async def health_check():
"""Health check endpoint for HF Spaces"""
return {"status": "healthy", "app": "BookMind"}
@app.get("/api/health")
async def api_health():
"""API health check endpoint"""
return {"status": "ok", "service": "BookMind API"}
@app.get("/")
async def root():
"""Root endpoint - returns app info"""
return {
"app": "BookMind",
"status": "running",
"version": "1.0.0",
"description": "AI-Powered Book Recommendation System"
}
if __name__ == "__main__":
uvicorn.run(
"app:app",
host="0.0.0.0",
port=7860,
reload=False
)