#asgi — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #asgi, aggregated by home.social.
-
Я написал ASGI-фреймворк, в котором дерево папок — это и есть API
Несколько месяцев пилил pet-проект, который зашёл дальше, чем планировал: файловый ASGI-фреймворк, где дерево папок — это и есть таблица роутов. Сегодня вышла версия 1.0 — с адверсариальным security-аудитом (нашёл у себя pickle RCE и CSWSH), 2329 тестами и нативным async на PostgreSQL. Рассказываю, что внутри и что было больнее всего сделать правильно. Узнать подробнее об EndoCore
https://habr.com/ru/articles/1062742/
#python #asgi #вебфреймворк #orm #postgresql #open_source #безопасность #тестирование #бэкенд
-
Я сделал ASGI-фреймворк, где дерево папок — и есть API
Рассказываю, как я сам сделал ASGI-фреймворк, в котором дерево папок заменяет таблицу маршрутов, — и почему это решает проблему расхождения роутов с кодом. Разбираю встроенную безопасную ORM, показываю на примерах, как версионирование превращается в копирование папки, и честно привожу гоночные тесты на реальной конкурентности. Узнать больше про EndoCore
https://habr.com/ru/articles/1062686/
#python #asgi #orm #backend #opensource #вебразработка #фреймворк
-
Just released multipart-2.0.0 to #pypi.
This is a fast and robust #Python parser for multipart/form-data (HTTP form requests) supporting both non-blocking #ASGI and blocking #WSGI applications.
changelog: https://multipart.readthedocs.io/en/latest/changelog.html#release-2-0
pypi: https://pypi.org/project/multipart/
And when I say 'fast' I mean it: https://defnull.de/2026/python-multipart-benchmark/
-
The last few weeks I have spent some time optimizing https://github.com/defnull/multipart which is already one of the fastest python multipart parsers out there.
Result: The next release will be 27-53% faster in the most important benchmark scenarios and 25% faster on average across all tested scenarios. That's a HUGE improvement. It can now parse roughly 10GB of file uploads or 280.000 small text fields per second per core on my 7 years old Ryzen 5 3600 :awesome:
-
Хватит дублировать валидацию в Django: как я подружил Pydantic с ORM и перестал страдать
Представь: ты пишешь научный сервис. Есть модель исследователя, у которой h_index не может быть отрицательным. Ты, как добросовестный разработчик, описываешь это правило в Pydantic-схеме красиво, строго, типизированно. А потом начинается ад: те же самые «не может быть отрицательным» ты вынужден повторять в DRF-сериализаторе, в Django-форме, а если ещё и админку кастомизируешь то и там. Три, пять, десять мест, где разбросана одна и та же бизнес-логика. Знакомо? У меня эта боль копилась годами, пока я не сказал «хватит» и не написал django-nova фреймворк, который делает Pydantic единственным источником правды для всей экосистемы Django. Давай разберёмся, как удалось объединить эти две вселенные без боли, циклических импортов и магии, которая ломается на каждом обновлении Python.
https://habr.com/ru/articles/1046880/
#Django #Python #Django_Nova #FastAPI #Pydantic #асинхронное_программирование #ASGI #PostgreSQL #ORM #вебразработка
-
От WSGI к ASGI: как Python научился работать с асинхронным вебом
WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе. Разберем, как все это устроено. Погружаемся
-
Ваша LLM стримит в никуда: разбираемся, как работать с дисконнектами в FastAPI
Что делает ваше FastAPI-приложение, когда клиент неожиданно закрывает соединение? По умолчанию — ничего. Если сервису важно экономить ресурсы (например, при работе с LLM), дисконнекты приходится обрабатывать явно, иначе GPU продолжит генерировать токены в пустоту. В FastAPI есть встроенные механизмы отмены обработки запроса при дисконнекте клиента. Однако просто включить их недостаточно: нужно подготовить ваш код к этому. Иначе возможны проблемы: зависшие транзакции и сломанный пул соединений с БД.
https://habr.com/ru/companies/tochka/articles/992134/
#fastapi #starlette #uvicorn #стримминг #sse #дисконнекты #отмена_запроса #asgi
-
[Перевод] Python 3.14 без GIL: что это значит для веб-разработки
Команда Python for Devs подготовила перевод статьи о том, как "free-threaded" Python меняет правила игры для веб-сервисов. Автор сравнивает Python 3.14 с GIL и без него на реальных ASGI и WSGI приложениях — и приходит к неожиданному выводу: несмотря на локальные просадки в производительности, "free-threaded" Python уже сейчас может упростить масштабирование и снизить накладные расходы.
https://habr.com/ru/articles/967244/
#Python #GIL #freethreading #вебсервисы #ASGI #WSGI #производительность #конкурентность #Granian #FastAPI
-
Практическое тестирование приложений
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим
https://habr.com/ru/articles/958014/
#python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest
-
Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году
Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:
https://habr.com/ru/articles/948190/
#WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian