about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/starlette-0.46.1.dist-info/METADATA
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/starlette-0.46.1.dist-info/METADATA')
-rw-r--r--.venv/lib/python3.12/site-packages/starlette-0.46.1.dist-info/METADATA176
1 files changed, 176 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/starlette-0.46.1.dist-info/METADATA b/.venv/lib/python3.12/site-packages/starlette-0.46.1.dist-info/METADATA
new file mode 100644
index 00000000..c2c6562c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/starlette-0.46.1.dist-info/METADATA
@@ -0,0 +1,176 @@
+Metadata-Version: 2.4
+Name: starlette
+Version: 0.46.1
+Summary: The little ASGI library that shines.
+Project-URL: Homepage, https://github.com/encode/starlette
+Project-URL: Documentation, https://www.starlette.io/
+Project-URL: Changelog, https://www.starlette.io/release-notes/
+Project-URL: Funding, https://github.com/sponsors/encode
+Project-URL: Source, https://github.com/encode/starlette
+Author-email: Tom Christie <tom@tomchristie.com>
+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: License :: OSI Approved :: BSD License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.9
+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: Topic :: Internet :: WWW/HTTP
+Requires-Python: >=3.9
+Requires-Dist: anyio<5,>=3.6.2
+Requires-Dist: typing-extensions>=3.10.0; python_version < '3.10'
+Provides-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
+
+<p align="center">
+  <picture>
+    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/encode/starlette/master/docs/img/starlette_dark.svg" width="420px">
+    <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/encode/starlette/master/docs/img/starlette.svg" width="420px">
+    <img alt="starlette-logo" src="https://raw.githubusercontent.com/encode/starlette/master/docs/img/starlette_dark.svg">
+  </picture>
+</p>
+
+<p align="center">
+    <em>✨ The little ASGI framework that shines. ✨</em>
+</p>
+
+---
+
+[![Build Status](https://github.com/encode/starlette/workflows/Test%20Suite/badge.svg)](https://github.com/encode/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)
+
+---
+
+**Documentation**: <a href="https://www.starlette.io/" target="_blank">https://www.starlette.io</a>
+
+**Source Code**: <a href="https://github.com/encode/starlette" target="_blank">https://github.com/encode/starlette</a>
+
+---
+
+# 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://www.uvicorn.org/), [daphne](https://github.com/django/daphne/), or [hypercorn](https://hypercorn.readthedocs.io/en/latest/).
+
+```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:
+
+* [`httpx`][httpx] - 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 re-usable
+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.
+
+---
+
+<p align="center"><i>Starlette is <a href="https://github.com/encode/starlette/blob/master/LICENSE.md">BSD licensed</a> code.<br/>Designed & crafted with care.</i></br>&mdash; ⭐️ &mdash;</p>
+
+[asgi]: https://asgi.readthedocs.io/en/latest/
+[httpx]: https://www.python-httpx.org/
+[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