[Python] Consiglio su web framework
Davide Muzzarelli
davide a muzzarelli.net
Mar 23 Maggio 2023 15:19:17 CEST
On 23/05/23 09:45, Giuliano Curti wrote:
> Questa è un'altra importante considerazione di cui terrò conto; è che
> ieri, iniziando a vedere genropy e flask mi sono sembrati molto
> sovradimensionati rispetto al mio obiettivo.
Se è così puoi usare semplicemente la libreria aiohttp senza alcun
framework. Non c'è nemmeno bisogno di un server web di fronte come
Nginx, anche se sarebbe più efficiente nel servire i file.
https://aiohttp.readthedocs.io/
Lo uso sia per piccoli progetti che per sistemi complessi. Non solo è
tra i più veloci ma è anche popolare, ben manutenuto e stabile.
Per monitorarlo uso Gunicorn (in modalità async con il velocissimo uvloop):
gunicorn server:app --worker-class aiohttp.GunicornUVLoopWebWorker
Dove "server" è il file "server.py" e "app" è la variabile che contiene
l'applicazione aiohttp.
In sviluppo aggiungo questo flag:
--reload
Le dipendenze che uso sono pressoché solo queste:
aiohttp
asyncpg (preferisco Postgres che è leggero anche su di un Raspberry Pi)
gunicorn (mantiene l'applicazione attiva e la riavvia se necessario)
jinja2 (template engine che uso per HTML, email e SQL)
marshmallow (per validare sia form che JSON)
uvloop (rende async ancora più veloce)
Buona giornata,
Davide Muzzarelli
Maggiori informazioni sulla lista
Python