Size: a a a

2020 September 29

AZ

Alexander Zelenyak in Moscow Python
При этом, оно ещё и сделано хреново.
источник

AZ

Alexander Zelenyak in Moscow Python
Очередной фласкоподобный фреймвок и не более того.
источник

MD

Mike Drepin in Moscow Python
Alexander Zelenyak
Я просто не въезжаю, в то, что там такого есть из коробки, что я не могу быстро запилить руками.
"а давайте прикрутим сваггер"
источник

MD

Mike Drepin in Moscow Python
источник

AZ

Alexander Zelenyak in Moscow Python
Если надо, то можно прикрутить и сваггер. Это будет сильно красивее фастапи.
источник

RN

Roman Nesytov in Moscow Python
Alexander Zelenyak
У меня в проекте все заказчики внешние бай дизайн. И тащить туда инструмент, который конфигурируется на уровне импортирования с глобальным контекстом... У меня ещё есть чувство прекрасного.
FastAPI конфигурируется на уровне импортирования с глобальным контекстом? а можно пруфы?
источник

AZ

Alexander Zelenyak in Moscow Python
источник

RN

Roman Nesytov in Moscow Python
а в чем принципиальное отличие от
from aiohttp import web

async def handle(request):
   name = request.match_info.get('name', "Anonymous")
   text = "Hello, " + name
   return web.Response(text=text)

app = web.Application()
app.add_routes([web.get('/', handle),
               web.get('/{name}', handle)])

if __name__ == '__main__':
   web.run_app(app)

?
создается инстанс апликейшена, к нему цепляются роуты
источник

AZ

Alexander Zelenyak in Moscow Python
В том, что никто в здравом уме и твёрдой памяти не плодит глобальные контексты просто потому что.
источник

AO

Andrew Onfire in Moscow Python
(но если очень хочется, то можно)
источник

AZ

Alexander Zelenyak in Moscow Python
Тот же app = web.Application() и его конфигрурация в aiohttp в норме делаются внутри main (или где-то глубже), а не на уровне модуля, чтобы его нельзя было тупо импортировать, чтобы твоить дичь.
источник

AS

Alexey Starkov in Moscow Python
а что мешает так же сделать для fastapi?
источник

AZ

Alexander Zelenyak in Moscow Python
Ты так делаешь?
источник

ПМ

Павел Мальцев... in Moscow Python
Так FastAPI даёт делать также, как и aiohttp позволяет делать то что ты показал
источник

AZ

Alexander Zelenyak in Moscow Python
Ты так делаешь?
источник

ПМ

Павел Мальцев... in Moscow Python
да
источник

ПМ

Павел Мальцев... in Moscow Python
стоп
источник

ПМ

Павел Мальцев... in Moscow Python
что делаю?))
источник

AS

Alexey Starkov in Moscow Python
Alexander Zelenyak
Ты так делаешь?
нет, мне просто интересно, я вообще никак не делаю, но концептуально web.Application() это такой же глобальный контекст, который еще и вышибает loop после выхода, и в котором нельзя поменять роуты на лету
источник

RN

Roman Nesytov in Moscow Python
Alexander Zelenyak
Тот же app = web.Application() и его конфигрурация в aiohttp в норме делаются внутри main (или где-то глубже), а не на уровне модуля, чтобы его нельзя было тупо импортировать, чтобы твоить дичь.
ну вот апп фактори
def create_app(config: Configuration) -> FastAPI:
   app = FastAPI(
       title="some_app", description="some app", exception_handlers=exception_handlers,
   )

   app.include_router(api_router, prefix="/api/v1")
   app.include_router(integrations_router, prefix="/api/v1/integrations")

   app.router.add_event_handler("startup", create_startup_handler(app))
   app.router.add_event_handler("shutdown", create_shutdown_handler(app))

   return app
источник