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)