100 lines
3.6 KiB
Plaintext
100 lines
3.6 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: Werkzeug
|
|
Version: 3.0.4
|
|
Summary: The comprehensive WSGI web application library.
|
|
Maintainer-email: Pallets <contact@palletsprojects.com>
|
|
Requires-Python: >=3.8
|
|
Description-Content-Type: text/markdown
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: Environment :: Web Environment
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: BSD License
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: Programming Language :: Python
|
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
|
|
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
|
|
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
|
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
Classifier: Typing :: Typed
|
|
Requires-Dist: MarkupSafe>=2.1.1
|
|
Requires-Dist: watchdog>=2.3 ; extra == "watchdog"
|
|
Project-URL: Changes, https://werkzeug.palletsprojects.com/changes/
|
|
Project-URL: Chat, https://discord.gg/pallets
|
|
Project-URL: Documentation, https://werkzeug.palletsprojects.com/
|
|
Project-URL: Donate, https://palletsprojects.com/donate
|
|
Project-URL: Issue Tracker, https://github.com/pallets/werkzeug/issues/
|
|
Project-URL: Source Code, https://github.com/pallets/werkzeug/
|
|
Provides-Extra: watchdog
|
|
|
|
# Werkzeug
|
|
|
|
*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:
|
|
|
|
- An interactive debugger that allows inspecting stack traces and
|
|
source code in the browser with an interactive interpreter for any
|
|
frame in the stack.
|
|
- A full-featured request object with objects to interact with
|
|
headers, query args, form data, files, and cookies.
|
|
- A response object that can wrap other WSGI applications and handle
|
|
streaming data.
|
|
- A routing system for matching URLs to endpoints and generating URLs
|
|
for endpoints, with an extensible system for capturing variables
|
|
from URLs.
|
|
- HTTP utilities to handle entity tags, cache control, dates, user
|
|
agents, cookies, files, and more.
|
|
- A threaded WSGI server for use while developing applications
|
|
locally.
|
|
- A test client for simulating HTTP requests during testing without
|
|
requiring running a server.
|
|
|
|
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.
|
|
|
|
[WSGI]: https://wsgi.readthedocs.io/en/latest/
|
|
[Flask]: https://www.palletsprojects.com/p/flask/
|
|
|
|
|
|
## A Simple Example
|
|
|
|
```python
|
|
# 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)
|
|
```
|
|
|
|
|
|
## Donate
|
|
|
|
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][].
|
|
|
|
[please donate today]: https://palletsprojects.com/donate
|
|
|