werkzeug German noun: "tool". Etymology: werk ("work"), zeug ("stuff")
Werkzeug is a comprehensive WSGI web application library. It began as a simple collection of various utilities for WSGI applications and has become one of the most advanced WSGI utility libraries.
It includes:
Werkzeug doesn't enforce any dependencies. It is up to the developer to choose a template engine, database adapter, and even how to handle requests. It can be used to build all sorts of end user applications such as blogs, wikis, or bulletin boards.
Flask wraps Werkzeug, using it to handle the details of WSGI while providing more structure and patterns for defining powerful applications.
# save this as app.py
from werkzeug.wrappers import Request, Response
@Request.application
def application(request: Request) -> Response:
return Response("Hello, World!")
if __name__ == "__main__":
from werkzeug.serving import run_simple
run_simple("127.0.0.1", 5000, application)
$ python -m app
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
The Pallets organization develops and supports Werkzeug and other popular packages. In order to grow the community of contributors and users, and allow the maintainers to devote more time to the projects, please donate today.