From 8f426c6a58e043c001aa1c7837b236ff4a94cc37 Mon Sep 17 00:00:00 2001 From: Polina Date: Thu, 2 Jul 2026 20:48:54 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?venv/Lib/site-packages/starlette-1.3.1.dist-info=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starlette-1.3.1.dist-info/INSTALLER | 1 + .../starlette-1.3.1.dist-info/METADATA | 178 ++++++++++++++++++ .../starlette-1.3.1.dist-info/RECORD | 74 ++++++++ .../starlette-1.3.1.dist-info/WHEEL | 4 + 4 files changed, 257 insertions(+) create mode 100644 venv/Lib/site-packages/starlette-1.3.1.dist-info/INSTALLER create mode 100644 venv/Lib/site-packages/starlette-1.3.1.dist-info/METADATA create mode 100644 venv/Lib/site-packages/starlette-1.3.1.dist-info/RECORD create mode 100644 venv/Lib/site-packages/starlette-1.3.1.dist-info/WHEEL diff --git a/venv/Lib/site-packages/starlette-1.3.1.dist-info/INSTALLER b/venv/Lib/site-packages/starlette-1.3.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/Lib/site-packages/starlette-1.3.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/starlette-1.3.1.dist-info/METADATA b/venv/Lib/site-packages/starlette-1.3.1.dist-info/METADATA new file mode 100644 index 0000000..142a852 --- /dev/null +++ b/venv/Lib/site-packages/starlette-1.3.1.dist-info/METADATA @@ -0,0 +1,178 @@ +Metadata-Version: 2.4 +Name: starlette +Version: 1.3.1 +Summary: The little ASGI library that shines. +Project-URL: Homepage, https://github.com/Kludex/starlette +Project-URL: Documentation, https://starlette.dev/ +Project-URL: Changelog, https://starlette.dev/release-notes/ +Project-URL: Funding, https://github.com/sponsors/Kludex +Project-URL: Source, https://github.com/Kludex/starlette +Author-email: Tom Christie +Maintainer-email: Marcelo Trylesinski +License-Expression: BSD-3-Clause +License-File: LICENSE.md +Classifier: Development Status :: 3 - Alpha +Classifier: Environment :: Web Environment +Classifier: Framework :: AnyIO +Classifier: Intended Audience :: Developers +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 +Classifier: Topic :: Internet :: WWW/HTTP +Requires-Python: >=3.10 +Requires-Dist: anyio<5,>=3.6.2 +Requires-Dist: typing-extensions>=4.10.0; python_version < '3.13' +Provides-Extra: full +Requires-Dist: httpx2>=2.0.0; extra == 'full' +Requires-Dist: httpx<0.29.0,>=0.27.0; extra == 'full' +Requires-Dist: itsdangerous; extra == 'full' +Requires-Dist: jinja2; extra == 'full' +Requires-Dist: python-multipart>=0.0.18; extra == 'full' +Requires-Dist: pyyaml; extra == 'full' +Description-Content-Type: text/markdown + +

+ + + + starlette-logo + +

+ +

+ ✨ The little ASGI framework that shines. ✨ +

+ +--- + +[![Build Status](https://github.com/Kludex/starlette/workflows/Test%20Suite/badge.svg)](https://github.com/Kludex/starlette/actions) +[![Package version](https://badge.fury.io/py/starlette.svg)](https://pypi.python.org/pypi/starlette) +[![Supported Python Version](https://img.shields.io/pypi/pyversions/starlette.svg?color=%2334D058)](https://pypi.org/project/starlette) +[![Discord](https://img.shields.io/discord/1051468649518616576?logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/RxKUF5JuHs) + +--- + +**Documentation**: https://starlette.dev + +**Source Code**: https://github.com/Kludex/starlette + +--- + +# Starlette + +Starlette is a lightweight [ASGI][asgi] framework/toolkit, +which is ideal for building async web services in Python. + +It is production-ready, and gives you the following: + +* A lightweight, low-complexity HTTP web framework. +* WebSocket support. +* In-process background tasks. +* Startup and shutdown events. +* Test client built on `httpx`. +* CORS, GZip, Static Files, Streaming responses. +* Session and Cookie support. +* 100% test coverage. +* 100% type annotated codebase. +* Few hard dependencies. +* Compatible with `asyncio` and `trio` backends. +* Great overall performance [against independent benchmarks][techempower]. + +## Installation + +```shell +$ pip install starlette +``` + +You'll also want to install an ASGI server, such as [uvicorn](https://uvicorn.dev) or any of the [other ASGI server implementations](https://asgi.readthedocs.io/en/latest/implementations.html#servers). + +```shell +$ pip install uvicorn +``` + +## Example + +```python title="main.py" +from starlette.applications import Starlette +from starlette.responses import JSONResponse +from starlette.routing import Route + + +async def homepage(request): + return JSONResponse({'hello': 'world'}) + +routes = [ + Route("/", endpoint=homepage) +] + +app = Starlette(debug=True, routes=routes) +``` + +Then run the application using Uvicorn: + +```shell +$ uvicorn main:app +``` + +## Dependencies + +Starlette only requires `anyio`, and the following are optional: + +* [`httpx2`][httpx2] - Required if you want to use the `TestClient`. +* [`jinja2`][jinja2] - Required if you want to use `Jinja2Templates`. +* [`python-multipart`][python-multipart] - Required if you want to support form parsing, with `request.form()`. +* [`itsdangerous`][itsdangerous] - Required for `SessionMiddleware` support. +* [`pyyaml`][pyyaml] - Required for `SchemaGenerator` support. + +You can install all of these with `pip install starlette[full]`. + +## Framework or Toolkit + +Starlette is designed to be used either as a complete framework, or as +an ASGI toolkit. You can use any of its components independently. + +```python +from starlette.responses import PlainTextResponse + + +async def app(scope, receive, send): + assert scope['type'] == 'http' + response = PlainTextResponse('Hello, world!') + await response(scope, receive, send) +``` + +Run the `app` application in `example.py`: + +```shell +$ uvicorn example:app +INFO: Started server process [11509] +INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) +``` + +Run uvicorn with `--reload` to enable auto-reloading on code changes. + +## Modularity + +The modularity that Starlette is designed on promotes building reusable +components that can be shared between any ASGI framework. This should enable +an ecosystem of shared middleware and mountable applications. + +The clean API separation also means it's easier to understand each component +in isolation. + +--- + +

Starlette is BSD licensed code.
Designed & crafted with care.

— ⭐️ —

+ +[asgi]: https://asgi.readthedocs.io/en/latest/ +[httpx2]: https://pypi.org/project/httpx2/ +[jinja2]: https://jinja.palletsprojects.com/ +[python-multipart]: https://multipart.fastapiexpert.com/ +[itsdangerous]: https://itsdangerous.palletsprojects.com/ +[sqlalchemy]: https://www.sqlalchemy.org +[pyyaml]: https://pyyaml.org/wiki/PyYAMLDocumentation +[techempower]: https://www.techempower.com/benchmarks/#hw=ph&test=fortune&l=zijzen-sf diff --git a/venv/Lib/site-packages/starlette-1.3.1.dist-info/RECORD b/venv/Lib/site-packages/starlette-1.3.1.dist-info/RECORD new file mode 100644 index 0000000..2a95493 --- /dev/null +++ b/venv/Lib/site-packages/starlette-1.3.1.dist-info/RECORD @@ -0,0 +1,74 @@ +starlette-1.3.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +starlette-1.3.1.dist-info/METADATA,sha256=2DzNlmXrBdH5OTx14gnLNTmQcxpiFaYJoPHFwKYobJo,6370 +starlette-1.3.1.dist-info/RECORD,, +starlette-1.3.1.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87 +starlette-1.3.1.dist-info/licenses/LICENSE.md,sha256=3LlWd6AiQCQxh-lk-UGEfRmxeCHPmeWvrmhPqzKMGb8,1518 +starlette/__init__.py,sha256=-ypEJktJToAL9by62JJKWEzDo_KPCQtmE5kwFgX24z4,22 +starlette/__pycache__/__init__.cpython-314.pyc,, +starlette/__pycache__/_exception_handler.cpython-314.pyc,, +starlette/__pycache__/_utils.cpython-314.pyc,, +starlette/__pycache__/applications.cpython-314.pyc,, +starlette/__pycache__/authentication.cpython-314.pyc,, +starlette/__pycache__/background.cpython-314.pyc,, +starlette/__pycache__/concurrency.cpython-314.pyc,, +starlette/__pycache__/config.cpython-314.pyc,, +starlette/__pycache__/convertors.cpython-314.pyc,, +starlette/__pycache__/datastructures.cpython-314.pyc,, +starlette/__pycache__/endpoints.cpython-314.pyc,, +starlette/__pycache__/exceptions.cpython-314.pyc,, +starlette/__pycache__/formparsers.cpython-314.pyc,, +starlette/__pycache__/requests.cpython-314.pyc,, +starlette/__pycache__/responses.cpython-314.pyc,, +starlette/__pycache__/routing.cpython-314.pyc,, +starlette/__pycache__/schemas.cpython-314.pyc,, +starlette/__pycache__/staticfiles.cpython-314.pyc,, +starlette/__pycache__/status.cpython-314.pyc,, +starlette/__pycache__/templating.cpython-314.pyc,, +starlette/__pycache__/testclient.cpython-314.pyc,, +starlette/__pycache__/types.cpython-314.pyc,, +starlette/__pycache__/websockets.cpython-314.pyc,, +starlette/_exception_handler.py,sha256=8Vm915fWYe9xLo_za5iQ5WyrAvFBu2kEEJc7XreTyOk,2257 +starlette/_utils.py,sha256=fLZ_pRlcp-wP4zEiyeXOIl7foyl_zIL5Am6E-cVlg8s,2970 +starlette/applications.py,sha256=H4R7Jvt8tWxIj7QoRRt8_gEVj2xrYnG2AfA6d-2en9I,5291 +starlette/authentication.py,sha256=bydUX4PKnTFJPSUj8B5k8HxYqrJ4eyyOma8AtgqwlD0,5202 +starlette/background.py,sha256=D-XpUpFRgUBnZeA1tHgzMOgube6ICVZFlOA4ML0q1T8,1122 +starlette/concurrency.py,sha256=Pp4kXQYO85cWxY7XVNt5lcYvhYHUquyLguCec7hKKoM,1701 +starlette/config.py,sha256=GVwko0pGSusxuQHO35tL_Nt_ApL0fmVYL3IiHHYpLW4,4426 +starlette/convertors.py,sha256=F1rse3AacN9rsfJnTeuDnjbN51r_ouHc3WLyYkjkX_o,2304 +starlette/datastructures.py,sha256=-eMQA2KZ1qQnRDypa6EY5YSG5ZJ81MO6wP-4FWJuUs0,23213 +starlette/endpoints.py,sha256=s5jPdHUT7VzUUyY-O5qfXDKYim-zbhWUCE-U5TsaFKQ,5271 +starlette/exceptions.py,sha256=45cuOyqdOjJJVZ2fRupfcSYvPDKqhkGZejjXw1cPGXE,1478 +starlette/formparsers.py,sha256=dItaict6sqVLmUs82dltsLUlDzPASBoZPIB8xyIlfsY,12079 +starlette/middleware/__init__.py,sha256=BORnOj0n0mL1OWUUs1PLTu1SASmvT8kEEDA6cbuhuPo,1349 +starlette/middleware/__pycache__/__init__.cpython-314.pyc,, +starlette/middleware/__pycache__/authentication.cpython-314.pyc,, +starlette/middleware/__pycache__/base.cpython-314.pyc,, +starlette/middleware/__pycache__/cors.cpython-314.pyc,, +starlette/middleware/__pycache__/errors.cpython-314.pyc,, +starlette/middleware/__pycache__/exceptions.cpython-314.pyc,, +starlette/middleware/__pycache__/gzip.cpython-314.pyc,, +starlette/middleware/__pycache__/httpsredirect.cpython-314.pyc,, +starlette/middleware/__pycache__/sessions.cpython-314.pyc,, +starlette/middleware/__pycache__/trustedhost.cpython-314.pyc,, +starlette/middleware/__pycache__/wsgi.cpython-314.pyc,, +starlette/middleware/authentication.py,sha256=-RSwwJ0pIkrM0v-2Ip8HXVB24xtSp7ObzR3OfTC8wSA,1800 +starlette/middleware/base.py,sha256=q90T3sHQjhr5kSIJyM4HNXJi9AWstlSNmozqT2_KUc0,10326 +starlette/middleware/cors.py,sha256=iBOpWmK43ENnyR71t4vH2WwfCWzaJNJdE7th3x5Cg80,7509 +starlette/middleware/errors.py,sha256=UZttzAUUejJtNZpPts0PXnYgV9C4h8o3sWDHRkN9ECg,8101 +starlette/middleware/exceptions.py,sha256=7OgSUiBgwHS4VMmpaWlw21uDKNDmOMzLVZrWDLDUqWo,2784 +starlette/middleware/gzip.py,sha256=_thpCRctguw0tMM6J2iDlAj5vZlol9T673IHtfvfxQE,5899 +starlette/middleware/httpsredirect.py,sha256=SNTleaYALGoITV7xwbic4gB6VYdM8Ylea_ykciUz31g,848 +starlette/middleware/sessions.py,sha256=kbSzZhMN8R2ofdrvMQEMz4ex4xEhW-sTSfsTKQ9SSGY,4778 +starlette/middleware/trustedhost.py,sha256=byKCUyPge54Z4MznyunD_2DsMfJc2UsfV4b2Du-WYTc,2219 +starlette/middleware/wsgi.py,sha256=BqXJpFjy3hbMuMa0_kjLAKskNPO0s7k-TPSRP-zcgLU,5501 +starlette/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +starlette/requests.py,sha256=hpGwGuSez6CF_mQZNDZ49zt3yS_GOkERBqd9jpvwrEQ,12708 +starlette/responses.py,sha256=XVKrAI732c5MUU8TuOxi4Voep48poRbw6Mvub07qkRI,21731 +starlette/routing.py,sha256=uV5qR75s8QqJvNGgrOc7qN6MbvW3NA_eSy3iRTsvWEQ,29579 +starlette/schemas.py,sha256=fBDlI1YDKF_rkQIalqBVQ0PQ9-3gNGh7T_39OyE7rV0,5168 +starlette/staticfiles.py,sha256=8GP3DKNN8W3VGZIRPZFPQBIDiqN-YaKcNN2EvaMMQYw,8786 +starlette/status.py,sha256=XYcVn-aU522TYJ8BJxl0WUnf6J_3yBTQz7Tqgye8KO4,6430 +starlette/templating.py,sha256=y-ATlQrNDoLMZs5hrHzQBTapECBDr9wAl-bs8Blk5jw,5447 +starlette/testclient.py,sha256=UqnjIiKkkrNoM5yr8DVxY94u1-gJWdfz6IKZxbjE60w,28356 +starlette/types.py,sha256=87wTuwF1036QxRse3mL5qOuS9i4a9xaIZMqTjY-lvvo,1041 +starlette/websockets.py,sha256=m64W1F4JdLw-7TRGVHqSqgreamlHbVJSOeIQ17EdHyg,8352 diff --git a/venv/Lib/site-packages/starlette-1.3.1.dist-info/WHEEL b/venv/Lib/site-packages/starlette-1.3.1.dist-info/WHEEL new file mode 100644 index 0000000..bd84226 --- /dev/null +++ b/venv/Lib/site-packages/starlette-1.3.1.dist-info/WHEEL @@ -0,0 +1,4 @@ +Wheel-Version: 1.0 +Generator: hatchling 1.30.1 +Root-Is-Purelib: true +Tag: py3-none-any