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

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

https://habr.com/ru/articles/1003282/

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

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

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

Хабр

[Перевод] 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

Python 3.14 без GIL: что это значит для веб-разработки

Команда Python for Devs подготовила перевод статьи о том, как "free-threaded" Python меняет правила игры для веб-сервисов. Автор сравнивает Python 3.14 с GIL и без него на реальных ASGI и WSGI...

Хабр

Problema actualizando mis servicios WSGI a Python 3.13

https://blog.jcea.es/posts/20241012-mod_wsgi_python3_13.html

#Python #WSGI #mod_wsgi

Problema actualizando mis servicios WSGI a Python 3.13

Acaba de salir Python 3.13 y, como siempre, actualizo mi código y servicios a esta nueva versión. Actualizo rápido para aprovechar las mejoras de la nueva versión de Python y porque acumular actualiza

El hilo del laberinto
🌗 Python Web 服務的未來:無 GIL 時代來臨
➤ Python 3.14 徹底改變 Web 服務效能:告別 GIL 的時代
https://blog.baro.dev/p/the-future-of-python-web-services-looks-gil-free
本文探討 Python 3.14 中對無全域直譯器鎖 (GIL) 變體的重大改進,特別是在 Web 服務方面的潛在影響。作者透過基於 FastAPI 的 ASGI 應用程式和基於 Flask 的 WSGI 應用程式進行了實際測試,比較了啟用 GIL 和停用 GIL 的 Python 3.14 版本在 JSON 請求處理和模擬 I/O 操作時的效能。測試結果顯示,儘管無 GIL 版本在處理 CPU 密集型任務時略顯緩慢,但在 I/O 密集型任務中表現相當,並顯著降低了記憶體使用量,這為 Web 開發帶來了更有效率且更具成本效益的選擇。
+ 這篇文章非常有啟發性!看到 Python 在擺脫 GIL 的道路上取
#Python #Web 服務 #GIL #Free-threaded #ASGI #WSGI
The future of Python web services looks GIL-free | Fluxus by gi0baro

Web frameworks benchmarks on CPython 3.14t looks promising

Fluxus by gi0baro

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

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

Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а...

Хабр
Na toll. #Python #wsgi wandelt UTF-8-Kodierte QUERY_STRINGS nochmal in UTF-8 um. Grr.

Built a Python library to enable HTTP method override through form parameters or headers — supports PUT, DELETE, PATCH, and more.

https://github.com/marcuxyz/wsgi_method_override

#python #wsgi #http #flask #fastapi #django

GitHub - marcuxyz/wsgi_method_override: WSGI middleware that allows HTTP method override via form parameter.

WSGI middleware that allows HTTP method override via form parameter. - marcuxyz/wsgi_method_override

GitHub

I feel like I'm so close to the finish line, by not using mod-wsgi that was packaged by the distro, in this case Alpine, and instead use #mod_wsgi from #pip.

I don't get the
segfault core dumped error anymore, which is a huge relief cos that was annoying to debug, but I can't serve my pages yet either. I got this error instead:

Truncated or oversized response headers received from daemon process 'localhost': /base/base/wsgi.py
I almost feel like
#WSGI (or #Apache) wasn't made for #Alpine in the first place considering it's absent in both docs :)))

My final boss in solving this #Django on #Alpine container thing is getting #Apache/#WSGI (mod_wsgi) working. My container runs Apache fine, I suppose, if I don't supply it any site config - but once I do (i.e. in /etc/apache2/conf.d), I'm getting Segmentation fault core dumped errors and reboots.

I'm assuming, as far as my config goes, I need to point
python-home to where my #virtualenv is, in addition to python-path to where my Django site/app is (like I do on #Ubuntu since that does not enforce the use of venv yet). But that doesn't seem to be enough, so again, in addition to apache2, apache2-mod-wsgi, and apache2-utils (and perhaps musl-dev and gcc in runtime other than just during build), what am I missing?

@doctorwhom

Oh, and if ASGI is overkill for your application - don't need high-performance async stuff - WSGI, which it is based on, is even easier to write scripts for.

#WSGI #ASGI