waitress
Werkzeug
waitress | Werkzeug | |
---|---|---|
3 | 11 | |
1,467 | 6,688 | |
1.2% | 0.4% | |
7.8 | 9.0 | |
about 2 months ago | 6 days ago | |
Python | Python | |
GNU General Public License v3.0 or later | 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.
waitress
-
How to exit cleanly from flask and waitress running as a windows pywin32 service
I have spent hours reviewing and testing ways of making waitress exit cleanly (like this and this) but the best I can do so far is a kind of suicidal SIGINT which makes Windows complain "the pipe has been ended" when stopping through the Services control panel, but at least it stops :-/ I guess the pythonservice.exe which pywin32 starts, should not terminate, just the waitress treads?
-
what are 3 django packages everyone should know about?
Waitress - for serving your application easily (pairs very well with Whitenoise).
-
Reining in the thundering herd: Getting to 80% CPU utilization with Django
If you’re delegating your load balancing to something else further up the stack and would prefer a simpler WSGI server than Gunicorn, Waitress is worth a look: https://github.com/pylons/waitress
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?
gunicorn - gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.
uwsgi - Official uWSGI docs, examples, tutorials, tips and tricks
bjoern - A screamingly fast Python 2/3 WSGI server written in C.
Paste - Paste is in maintenance mode. Please consider other options.
netius - Readable, simple and fast asynchronous non-blocking network apps
meinheld - Meinheld is a high performance asynchronous WSGI Web Server (based on picoev)
fapws3 - Fast Asynchronous Python Web Server (based on libev)