Add base backend api root page
Signed-off-by: Felipe Cardoso <felipe.cardoso@hotmail.it>
This commit is contained in:
@@ -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"}
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user