fastapi/fastapi
Dependencies
All dependencies declared by pyproject.toml. Versions are minima — uv.lock pins concrete versions for reproducible CI.
Runtime ([project.dependencies])
| Package | Minimum | Role |
|---|---|---|
starlette |
>=0.46.0 |
The ASGI core: routing, middleware, request/response, WebSocket, background tasks, TestClient. |
pydantic |
>=2.9.0 |
Validation, serialization, JSON-Schema generation. |
typing-extensions |
>=4.8.0 |
Backports of typing features (deprecated, ParamSpec, etc.) used in fastapi/params.py, fastapi/background.py. |
typing-inspection |
>=0.4.2 |
Helpers for inspecting Annotated, TypeAliasType, etc. — used in fastapi/dependencies/utils.py. |
annotated-doc |
>=0.0.2 |
Provides the Doc(...) annotation that the FastAPI source uses heavily on public callables. The annotation is consumed by mkdocstrings to produce the API reference. |
[project.optional-dependencies]
standard
The recommended install for new applications. Adds:
fastapi-cli[standard] >=0.0.8— thefastapishell command.fastar >= 0.9.0httpx >=0.23.0,<1.0.0— used by the test client.jinja2 >=3.1.5—fastapi.templating.python-multipart >=0.0.18— form/multipart parsing.email-validator >=2.0.0— Pydantic'sEmailStr.uvicorn[standard] >=0.12.0— production-ready ASGI server.pydantic-settings >=2.0.0— typed settings via env vars.pydantic-extra-types >=2.0.0—Color,PaymentCardNumber,Phone, …
standard-no-fastapi-cloud-cli
Same as standard, with fastapi-cli[standard-no-fastapi-cloud-cli] instead of the full standard extra. Drops the FastAPI Cloud CLI plugin.
all
Same as standard plus:
itsdangerous >=1.1.0— Starlette'sSessionMiddleware.pyyaml >=5.3.1— Starlette schema generation.
Dev-time ([dependency-groups])
tests
Includes docs-tests, plus:
anyio[trio],coverage[toml],dirty-equals,flask,inline-snapshot,mypy,pwdlib[argon2],pyjwt,pytest,pytest-codspeed,pyyaml,sqlmodel,strawberry-graphql,ty,a2wsgi,pytest-xdist[psutil],pytest-cov,pytest-sugar,pytest-timeout.
flask, sqlmodel, strawberry-graphql, and a2wsgi are exercised by tutorial examples that demonstrate FastAPI's interop with each.
docs
docs-tests plus the MkDocs Material toolchain: black, cairosvg, click, griffe-typingdoc, griffe-warnings-deprecated, jieba, markdown-include-variants, mdx-include, mkdocs-macros-plugin, mkdocs-material, mkdocs-redirects, mkdocstrings[python], pillow, python-slugify, pyyaml, typer.
translations
gitpython, pydantic-ai, pygithub. Powers scripts/translate.py.
github-actions
For workflow scripts: httpx, pydantic, pydantic-settings, pygithub, pyyaml, smokeshow.
dev
Aggregates tests, docs, translations, plus playwright, prek, zizmor. Use this for local development.
CI dependencies (system-level)
- Python 3.10–3.14 matrix.
.python-versionpins 3.11 for local development. - uv — used in CI workflows (
.github/workflows/*) to install dependencies. - MkDocs Material insiders — auto-detected by
scripts/docs.pyif installed; falls back to OSS otherwise.
Lock file
uv.lock (1 MB) pins concrete versions for reproducible installs. PDM users regenerate it via pdm lock. Bumps usually arrive via dependabot[bot] PRs.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.
Previous
Data models
Next
Maintainers