jaykishan-b's picture
init
79b7942
raw
history blame
1.18 kB
import os
import uvicorn
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from app.config import settings
from app.manage import configure_app
from app.utils.constants import APP_DESCRIPTION, APP_NAME, APP_VERSION, DOCS_URL, OPENAPI_URL, STATIC_DIR
def initialize_app():
"""Initializes the app by adding required configurations using configure_app
Returns:
app: returns configured app's FastAPI instance.
"""
fastapi_app = FastAPI(title=APP_NAME, version=APP_VERSION, description=APP_DESCRIPTION)
# app configuration - one time
configure_app(fastapi_app)
# Mount the static folder
fastapi_app.mount(
"/static",
StaticFiles(directory=STATIC_DIR),
name="static",
)
@fastapi_app.get("/")
async def read_index():
with open(os.path.join(STATIC_DIR, "index.html")) as f:
return HTMLResponse(content=f.read(), status_code=200)
return fastapi_app
# initialize app at the end
server = initialize_app()
def start():
uvicorn.run(server, host="0.0.0.0", port=8000)
if __name__ == "__main__":
start()