Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

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.3+. 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 .

1.1.0 (2017-10-10)


  • Waitress now has a __main__ and thus may be called with python -mwaitress


1.0.2 (2017-02-04)


  • Python 3.6 is now officially supported in Waitress


  • Add a work-around for libc issue on Linux not following the documented standards. If getnameinfo() fails because of DNS not being available it should return the IP address instead of the reverse DNS entry, however instead getnameinfo() raises. We catch this, and ask getnameinfo() for the same information again, explicitly asking for IP address instead of reverse DNS hostname. See and

1.0.1 (2016-10-22)


  • IPv6 support on Windows was broken due to missing constants in the socket module. This has been resolved by setting the constants on Windows if they are missing. See
  • A ValueError was raised on Windows when passing a string for the port, on Windows in Python 2 using service names instead of port numbers doesn’t work with getaddrinfo. This has been resolved by attempting to convert the port number to an integer, if that fails a ValueError will be raised. See

1.0.0 (2016-08-31)


  • Removed AI_ADDRCONFIG from the call to getaddrinfo, this resolves an issue whereby getaddrinfo wouldn’t return any addresses to bind to on hosts where there is no internet connection but localhost is requested to be bound to. See for more information.


  • Python 2.6 is no longer supported.


  • IPv6 support

  • Waitress is now able to listen on multiple sockets, including IPv4 and IPv6. Instead of passing in a host/port combination you now provide waitress with a space delineated list, and it will create as many sockets as required.

    from waitress import serve
    serve(wsgiapp, listen=' [::]:9090 *:6543')


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
waitress-1.1.0-py2.py3-none-any.whl (114.9 kB) Copy SHA256 hash SHA256 Wheel py2.py3
waitress-1.1.0.tar.gz (126.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page