home.social

#uvicorn — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #uvicorn, aggregated by home.social.

fetched live
  1. Graceful Shutdown в Python-приложениях на Kubernetes: внедрение и практический опыт

    Часто ли вы сталкиваетесь с проблемой потери данных, неконсистентными состояниями или ошибками в Sentry о внезапно закрытых соединениях при рестарте сервисов? Если вы когда-нибудь пытались это исправить, то наверняка слышали про Graceful Shutdown. Привет! Меня зовут Антон, я бэкенд-разработчик Python

    habr.com/ru/companies/selectel

    #selectel #python #kubernetes #graceful_shutdown #fastapi #flask #celery #uvicorn #gunicorn #devops

  2. Graceful Shutdown в Python-приложениях на Kubernetes: внедрение и практический опыт

    Часто ли вы сталкиваетесь с проблемой потери данных, неконсистентными состояниями или ошибками в Sentry о внезапно закрытых соединениях при рестарте сервисов? Если вы когда-нибудь пытались это исправить, то наверняка слышали про Graceful Shutdown. Привет! Меня зовут Антон, я бэкенд-разработчик Python

    habr.com/ru/companies/selectel

    #selectel #python #kubernetes #graceful_shutdown #fastapi #flask #celery #uvicorn #gunicorn #devops

  3. Graceful Shutdown в Python-приложениях на Kubernetes: внедрение и практический опыт

    Часто ли вы сталкиваетесь с проблемой потери данных, неконсистентными состояниями или ошибками в Sentry о внезапно закрытых соединениях при рестарте сервисов? Если вы когда-нибудь пытались это исправить, то наверняка слышали про Graceful Shutdown. Привет! Меня зовут Антон, я бэкенд-разработчик Python

    habr.com/ru/companies/selectel

    #selectel #python #kubernetes #graceful_shutdown #fastapi #flask #celery #uvicorn #gunicorn #devops

  4. async def или def в FastAPI: как одна строчка делает сервис в 40 раз медленнее

    В FastAPI можно объявить обработчик как async def , а можно как обычный def . Многие ставят async везде «потому что так быстрее» и спокойно вызывают внутри requests.get() или синхронный драйвер БД. Сервис при этом работает, тесты проходят, а на первой же реальной нагрузке всё встаёт колом, причём вместе с health‑check'ом. В статье разберу, что на самом деле происходит с каждым вариантом, покажу замеры и дам короткую шпаргалку, какой вариант выбирать.

    habr.com/ru/articles/1083864/

    #python #asyncio #fastapi #eventloop #threadpool #производительность #httpx #requests #uvicorn #блокирующий_код

  5. async def или def в FastAPI: как одна строчка делает сервис в 40 раз медленнее

    В FastAPI можно объявить обработчик как async def , а можно как обычный def . Многие ставят async везде «потому что так быстрее» и спокойно вызывают внутри requests.get() или синхронный драйвер БД. Сервис при этом работает, тесты проходят, а на первой же реальной нагрузке всё встаёт колом, причём вместе с health‑check'ом. В статье разберу, что на самом деле происходит с каждым вариантом, покажу замеры и дам короткую шпаргалку, какой вариант выбирать.

    habr.com/ru/articles/1083864/

    #python #asyncio #fastapi #eventloop #threadpool #производительность #httpx #requests #uvicorn #блокирующий_код

  6. async def или def в FastAPI: как одна строчка делает сервис в 40 раз медленнее

    В FastAPI можно объявить обработчик как async def , а можно как обычный def . Многие ставят async везде «потому что так быстрее» и спокойно вызывают внутри requests.get() или синхронный драйвер БД. Сервис при этом работает, тесты проходят, а на первой же реальной нагрузке всё встаёт колом, причём вместе с health‑check'ом. В статье разберу, что на самом деле происходит с каждым вариантом, покажу замеры и дам короткую шпаргалку, какой вариант выбирать.

    habr.com/ru/articles/1083864/

    #python #asyncio #fastapi #eventloop #threadpool #производительность #httpx #requests #uvicorn #блокирующий_код

  7. HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера

    Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся

    habr.com/ru/articles/1010594/

    #сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110

  8. HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера

    Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся

    habr.com/ru/articles/1010594/

    #сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110

  9. HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера

    Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся

    habr.com/ru/articles/1010594/

    #сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110

  10. От WSGI к ASGI: как Python научился работать с асинхронным вебом

    WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе. Разберем, как все это устроено. Погружаемся

    habr.com/ru/articles/1003282/

    #python #asgi #wsgi #вебсервер #asyncio #starlette #uvicorn

  11. От WSGI к ASGI: как Python научился работать с асинхронным вебом

    WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе. Разберем, как все это устроено. Погружаемся

    habr.com/ru/articles/1003282/

    #python #asgi #wsgi #вебсервер #asyncio #starlette #uvicorn

  12. От WSGI к ASGI: как Python научился работать с асинхронным вебом

    WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе. Разберем, как все это устроено. Погружаемся

    habr.com/ru/articles/1003282/

    #python #asgi #wsgi #вебсервер #asyncio #starlette #uvicorn

  13. Ваша LLM стримит в никуда: разбираемся, как работать с дисконнектами в FastAPI

    Что делает ваше FastAPI-приложение, когда клиент неожиданно закрывает соединение? По умолчанию — ничего. Если сервису важно экономить ресурсы (например, при работе с LLM), дисконнекты приходится обрабатывать явно, иначе GPU продолжит генерировать токены в пустоту. В FastAPI есть встроенные механизмы отмены обработки запроса при дисконнекте клиента. Однако просто включить их недостаточно: нужно подготовить ваш код к этому. Иначе возможны проблемы: зависшие транзакции и сломанный пул соединений с БД.

    habr.com/ru/companies/tochka/a

    #fastapi #starlette #uvicorn #стримминг #sse #дисконнекты #отмена_запроса #asgi

  14. Ваша LLM стримит в никуда: разбираемся, как работать с дисконнектами в FastAPI

    Что делает ваше FastAPI-приложение, когда клиент неожиданно закрывает соединение? По умолчанию — ничего. Если сервису важно экономить ресурсы (например, при работе с LLM), дисконнекты приходится обрабатывать явно, иначе GPU продолжит генерировать токены в пустоту. В FastAPI есть встроенные механизмы отмены обработки запроса при дисконнекте клиента. Однако просто включить их недостаточно: нужно подготовить ваш код к этому. Иначе возможны проблемы: зависшие транзакции и сломанный пул соединений с БД.

    habr.com/ru/companies/tochka/a

    #fastapi #starlette #uvicorn #стримминг #sse #дисконнекты #отмена_запроса #asgi

  15. Ваша LLM стримит в никуда: разбираемся, как работать с дисконнектами в FastAPI

    Что делает ваше FastAPI-приложение, когда клиент неожиданно закрывает соединение? По умолчанию — ничего. Если сервису важно экономить ресурсы (например, при работе с LLM), дисконнекты приходится обрабатывать явно, иначе GPU продолжит генерировать токены в пустоту. В FastAPI есть встроенные механизмы отмены обработки запроса при дисконнекте клиента. Однако просто включить их недостаточно: нужно подготовить ваш код к этому. Иначе возможны проблемы: зависшие транзакции и сломанный пул соединений с БД.

    habr.com/ru/companies/tochka/a

    #fastapi #starlette #uvicorn #стримминг #sse #дисконнекты #отмена_запроса #asgi

  16. Python (FastAPI) vs Go: нагрузочный тест и анализ производительности

    Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.

    habr.com/ru/articles/981176/

    #Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация

  17. Python (FastAPI) vs Go: нагрузочный тест и анализ производительности

    Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.

    habr.com/ru/articles/981176/

    #Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация

  18. Python (FastAPI) vs Go: нагрузочный тест и анализ производительности

    Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.

    habr.com/ru/articles/981176/

    #Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация

  19. 🚀 Dive into a hands‑on FastAPI tutorial! Learn how to spin up an ASGI app with uvicorn, validate data with pydantic, train a model on the Iris dataset using scikit‑learn, and persist it with joblib. The interactive Swagger UI makes testing a breeze. Perfect for developers looking to blend ML and modern web APIs. #FastAPI #uvicorn #scikitlearn #pydantic

    🔗 aidailypost.com/news/fastapi-t

  20. Also, #uvicorn wasn't putting a timestamp in its access logs by default, which raises the question: What the fuck?

    (Got that sorted, just thought it was incredibly weird.)

  21. Also, #uvicorn wasn't putting a timestamp in its access logs by default, which raises the question: What the fuck?

    (Got that sorted, just thought it was incredibly weird.)

  22. Also, wasn't putting a timestamp in its access logs by default, which raises the question: What the fuck?

    (Got that sorted, just thought it was incredibly weird.)

  23. Also, #uvicorn wasn't putting a timestamp in its access logs by default, which raises the question: What the fuck?

    (Got that sorted, just thought it was incredibly weird.)

  24. Also, #uvicorn wasn't putting a timestamp in its access logs by default, which raises the question: What the fuck?

    (Got that sorted, just thought it was incredibly weird.)

  25. Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году

    Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:

    habr.com/ru/articles/948190/

    #WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian

  26. Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году

    Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:

    habr.com/ru/articles/948190/

    #WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian

  27. Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году

    Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:

    habr.com/ru/articles/948190/

    #WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian

  28. Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач

    Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)

    habr.com/ru/articles/937716/

    #API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию

  29. Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач

    Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)

    habr.com/ru/articles/937716/

    #API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию

  30. Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач

    Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)

    habr.com/ru/articles/937716/

    #API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию

  31. And... Uvicorn 0.32.0 released! 😎

    ✅ Officially support for Python 3.13

    github.com/encode/uvicorn

  32. RT @marcelotryle

    Uvicorn 0.31.1 is out! 🚀

    • WebSockets 0.13.1 support
    • Restored [*] support for trusted hosts
    • PathLike[str] type hint for ssl_keyfile

    Upgrade today! 🎉

    github.com/encode/uvicorn/rele

    #Python #WebDevelopment #Uvicorn

  33. RT @marcelotryle

    Uvicorn 0.31.1 is out! 🚀

    • WebSockets 0.13.1 support
    • Restored [*] support for trusted hosts
    • PathLike[str] type hint for ssl_keyfile

    Upgrade today! 🎉

    github.com/encode/uvicorn/rele

  34. RT @marcelotryle

    Uvicorn 0.31.1 is out! 🚀

    • WebSockets 0.13.1 support
    • Restored [*] support for trusted hosts
    • PathLike[str] type hint for ssl_keyfile

    Upgrade today! 🎉

    github.com/encode/uvicorn/rele

    #Python #WebDevelopment #Uvicorn

  35. RT @marcelotryle

    Uvicorn 0.31.1 is out! 🚀

    • WebSockets 0.13.1 support
    • Restored [*] support for trusted hosts
    • PathLike[str] type hint for ssl_keyfile

    Upgrade today! 🎉

    github.com/encode/uvicorn/rele

    #Python #WebDevelopment #Uvicorn

  36. RT @marcelotryle

    Uvicorn 0.31.1 is out! 🚀

    • WebSockets 0.13.1 support
    • Restored [*] support for trusted hosts
    • PathLike[str] type hint for ssl_keyfile

    Upgrade today! 🎉

    github.com/encode/uvicorn/rele

    #Python #WebDevelopment #Uvicorn

  37. Простая настройка VPS, NGINX и FastAPI: Пошаговое руководство. Часть 1

    Привет, Хабр! Недавно я писал статью о запуске Telegram-бота на aiogram 3.x с использованием веб-хуков и FastAPI . В той статье я упустил такие важные темы, как создание FastAPI приложения, настройка NGINX, настройка VPS сервера и другие детали, которые могут затруднить работу с вебхуками для новичков. В этой публикации и в последующих, я постараюсь подробно ответить на все эти вопросы и не только. Писал максимально доступно, чтобы каждый смог разобраться. Поехали! Читать первую часть

    habr.com/ru/articles/819957/

    #vps #vpsсервер #fastapi #jinja2 #uvicorn #css #html

  38. Простая настройка VPS, NGINX и FastAPI: Пошаговое руководство. Часть 1

    Привет, Хабр! Недавно я писал статью о запуске Telegram-бота на aiogram 3.x с использованием веб-хуков и FastAPI . В той статье я упустил такие важные темы, как создание FastAPI приложения, настройка NGINX, настройка VPS сервера и другие детали, которые могут затруднить работу с вебхуками для новичков. В этой публикации и в последующих, я постараюсь подробно ответить на все эти вопросы и не только. Писал максимально доступно, чтобы каждый смог разобраться. Поехали! Читать первую часть

    habr.com/ru/articles/819957/

    #vps #vpsсервер #fastapi #jinja2 #uvicorn #css #html

  39. Простая настройка VPS, NGINX и FastAPI: Пошаговое руководство. Часть 1

    Привет, Хабр! Недавно я писал статью о запуске Telegram-бота на aiogram 3.x с использованием веб-хуков и FastAPI . В той статье я упустил такие важные темы, как создание FastAPI приложения, настройка NGINX, настройка VPS сервера и другие детали, которые могут затруднить работу с вебхуками для новичков. В этой публикации и в последующих, я постараюсь подробно ответить на все эти вопросы и не только. Писал максимально доступно, чтобы каждый смог разобраться. Поехали! Читать первую часть

    habr.com/ru/articles/819957/

    #vps #vpsсервер #fastapi #jinja2 #uvicorn #css #html

  40. I’ve been trying to configure nginx on my VPS to get Python + FastAPI + Uvicorn app working via HTTPS.
    It was a little bit strange experience and took about four evenings.

    Finally, i found a solution. And wrote a small howto just in case somebody (ex. me in the future) faces the same problem.

    text.tchncs.de/alexanderniki/p

    #python #fastapi #uvicorn #nginx #https #ssl #letsencrypt #howto #guide

  41. I’ve been trying to configure nginx on my VPS to get Python + FastAPI + Uvicorn app working via HTTPS.
    It was a little bit strange experience and took about four evenings.

    Finally, i found a solution. And wrote a small howto just in case somebody (ex. me in the future) faces the same problem.

    text.tchncs.de/alexanderniki/p

    #python #fastapi #uvicorn #nginx #https #ssl #letsencrypt #howto #guide

  42. I’ve been trying to configure nginx on my VPS to get Python + FastAPI + Uvicorn app working via HTTPS.
    It was a little bit strange experience and took about four evenings.

    Finally, i found a solution. And wrote a small howto just in case somebody (ex. me in the future) faces the same problem.

    text.tchncs.de/alexanderniki/p

    #python #fastapi #uvicorn #nginx #https #ssl #letsencrypt #howto #guide

  43. I’ve been trying to configure nginx on my VPS to get Python + FastAPI + Uvicorn app working via HTTPS.
    It was a little bit strange experience and took about four evenings.

    Finally, i found a solution. And wrote a small howto just in case somebody (ex. me in the future) faces the same problem.

    text.tchncs.de/alexanderniki/p

    #python #fastapi #uvicorn #nginx #https #ssl #letsencrypt #howto #guide

  44. I’ve been trying to configure nginx on my VPS to get Python + FastAPI + Uvicorn app working via HTTPS.
    It was a little bit strange experience and took about four evenings.

    Finally, i found a solution. And wrote a small howto just in case somebody (ex. me in the future) faces the same problem.

    text.tchncs.de/alexanderniki/p

  45. Should I add the `async` keyword to my API methods that call opensearch, redis, postgres, & other microservices?

    context:
    #connexion + #starlette + #uvicorn + #gunicorn + supervisord, #python 3.12

    #asyncio

  46. Should I add the `async` keyword to my API methods that call opensearch, redis, postgres, & other microservices?

    context:
    #connexion + #starlette + #uvicorn + #gunicorn + supervisord, #python 3.12

    #asyncio

  47. Should I add the `async` keyword to my API methods that call opensearch, redis, postgres, & other microservices?

    context:
    #connexion + #starlette + #uvicorn + #gunicorn + supervisord, #python 3.12

    #asyncio

  48. Should I add the `async` keyword to my API methods that call opensearch, redis, postgres, & other microservices?

    context:
    #connexion + #starlette + #uvicorn + #gunicorn + supervisord, #python 3.12

    #asyncio

  49. Should I add the `async` keyword to my API methods that call opensearch, redis, postgres, & other microservices?

    context:
    #connexion + #starlette + #uvicorn + #gunicorn + supervisord, #python 3.12

    #asyncio

  50. There's a #Python package called #WatchDog. It provides an API to "monitor file system events", and has a bunch of reverse dependencies. Historically these included #uvicorn.

    In 2020, uvicorn replaced WatchDog with #WatchGod. If I recall correctly, it was the only package to use it in #Gentoo.

    In 2022, WatchGod was abandoned, or rather rewritten in #RustLang as #WatchFiles. Uvicorn followed suit, removing WatchGod support (just like WatchDog support was removed before) in favor of WatchFiles.

    Today, WatchFiles is used by 2 Gentoo packages: uvicorn and pelican. It has known incompatibilities with anyio >= 4 that hasn't gotten any upstream attention in 2 months now. WatchFiles seems pretty much unmaintained at this point.

    In the meantime, WatchDog has had a release a few days ago and doesn't need any blockers.

    #NIH