Waitress WSGI server
Project description
Waitress is meant to be a production-quality pure-Python WSGI server with very acceptable performance. It has no dependencies except ones which live in the Python standard library. It runs on CPython on Unix and Windows under Python 2.7+ and Python 3.4+. It is also known to run on PyPy 1.6.0+ on UNIX. It supports HTTP/1.0 and HTTP/1.1.
For more information, see the “docs” directory of the Waitress package or visit https://docs.pylonsproject.org/projects/waitress/en/latest/
1.3.0 (2019-04-22)
Deprecations
The send_bytes adjustment now defaults to 1 and is deprecated pending removal in a future release. and https://github.com/Pylons/waitress/pull/246
Features
Add a new outbuf_high_watermark adjustment which is used to apply backpressure on the app_iter to avoid letting it spin faster than data can be written to the socket. This stabilizes responses that iterate quickly with a lot of data. See https://github.com/Pylons/waitress/pull/242
Stop early and close the app_iter when attempting to write to a closed socket due to a client disconnect. This should notify a long-lived streaming response when a client hangs up. See https://github.com/Pylons/waitress/pull/238 and https://github.com/Pylons/waitress/pull/240 and https://github.com/Pylons/waitress/pull/241
Adjust the flush to output SO_SNDBUF bytes instead of whatever was set in the send_bytes adjustment. send_bytes now only controls how much waitress will buffer internally before flushing to the kernel, whereas previously it used to also throttle how much data was sent to the kernel. This change enables a streaming app_iter containing small chunks to still be flushed efficiently. See https://github.com/Pylons/waitress/pull/246
Bugfixes
Upon receiving a request that does not include HTTP/1.0 or HTTP/1.1 we will no longer set the version to the string value “None”. See https://github.com/Pylons/waitress/pull/252 and https://github.com/Pylons/waitress/issues/110
When a client closes a socket unexpectedly there was potential for memory leaks in which data was written to the buffers after they were closed, causing them to reopen. See https://github.com/Pylons/waitress/pull/239
Fix the queue depth warnings to only show when all threads are busy. See https://github.com/Pylons/waitress/pull/243 and https://github.com/Pylons/waitress/pull/247
Trigger the app_iter to close as part of shutdown. This will only be noticeable for users of the internal server api. In more typical operations the server will die before benefiting from these changes. See https://github.com/Pylons/waitress/pull/245
Fix a bug in which a streaming app_iter may never cleanup data that has already been sent. This would cause buffers in waitress to grow without bounds. These buffers now properly rotate and release their data. See https://github.com/Pylons/waitress/pull/242
Fix a bug in which non-seekable subclasses of io.IOBase would trigger an exception when passed to the wsgi.file_wrapper callback. See https://github.com/Pylons/waitress/pull/249
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for waitress-1.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90fe750cd40b282fae877d3c866255d485de18e8a232e93de42ebd9fb750eebb |
|
MD5 | 7f0dbdf790d111d548240339146f27f1 |
|
BLAKE2b-256 | 41e0366785e4b9b4d212df4c3b084153bf7f5e5ab355928f5465144e5fc98494 |