Source code for modalysis.server.main
"""FastAPI application entrypoint for modalysis."""
import logging
from contextlib import asynccontextmanager
from typing import AsyncIterator
from fastapi import FastAPI
from modalysis.server.dmr import router as dmr_router
from modalysis.server.gff import router as gff_router
from modalysis.server.pileup import router as pileup_router
from modalysis.server.plot import router as plot_router
[docs]
@asynccontextmanager
async def lifespan(app: FastAPI) -> AsyncIterator[None]:
"""Configure logging when the FastAPI application starts."""
logging.basicConfig(
format="%(asctime)s %(levelname)s %(name)s: %(message)s",
level=logging.DEBUG,
force=True,
)
yield
app = FastAPI(lifespan=lifespan)
app.include_router(dmr_router)
app.include_router(gff_router)
app.include_router(pileup_router)
app.include_router(plot_router)