Source code for klea_utils.api.health
#!/usr/bin/env python3
"""
Shared health check endpoint factory for Klea packages.
File: klea_utils/api/health.py
Copyright 2026 Ankur Sinha
Author: Ankur Sinha <sanjay DOT ankur AT gmail DOT com>
"""
from fastapi import APIRouter, Request, Response, status
[docs]
def create_health_router() -> APIRouter:
"""Create an APIRouter with ``/health/live`` and ``/health/ready`` endpoints."""
router = APIRouter()
@router.get("/health/live")
async def liveness():
return {"status": "alive"}
@router.get("/health/ready")
async def readiness(request: Request):
is_ready = getattr(request.app.state, "is_ready", False)
if is_ready:
return {"status": "ready"}
return Response(
content="Service not ready",
status_code=status.HTTP_503_SERVICE_UNAVAILABLE,
)
return router