.. SPDX-FileCopyrightText: 2021 Veit Schiele
..
.. SPDX-License-Identifier: BSD-3-Clause
Installation
============
Requirements
------------
.. code-block:: console
$ uv add fastapi
Adding fastapi to Pipfile's [packages]…
✔ Installation Succeeded
Locking [dev-packages] dependencies…
✔ Success!
Locking [packages] dependencies…
✔ Success!
…
Optional requirements
~~~~~~~~~~~~~~~~~~~~~
For production you also need an `ASGI `_
server, such as `uvicorn `_:
.. code-block:: console
$ uv add uvicorn
Adding uvicorn to Pipfile's [packages]…
✔ Installation Succeeded
Locking [dev-packages] dependencies…
✔ Success!
Locking [packages] dependencies…
✔ Success!
Updated Pipfile.lock (051f02)!
…
Pydantic can use the optional dependencies
`ujson `_
for faster JSON parsing.
`email_validator `_
for email validation.
Starlette can use the optional dependencies
:doc:`httpx <../../httpx/index>`
if you want to use the ``TestClient``.
`aiofiles `_
if you want to use ``FileResponse`` or ``StaticFiles``.
`jinja2 `_
if you want to use the default template configuration.
`python-multipart `_
if you want to support form parsing, with ``request.form()``.
`itsdangerous `_
required for ``SessionMiddleware`` support.
`pyyaml `_
for Starlette’s ``SchemaGenerator`` support.
`graphene `_
for ``GraphQLApp`` support.
`ujson `__
if you want to use ``UJSONResponse``.
`orjson `_
if you want to use ``ORJSONResponse``.
They can be installed, e.g. with:
.. code-block:: console
$ uv add fastapi[ujson]
Alternatively you can install all of these with:
.. code-block:: console
$ uv add fastapi[all]