Add base backend api root page

Signed-off-by: Felipe Cardoso <felipe.cardoso@hotmail.it>
This commit is contained in:
2025-01-22 18:04:50 +01:00
parent 805ed647cd
commit 2ece0b2d8f
2 changed files with 32 additions and 1 deletions

View File

@@ -1,3 +1,7 @@
import platform
from datetime import datetime, timezone
import psutil
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
@@ -24,6 +28,32 @@ app.include_router(training.router, prefix=f"{settings.API_VER_STR}/training", t
app.include_router(samples.router, prefix=f"{settings.API_VER_STR}/samples", tags=["samples"])
@app.get("/")
async def root():
"""
Root endpoint providing API status and system information
"""
return {
"name": "Training Monitor API",
"version": "1.0.0",
"status": "operational",
"timestamp": datetime.now(timezone.utc).isoformat(),
"system_info": {
"cpu_usage": f"{psutil.cpu_percent()}%",
"memory_usage": f"{psutil.virtual_memory().percent}%",
"platform": platform.platform(),
"python": platform.python_version(),
},
"endpoints": {
"docs": "/docs",
"health": "/health",
"training_status": "/api/v1/training/status",
"training_log": "/api/v1/training/log",
"samples_list": "/api/v1/samples/list",
"samples_latest": "/api/v1/samples/latest"
}
}
@app.get("/health")
async def health_check():
return {"status": "healthy"}

View File

@@ -10,4 +10,5 @@ python-dotenv>=1.0.0
aiofiles>=23.2.1
pytest>=7.4.3
httpx>=0.25.1
pytest-asyncio>=0.21.1
pytest-asyncio>=0.21.1
psutil>=5.9.8