Name Date Size

..27-Apr.-20224 KiB

.editorconfigH A D13-Jul.-2020217

.gitattributesH A D13-Jul.-2020186

.github/H28-Apr.-20214 KiB

.gitignoreH A D10-Jan.-2021252

.pre-commit-config.yamlH A D10-May-20211 KiB

.readthedocs.yamlH A D24-Feb.-2021155

artwork/H13-Jul.-20204 KiB

CHANGES.rstH A D16-Apr.-202188.2 KiB

CODE_OF_CONDUCT.mdH A D13-Jul.-20203.3 KiB

CONTRIBUTING.rstH A D16-Feb.-20216.4 KiB

docs/H15-Apr.-20214 KiB

examples/H24-Apr.-20214 KiB

LICENSE.rstH A D13-Jul.-20201.4 KiB

MANIFEST.inH A D24-Feb.-2021243

README.rstH A D24-Feb.-20212.8 KiB

requirements/H28-Apr.-20214 KiB

setup.cfgH A D11-May-20213.2 KiB

setup.pyH A D16-Feb.-2021245

src/werkzeug/H13-Jul.-20204 KiB

tests/H04-May-20214 KiB

tox.iniH A D24-Feb.-2021538

README.rst

1Werkzeug
2========
3
4*werkzeug* German noun: "tool". Etymology: *werk* ("work"), *zeug* ("stuff")
5
6Werkzeug is a comprehensive `WSGI`_ web application library. It began as
7a simple collection of various utilities for WSGI applications and has
8become one of the most advanced WSGI utility libraries.
9
10It includes:
11
12-   An interactive debugger that allows inspecting stack traces and
13    source code in the browser with an interactive interpreter for any
14    frame in the stack.
15-   A full-featured request object with objects to interact with
16    headers, query args, form data, files, and cookies.
17-   A response object that can wrap other WSGI applications and handle
18    streaming data.
19-   A routing system for matching URLs to endpoints and generating URLs
20    for endpoints, with an extensible system for capturing variables
21    from URLs.
22-   HTTP utilities to handle entity tags, cache control, dates, user
23    agents, cookies, files, and more.
24-   A threaded WSGI server for use while developing applications
25    locally.
26-   A test client for simulating HTTP requests during testing without
27    requiring running a server.
28
29Werkzeug doesn't enforce any dependencies. It is up to the developer to
30choose a template engine, database adapter, and even how to handle
31requests. It can be used to build all sorts of end user applications
32such as blogs, wikis, or bulletin boards.
33
34`Flask`_ wraps Werkzeug, using it to handle the details of WSGI while
35providing more structure and patterns for defining powerful
36applications.
37
38.. _WSGI: https://wsgi.readthedocs.io/en/latest/
39.. _Flask: https://www.palletsprojects.com/p/flask/
40
41
42Installing
43----------
44
45Install and update using `pip`_:
46
47.. code-block:: text
48
49    pip install -U Werkzeug
50
51.. _pip: https://pip.pypa.io/en/stable/quickstart/
52
53
54A Simple Example
55----------------
56
57.. code-block:: python
58
59    from werkzeug.wrappers import Request, Response
60
61    @Request.application
62    def application(request):
63        return Response('Hello, World!')
64
65    if __name__ == '__main__':
66        from werkzeug.serving import run_simple
67        run_simple('localhost', 4000, application)
68
69
70Donate
71------
72
73The Pallets organization develops and supports Werkzeug and other
74popular packages. In order to grow the community of contributors and
75users, and allow the maintainers to devote more time to the projects,
76`please donate today`_.
77
78.. _please donate today: https://palletsprojects.com/donate
79
80
81Links
82-----
83
84-   Documentation: https://werkzeug.palletsprojects.com/
85-   Changes: https://werkzeug.palletsprojects.com/changes/
86-   PyPI Releases: https://pypi.org/project/Werkzeug/
87-   Source Code: https://github.com/pallets/werkzeug/
88-   Issue Tracker: https://github.com/pallets/werkzeug/issues/
89-   Website: https://palletsprojects.com/p/werkzeug/
90-   Twitter: https://twitter.com/PalletsTeam
91-   Chat: https://discord.gg/pallets
92