import asyncio import pathlib import fastapi import fastapi.responses import fastapi.staticfiles from assets.application import application from assets.settings import settings core_directory = pathlib.Path(__file__).parent app_directory = core_directory / pathlib.Path("static/") app_files = fastapi.staticfiles.StaticFiles(directory = str(app_directory)) config_file = core_directory / pathlib.Path("config.json") config = settings(config_file) app = application(config) api = fastapi.FastAPI() @api.get("/") async def index(): return fastapi.responses.RedirectResponse("/app/core.html") @api.get("/provider") async def provider(): return fastapi.responses.JSONResponse(app.get_provider()) api.mount("/app/", app_files, name = "app_files") if __name__ == "__main__": import uvicorn uvicorn.run(api, host = config.host, port = config.port)