METADATA 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. Metadata-Version: 2.4
  2. Name: Werkzeug
  3. Version: 3.1.7
  4. Summary: The comprehensive WSGI web application library.
  5. Maintainer-email: Pallets <contact@palletsprojects.com>
  6. Requires-Python: >=3.9
  7. Description-Content-Type: text/markdown
  8. License-Expression: BSD-3-Clause
  9. Classifier: Development Status :: 5 - Production/Stable
  10. Classifier: Environment :: Web Environment
  11. Classifier: Intended Audience :: Developers
  12. Classifier: Operating System :: OS Independent
  13. Classifier: Programming Language :: Python
  14. Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
  15. Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
  16. Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
  17. Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
  18. Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
  19. Classifier: Typing :: Typed
  20. License-File: LICENSE.txt
  21. Requires-Dist: markupsafe>=2.1.1
  22. Requires-Dist: watchdog>=2.3 ; extra == "watchdog"
  23. Project-URL: Changes, https://werkzeug.palletsprojects.com/page/changes/
  24. Project-URL: Chat, https://discord.gg/pallets
  25. Project-URL: Documentation, https://werkzeug.palletsprojects.com/
  26. Project-URL: Donate, https://palletsprojects.com/donate
  27. Project-URL: Source, https://github.com/pallets/werkzeug/
  28. Provides-Extra: watchdog
  29. <div align="center"><img src="https://raw.githubusercontent.com/pallets/werkzeug/refs/heads/stable/docs/_static/werkzeug-name.svg" alt="" height="150"></div>
  30. # Werkzeug
  31. *werkzeug* German noun: "tool". Etymology: *werk* ("work"), *zeug* ("stuff")
  32. Werkzeug is a comprehensive [WSGI][] web application library. It began as
  33. a simple collection of various utilities for WSGI applications and has
  34. become one of the most advanced WSGI utility libraries.
  35. It includes:
  36. - An interactive debugger that allows inspecting stack traces and
  37. source code in the browser with an interactive interpreter for any
  38. frame in the stack.
  39. - A full-featured request object with objects to interact with
  40. headers, query args, form data, files, and cookies.
  41. - A response object that can wrap other WSGI applications and handle
  42. streaming data.
  43. - A routing system for matching URLs to endpoints and generating URLs
  44. for endpoints, with an extensible system for capturing variables
  45. from URLs.
  46. - HTTP utilities to handle entity tags, cache control, dates, user
  47. agents, cookies, files, and more.
  48. - A threaded WSGI server for use while developing applications
  49. locally.
  50. - A test client for simulating HTTP requests during testing without
  51. requiring running a server.
  52. Werkzeug doesn't enforce any dependencies. It is up to the developer to
  53. choose a template engine, database adapter, and even how to handle
  54. requests. It can be used to build all sorts of end user applications
  55. such as blogs, wikis, or bulletin boards.
  56. [Flask][] wraps Werkzeug, using it to handle the details of WSGI while
  57. providing more structure and patterns for defining powerful
  58. applications.
  59. [WSGI]: https://wsgi.readthedocs.io/en/latest/
  60. [Flask]: https://www.palletsprojects.com/p/flask/
  61. ## A Simple Example
  62. ```python
  63. # save this as app.py
  64. from werkzeug.wrappers import Request, Response
  65. @Request.application
  66. def application(request: Request) -> Response:
  67. return Response("Hello, World!")
  68. if __name__ == "__main__":
  69. from werkzeug.serving import run_simple
  70. run_simple("127.0.0.1", 5000, application)
  71. ```
  72. ```
  73. $ python -m app
  74. * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
  75. ```
  76. ## Donate
  77. The Pallets organization develops and supports Werkzeug and other
  78. popular packages. In order to grow the community of contributors and
  79. users, and allow the maintainers to devote more time to the projects,
  80. [please donate today][].
  81. [please donate today]: https://palletsprojects.com/donate
  82. ## Contributing
  83. See our [detailed contributing documentation][contrib] for many ways to
  84. contribute, including reporting issues, requesting features, asking or answering
  85. questions, and making PRs.
  86. [contrib]: https://palletsprojects.com/contributing/