Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
You can use <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API" class="external-link" target="_blank">WebSockets</a> with **FastAPI**.
+## Install `WebSockets`
+
+First you need to install `WebSockets`:
+
+<div class="termy">
+
+```console
+$ pip install websockets
+
+---> 100%
+```
+
+</div>
+
## WebSockets client
### In production
{!> ../../../docs_src/response_model/tutorial002_py310.py!}
```
+!!! info
+ To use `EmailStr`, first install <a href="https://github.com/JoshData/python-email-validator" class="external-link" target="_blank">`email_validator`</a>.
+
+ E.g. `pip install email-validator`
+ or `pip install pydantic[email]`.
+
And we are using this model to declare our input and the same model to declare our output:
=== "Python 3.6 and above"
Now let's see what each file/module does.
+## Install `SQLAlchemy`
+
+First you need to install `SQLAlchemy`:
+
+<div class="termy">
+
+```console
+$ pip install sqlalchemy
+
+---> 100%
+```
+
+</div>
+
## Create the SQLAlchemy parts
Let's refer to the file `sql_app/database.py`.
## Using `TestClient`
+!!! info
+ To use `TestClient`, first install <a href="https://github.com/psf/requests" class="external-link" target="_blank">`requests`</a>.
+
+ E.g. `pip install requests`.
+
Import `TestClient`.
Create a `TestClient` by passing your **FastAPI** application to it.