Waitress is a production-quality pure-Python WSGI server with a focus on simplicity and reliability. It's actively maintained by the Pylons Project, receiving frequent updates to support new Python versions and address security concerns. The current version is 3.0.2.
pip install waitressVerified import paths — ran on the pinned version, not inferred.
This example demonstrates how to serve a minimal WSGI application using Waitress. It defines a simple WSGI callable `simple_app` and then uses `waitress.serve()` to run it on `127.0.0.1:8080`.
Upgrade your Python environment to 3.9 or newer. Python 3.13 is supported from v3.0.1.
Review your application's reliance on `X-Forwarded-For`, `X-Forwarded-Proto`, etc. when `trusted_proxy_headers` is enabled. Ensure your proxy configuration and application logic are compatible with Waitress's new, stricter header processing.
Ensure client requests adhere to HTTP/1.0 or HTTP/1.1 specifications for methods and versions. Clients sending non-standard or malformed requests may need updates.
When calling `waitress.serve()`, pass `host='0.0.0.0'` (to bind to all available public interfaces) or the specific public IP address you want to bind to, e.g., `serve(app, host='0.0.0.0', port=8080)`.
Rename your script to avoid naming conflicts, e.g., 'app_server.py'.
Upgrade 'python-dateutil' to the latest version using 'pip install --upgrade python-dateutil'.
Ensure the module path is correct and accessible, and verify the module name is spelled correctly.
Increase the number of threads in Waitress to handle more concurrent requests, e.g., 'serve(app, threads=4)'.
Ensure the WSGI application object is correctly defined and accessible in your module.
No dependency data recorded yet.