Factory.ai

Open-Source Wikis

/

FastAPI

/

Reference

/

Dependencies

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 — the fastapi shell command.
  • fastar >= 0.9.0
  • httpx >=0.23.0,<1.0.0 — used by the test client.
  • jinja2 >=3.1.5fastapi.templating.
  • python-multipart >=0.0.18 — form/multipart parsing.
  • email-validator >=2.0.0 — Pydantic's EmailStr.
  • uvicorn[standard] >=0.12.0 — production-ready ASGI server.
  • pydantic-settings >=2.0.0 — typed settings via env vars.
  • pydantic-extra-types >=2.0.0Color, 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's SessionMiddleware.
  • 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-version pins 3.11 for local development.
  • uv — used in CI workflows (.github/workflows/*) to install dependencies.
  • MkDocs Material insiders — auto-detected by scripts/docs.py if 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.

Dependencies – FastAPI wiki | Factory