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. 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 #блокирующий_код

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

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

    habr.com/ru/articles/1010594/

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

  4. От 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

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

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

    habr.com/ru/companies/tochka/a

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

  6. 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 #производительность #серверная_оптимизация

  7. 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.)

  8. Обзор 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

  9. FastAPI Tutorial with Python | Create Your First Hello World API Step by Step

    makertube.net/w/cEztWawtERRrDY

  10. Хватит тестировать на «кошках»! Разворачиваем циничный 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юмор #обучение_программированию

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

    #API #тестирование #API #AQA #автоматизация #тестирования #Python #fastapi #swagger #uvicorn #it-юмор

    Origin | Interest | Match
  12. And... Uvicorn 0.32.0 released! 😎

    ✅ Officially support for Python 3.13

    github.com/encode/uvicorn

  13. 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

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

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

    habr.com/ru/articles/819957/

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

  15. 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

  16. 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

  17. Jest sobie paczka Pythona o nazwie #WatchDog. Dostarcza API do "monitorowania zdarzeń systemu plików", i jest używana przez kilka innych paczek. Dawniej jedną z nich był #uvicorn.

    W roku 2020, uvicorn zastąpił zależność od WatchDoga paczką #WatchGod. Jeżeli dobrze pamiętam, nic innego w #Gentoo nie używało nigdy WatchGoda.

    W roku 2022, WatchGoda porzucono, a właściwie przepisano w Ruście jako #WatchFiles. Oczywiście, uvicorn podążył za tą zmianą, i usunięto wsparcie WatchGoda (tak jak poprzednio usunięto wsparcie WatchDoga) na rzecz WatchFiles.

    Dziś, WatchFiles używane jest przez 2 paczki w Gentoo: uvicorn i pelican. Ma znaną niezgodność z anyio >= 4, która nie doczekała się reakcji autora już drugi miesiąc. Wydaje się, jakby projekt WatchFiles był porzucony.

    W międzyczasie, WatchDog doczekał się kilka dni temu kolejnego wydania, i wciąż nie sprawia żadnych problemów.

    #Python #RustLang #NIH

  18. 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

  19. Uvicorn 0.24.0 has been released 🦄

    Uvicorn is an ASGI web server implementation for Python. 🐍

    New features are: ✨
    • Add support for Python 3.12
    • Allow setting app via environment variable UVICORN_APP

    github.com/encode/uvicorn/rele

  20. Finally finished migrating my website hadi.timachi.com from an old :django: version to a website generated from static :emacs: / / files with photogallery support and served by :python: / 🙂 . The code can be found at codeberg.org/haditim/SereServe

  21. Spent an hour debugging #Uvicorn’s live reloading behavior, trying to keep it from watching certain subdirectories (turns out you can’t) 🙄
    github.com/encode/uvicorn/disc

    #Python #FastAPI

  22. I built something small today which I thought I’d share here. It’s a really simple app that you can use as a place to send requests to and inspect them - helpful when the request is going to be sent from a server and you don’t have access to the network tab in dev tools.

    github.com/RatulMaharaj/fast-r

  23. Res, no em motivo...he començat a aprendre #FastAPI però quan ja tenia funcionant #uvicorn i en el navegador he vist el "hola món", una mandra infinita s'ha apoderat de mi i ho he deixat estar...

  24. I've been looking at options. I think I'm going to give a try. It looks pretty interesting, and uses that new fangled ASGI protocol.

    Being from the Midwest, I feel almost obligated to use over .

  25. TILD;

    Running #uvicorn inside a container?

    Make sure you add param `--host 0.0.0.0`.

    Obvious in retrospect. (like most things)

Share
Share on Mastodon

Enter the server where you have an account.