quart
Werkzeug
Our great sponsors
quart | Werkzeug | |
---|---|---|
5 | 11 | |
2,616 | 6,539 | |
3.9% | 0.4% | |
8.0 | 8.5 | |
27 days ago | 6 days ago | |
Python | Python | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
quart
-
Ask HN: What have you created that deserves a second chance on HN?
I've three things :),
1. Quart, https://quart.palletsprojects.com, an ASGI (async/await) re-implementation of the Python web MicroFramework Flask. It is now maintained alongside, by the same people, as Flask.
2. Hypercorn, https://hypercorn.readthedocs.io, an ASGI/WSGI server that supports HTTP/1, HTTP/2, and HTTP/3.
3. My book "A Blueprint for Production-Ready Web Applications", which uses both of the above and shows a beginner how to build a full stack app (React frontend) running on AWS. See https://pgjones.dev/tozo/ for details, code, and link to the example app.
-
How does a single running instance of a Flask application handle multiple requests at once? Is it all async or multithreaded? Or handled by the webserver (NGINX, gunicorn, etc)?
If you want async flask, you should use quart for now. The roadmap is to fully incorporate quart into flask at some point, but it’s unclear when that’s going to happen.
-
This Week In Python
quart – An async Python micro framework for building web applications
- Quart: An async Python micro framework for building web applications
- Quart, the async implementation of Flask has joined Pallets
Werkzeug
-
Flask like web framework under 100 lines of code
The angle brackets on their own should be a sign that this is not the case, because that's not regular expression syntax. Flask uses werkzeug.routing instead. In fact, the module docs specifically call out the difference:
-
Django or Flask and why?
Flask doesn’t support ASGI; neither does Werkzeug. The official guidance for running Flask with an ASGI server is to wrap it in middleware. The open GitHub issue for Werkzeug to support ASGI is #1322.
-
Creating a ‘ghost’ website?
But this may be a starting point: https://github.com/pallets/werkzeug/blob/main/src/werkzeug/middleware/http_proxy.py
-
I found (and fixed) a vulnerability in Python
> In this case, he initially presumed that the problem would be with Flask, Bottle, and Tornado still honoring a semi-colon as a separator in a uri
Flask (or rather Werkzeug what it's based on) removed implicit semicolon support for URL 13 years ago: https://github.com/pallets/werkzeug/commit/0ea28bbc6f5f05eef...
-
PEP 661 -- Sentinel Values
Werkzeug (library used by Flask) had a repr for its sentinel long before getting type annotations.
-
New Versions Released! Flask 2.0 with async
Flask getting async support is a huge step for the asyncio web ecosystem in Python. I wonder how Flask's ASGI support will evolve in parallel with Quart[1] which bills itself as the ASGI version of Flask and is maintained by a member of the Pallets team. One of the maintainers of Werkzeug even recommended using Quart[2]
[1] https://pgjones.gitlab.io/quart/
[2] https://github.com/pallets/werkzeug/issues/1322#issuecomment...
-
Disable Color from the log that flaak produce
I’m pretty sure you need to establish a ‘werkzeug’ logger in a logging configuration and make sure that it has a handler for its effective level. But that’s just what I got from reading the source code. I could very well be wrong
-
logging: how to modify debug messages
You're not able to change the loglevel with werkzeug. It's hardcoded to info: https://github.com/pallets/werkzeug/blob/72b2e48e7d44927b1b7d6b2f940d0691230de893/src/werkzeug/serving.py#L388
-
15x speedup for flask/werkzeug form multipart file upload with bytes.find() and bytes.rindex()
The PRs are this initial one and this update. Also note this issue - almost 5 years to close :o.
What are some alternatives?
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
gunicorn - gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.
Flask - The Python micro framework for building web applications.
waitress - Waitress - A WSGI server for Python 3
starlette - The little ASGI framework that shines. 🌟
uwsgi - Official uWSGI docs, examples, tutorials, tips and tricks
flask-pydantic - flask extension for integration with the awesome pydantic package
bjoern - A screamingly fast Python 2/3 WSGI server written in C.
flask-smorest - DB agnostic framework to build auto-documented REST APIs with Flask and marshmallow
Paste - Paste is in maintenance mode. Please consider other options.
django-awl - Miscellaneous django tools
flask - The Python micro framework for building web applications. [Moved to: https://github.com/pallets/flask]