from contextlib import asynccontextmanager import uvicorn from fastapi import FastAPI from pydantic import EmailStr, BaseModel from items_views import router as items_router from users.views import router as users_router from api_v1 import router as api_v1_router from core.config import settings @asynccontextmanager async def lifespan(app: FastAPI): # заготовка под добавление каких-то действий после запуска приложения. yield app = FastAPI(lifespan=lifespan) app.include_router(router=items_router, tags=["items"]) app.include_router(router=users_router, tags=["users"]) app.include_router(router=api_v1_router, tags=["api_v1"], prefix=settings.api_v1_prefix) @app.get("/") def hello_index(): return {"message": "hello index"} @app.get("/hello") def hello(name: str = "World"): name = name.strip().title() return {"message": f"Hello {name}"} if __name__ == "__main__": uvicorn.run("main:app", reload=True)