done
This commit is contained in:
@ -0,0 +1 @@
|
||||
uv
|
@ -0,0 +1,28 @@
|
||||
Copyright 2007 Pallets
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
||||
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@ -0,0 +1,99 @@
|
||||
Metadata-Version: 2.3
|
||||
Name: Werkzeug
|
||||
Version: 3.1.3
|
||||
Summary: The comprehensive WSGI web application library.
|
||||
Maintainer-email: Pallets <contact@palletsprojects.com>
|
||||
Requires-Python: >=3.9
|
||||
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
|
||||
|
65
lib/python3.11/site-packages/werkzeug-3.1.3.dist-info/RECORD
Normal file
65
lib/python3.11/site-packages/werkzeug-3.1.3.dist-info/RECORD
Normal file
@ -0,0 +1,65 @@
|
||||
werkzeug-3.1.3.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
|
||||
werkzeug-3.1.3.dist-info/LICENSE.txt,sha256=O0nc7kEF6ze6wQ-vG-JgQI_oXSUrjp3y4JefweCUQ3s,1475
|
||||
werkzeug-3.1.3.dist-info/METADATA,sha256=9d8uO6J-ck8mHyFjxFUs5nCVy5iN3XdTYcJfz2QBr0I,3682
|
||||
werkzeug-3.1.3.dist-info/RECORD,,
|
||||
werkzeug-3.1.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
werkzeug-3.1.3.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
||||
werkzeug/__init__.py,sha256=CejNWfCZKDaJ_FmshZFw8dFgjNAlu6q15ec7DwWJlM8,165
|
||||
werkzeug/_internal.py,sha256=su1olkbHMkzt0VKcEkPLCha8sdVzXNBuqW6YVpp8GHg,5545
|
||||
werkzeug/_reloader.py,sha256=QuMO-UwuD-cHsUpwSEUr7iYNbv_ziHFhgNDAiv25J80,15429
|
||||
werkzeug/datastructures/__init__.py,sha256=0Vt8Lt8KUYSoAe8ADt1jIE-w3Ib9tkrk0HEhBOktqUw,2615
|
||||
werkzeug/datastructures/accept.py,sha256=xoDD4qwZeTjew_1Ze0gyyKWkbhtowwR5tHTWnobPeGI,12177
|
||||
werkzeug/datastructures/auth.py,sha256=Zcqdr8-uUpq6_czg1672S2XthG0UakhUHOuummzqz64,10055
|
||||
werkzeug/datastructures/cache_control.py,sha256=hh-0nlj8CWDTrWcDvprMkmHZ8HW_Afo4853vl0LuFU4,9697
|
||||
werkzeug/datastructures/csp.py,sha256=2UDhFNqBzjhpA45m11HDg6LnhBSSWWdkfFzPq7ikfho,3816
|
||||
werkzeug/datastructures/etag.py,sha256=N2dFqhFsLR0k5hgjol3QTGpcSltJhpgLWeyz6Va80G8,3278
|
||||
werkzeug/datastructures/file_storage.py,sha256=2P-4PEkR_kY37g3hc1S30YH_15VrwRnQ13sBFreZyc4,6701
|
||||
werkzeug/datastructures/headers.py,sha256=_VjcQCrLxjNKxPL8xSoFnEJnZ5tRc1zdL9spQf4c758,21554
|
||||
werkzeug/datastructures/mixins.py,sha256=sYJeA8kZuAOvzlfrRWRN2dyuNrBev4yFxWH8coZyrec,9027
|
||||
werkzeug/datastructures/range.py,sha256=5c1Mo5jBkkVhQyLoD9lPdjETKo0iw9g-lFYOqF1ZQvY,7020
|
||||
werkzeug/datastructures/structures.py,sha256=IG5WpAj5RZSUfyxYXXHvIgtlOx5PQeZ9YmQO87FJr08,41359
|
||||
werkzeug/debug/__init__.py,sha256=80vaavVZYwV21ItrsOLQudEUi2uKDlxcjm5cCmeU1u4,20016
|
||||
werkzeug/debug/console.py,sha256=t4hZ0Qg1p6Uu2MWimqoMDi7S3WYZvLMjnc8v_dPaxAo,6089
|
||||
werkzeug/debug/repr.py,sha256=iHMYny8whiiMDasvUqj0nm4-1VHVvwe697KleiZVK1s,9303
|
||||
werkzeug/debug/shared/ICON_LICENSE.md,sha256=DhA6Y1gUl5Jwfg0NFN9Rj4VWITt8tUx0IvdGf0ux9-s,222
|
||||
werkzeug/debug/shared/console.png,sha256=bxax6RXXlvOij_KeqvSNX0ojJf83YbnZ7my-3Gx9w2A,507
|
||||
werkzeug/debug/shared/debugger.js,sha256=SRL9YZ9FTVngaYD-INQNincEVdZ-kBHa_-VJx0U7-rg,10068
|
||||
werkzeug/debug/shared/less.png,sha256=-4-kNRaXJSONVLahrQKUxMwXGm9R4OnZ9SxDGpHlIR4,191
|
||||
werkzeug/debug/shared/more.png,sha256=GngN7CioHQoV58rH6ojnkYi8c_qED2Aka5FO5UXrReY,200
|
||||
werkzeug/debug/shared/style.css,sha256=-xSxzUEZGw_IqlDR5iZxitNl8LQUjBM-_Y4UAvXVH8g,6078
|
||||
werkzeug/debug/tbtools.py,sha256=4JDhZT_2gm9sMgfiMieEyxRsV196i3kp_0b3MOjy1KY,13560
|
||||
werkzeug/exceptions.py,sha256=cpwKKTfe1_yFrBpRHjp2bqwDhtUdHnGoDKcWOXR_SIE,26455
|
||||
werkzeug/formparser.py,sha256=v0-F9OcmNHuPLqXePW_b0asWzpH-Z_ZlGj8ao0CMmuo,15847
|
||||
werkzeug/http.py,sha256=PRpjIrbvIIiAMlmxwVIo9MMxaNX8vSOSn58rwAThEWM,44880
|
||||
werkzeug/local.py,sha256=KUFuAm8BAayQouzVg0MGqW_hiwY8Z_lY5l7d1Scvsx8,22492
|
||||
werkzeug/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
werkzeug/middleware/dispatcher.py,sha256=zWN5_lqJr_sc9UDv-PPoSlDHN_zR33z6B74F_4Cxpo8,2602
|
||||
werkzeug/middleware/http_proxy.py,sha256=sdk-V6GoZ6aMny-D0QNKNf5MWD2OTO3AGbBg6upp4Hc,7834
|
||||
werkzeug/middleware/lint.py,sha256=jVdyljRxpkz18MiMR8N7YdiElna8DJVvO4CCjZsnSQI,14476
|
||||
werkzeug/middleware/profiler.py,sha256=1ZAHlDeYNdhgp8THOXkV5lgmcLl307phAr2Ufy30-lY,5562
|
||||
werkzeug/middleware/proxy_fix.py,sha256=n-HW-MRWJquCIhmqiZKoGdbbEeHuWJqPRHhFpuj4pzY,6755
|
||||
werkzeug/middleware/shared_data.py,sha256=gsjmgeEFLzDdKsgd19pMhI7BfU_TbL6AyEyZPG2ykfQ,9542
|
||||
werkzeug/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
werkzeug/routing/__init__.py,sha256=d8TRxsk24IWu2BdoOYUfL--deolHwiGVCBJqLoEe3YM,4820
|
||||
werkzeug/routing/converters.py,sha256=iqpee_mAjr1oGbq0etujYF9PiDv5U7DgNkARHXnMId0,7297
|
||||
werkzeug/routing/exceptions.py,sha256=wNBiUmUk4OtFOpbdDSr7KKKUjH7yn84JqwBicUup8p8,4846
|
||||
werkzeug/routing/map.py,sha256=mEXlHOyinkg1Jtx5L0UDYsvoX4eVLiEuEVQzD5LVAz8,36515
|
||||
werkzeug/routing/matcher.py,sha256=nfBbl37eGAkZ1dQlumshFcPuyfggmFjPuSSQOE6GuYs,7849
|
||||
werkzeug/routing/rules.py,sha256=eGi6PD-COG2As_HY0nAw-nxYxLTH0FsuqRaSy8d9FjQ,32510
|
||||
werkzeug/sansio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
werkzeug/sansio/http.py,sha256=OYlTJn8fJhHA0CDOOmerekpsyGyIQVm9LvVRO3lH0TA,5337
|
||||
werkzeug/sansio/multipart.py,sha256=fMGgY9CvMDRgNgKozz2cBIp0iN2EME2IIOBh306_Ecs,11637
|
||||
werkzeug/sansio/request.py,sha256=ijwestWQS-dpb61uKl0NRntzNtH6C72OXCNomx-XKxc,19832
|
||||
werkzeug/sansio/response.py,sha256=8pE2fiHDroOOCtBWJWig4Lnv3VztD5szkSzeQELIlcQ,27965
|
||||
werkzeug/sansio/utils.py,sha256=3-Gr0Qsa_Rx48mUm7zdFJZNNKMzHfPAknywujHnkhPs,5256
|
||||
werkzeug/security.py,sha256=WctngEBHBo8e-gXf6lMURhs1t0tmEjJjBYZi2MXoWss,5581
|
||||
werkzeug/serving.py,sha256=k30NzIKq6mkNONk7B5rTyEuLrLZo__Kz2_XGXLjVUic,39857
|
||||
werkzeug/test.py,sha256=2G08IExd_x3T1P69mz57LYYQrqk31nxmkgHY5M5HYZU,52795
|
||||
werkzeug/testapp.py,sha256=5_IS5Dh_WfWfNcTLmbydj01lomgcKA_4l9PPCNZnmdI,6332
|
||||
werkzeug/urls.py,sha256=XyNKwHvK5IC37-wuIDMYWkiCJ3yLTLGv7wn2GF3ndqI,6430
|
||||
werkzeug/user_agent.py,sha256=lSlLYKCcbzCUSkbdAoO8zPk2UR-8Mdn6iu_iA2kYPBA,1416
|
||||
werkzeug/utils.py,sha256=1StUqI45bcxJx4sj81qVPQH5X8VuWgtICViJI_BKg-c,24725
|
||||
werkzeug/wrappers/__init__.py,sha256=b78jCM8x96kJUGLZ5FYFR3zlK-3pnFAmP9RJIGU0ses,138
|
||||
werkzeug/wrappers/request.py,sha256=2eJKd8yBU4zc0FIm2T6SROeuZERkP9m_Yx1Z7MeMs-Y,24737
|
||||
werkzeug/wrappers/response.py,sha256=u6zg7VpNYrCeEjpIgf8VqgfaSi9yR_9wi9ly2uudglg,32459
|
||||
werkzeug/wsgi.py,sha256=P7jB0VpG6X6miies4uk7Zgm7NVm4Yz8Ra6Inr5q_FMs,20894
|
@ -0,0 +1,4 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: flit 3.10.1
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
Reference in New Issue
Block a user