gitextract_3s9wpzee/ ├── .github/ │ ├── DISCUSSION_TEMPLATE/ │ │ ├── questions.yml │ │ └── translations.yml │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ └── privileged.yml │ ├── dependabot.yml │ ├── labeler.yml │ └── workflows/ │ ├── add-to-project.yml │ ├── build-docs.yml │ ├── contributors.yml │ ├── deploy-docs.yml │ ├── detect-conflicts.yml │ ├── issue-manager.yml │ ├── label-approved.yml │ ├── labeler.yml │ ├── latest-changes.yml │ ├── notify-translations.yml │ ├── people.yml │ ├── pre-commit.yml │ ├── publish.yml │ ├── smokeshow.yml │ ├── sponsors.yml │ ├── test-redistribute.yml │ ├── test.yml │ ├── topic-repos.yml │ └── translate.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .python-version ├── CITATION.cff ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── docs/ │ ├── de/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ ├── en/ │ │ ├── data/ │ │ │ ├── contributors.yml │ │ │ ├── github_sponsors.yml │ │ │ ├── members.yml │ │ │ ├── people.yml │ │ │ ├── skip_users.yml │ │ │ ├── sponsors.yml │ │ │ ├── sponsors_badge.yml │ │ │ ├── topic_repos.yml │ │ │ ├── translation_reviewers.yml │ │ │ └── translators.yml │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── contributing.md │ │ │ ├── css/ │ │ │ │ ├── custom.css │ │ │ │ └── termynal.css │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── external-links.md │ │ │ ├── fastapi-cli.md │ │ │ ├── fastapi-people.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── js/ │ │ │ │ ├── custom.js │ │ │ │ ├── init_kapa_widget.js │ │ │ │ └── termynal.js │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── management-tasks.md │ │ │ ├── management.md │ │ │ ├── newsletter.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── reference/ │ │ │ │ ├── apirouter.md │ │ │ │ ├── background.md │ │ │ │ ├── dependencies.md │ │ │ │ ├── encoders.md │ │ │ │ ├── exceptions.md │ │ │ │ ├── fastapi.md │ │ │ │ ├── httpconnection.md │ │ │ │ ├── index.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi/ │ │ │ │ │ ├── docs.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── models.md │ │ │ │ ├── parameters.md │ │ │ │ ├── request.md │ │ │ │ ├── response.md │ │ │ │ ├── responses.md │ │ │ │ ├── security/ │ │ │ │ │ └── index.md │ │ │ │ ├── staticfiles.md │ │ │ │ ├── status.md │ │ │ │ ├── templating.md │ │ │ │ ├── testclient.md │ │ │ │ ├── uploadfile.md │ │ │ │ └── websockets.md │ │ │ ├── release-notes.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── mkdocs.env.yml │ │ ├── mkdocs.yml │ │ └── overrides/ │ │ ├── main.html │ │ └── partials/ │ │ └── copyright.html │ ├── es/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ ├── fr/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ ├── ja/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ ├── ko/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ ├── language_names.yml │ ├── missing-translation.md │ ├── pt/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ ├── ru/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ ├── tr/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ ├── uk/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ ├── zh/ │ │ ├── docs/ │ │ │ ├── _llm-test.md │ │ │ ├── about/ │ │ │ │ └── index.md │ │ │ ├── advanced/ │ │ │ │ ├── additional-responses.md │ │ │ │ ├── additional-status-codes.md │ │ │ │ ├── advanced-dependencies.md │ │ │ │ ├── advanced-python-types.md │ │ │ │ ├── async-tests.md │ │ │ │ ├── behind-a-proxy.md │ │ │ │ ├── custom-response.md │ │ │ │ ├── dataclasses.md │ │ │ │ ├── events.md │ │ │ │ ├── generate-clients.md │ │ │ │ ├── index.md │ │ │ │ ├── json-base64-bytes.md │ │ │ │ ├── middleware.md │ │ │ │ ├── openapi-callbacks.md │ │ │ │ ├── openapi-webhooks.md │ │ │ │ ├── path-operation-advanced-configuration.md │ │ │ │ ├── response-change-status-code.md │ │ │ │ ├── response-cookies.md │ │ │ │ ├── response-directly.md │ │ │ │ ├── response-headers.md │ │ │ │ ├── security/ │ │ │ │ │ ├── http-basic-auth.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── oauth2-scopes.md │ │ │ │ ├── settings.md │ │ │ │ ├── stream-data.md │ │ │ │ ├── strict-content-type.md │ │ │ │ ├── sub-applications.md │ │ │ │ ├── templates.md │ │ │ │ ├── testing-dependencies.md │ │ │ │ ├── testing-events.md │ │ │ │ ├── testing-websockets.md │ │ │ │ ├── using-request-directly.md │ │ │ │ ├── websockets.md │ │ │ │ └── wsgi.md │ │ │ ├── alternatives.md │ │ │ ├── async.md │ │ │ ├── benchmarks.md │ │ │ ├── deployment/ │ │ │ │ ├── cloud.md │ │ │ │ ├── concepts.md │ │ │ │ ├── docker.md │ │ │ │ ├── fastapicloud.md │ │ │ │ ├── https.md │ │ │ │ ├── index.md │ │ │ │ ├── manually.md │ │ │ │ ├── server-workers.md │ │ │ │ └── versions.md │ │ │ ├── editor-support.md │ │ │ ├── environment-variables.md │ │ │ ├── fastapi-cli.md │ │ │ ├── features.md │ │ │ ├── help-fastapi.md │ │ │ ├── history-design-future.md │ │ │ ├── how-to/ │ │ │ │ ├── authentication-error-status-code.md │ │ │ │ ├── conditional-openapi.md │ │ │ │ ├── configure-swagger-ui.md │ │ │ │ ├── custom-docs-ui-assets.md │ │ │ │ ├── custom-request-and-route.md │ │ │ │ ├── extending-openapi.md │ │ │ │ ├── general.md │ │ │ │ ├── graphql.md │ │ │ │ ├── index.md │ │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ │ ├── separate-openapi-schemas.md │ │ │ │ └── testing-database.md │ │ │ ├── index.md │ │ │ ├── learn/ │ │ │ │ └── index.md │ │ │ ├── project-generation.md │ │ │ ├── python-types.md │ │ │ ├── resources/ │ │ │ │ └── index.md │ │ │ ├── translation-banner.md │ │ │ ├── tutorial/ │ │ │ │ ├── background-tasks.md │ │ │ │ ├── bigger-applications.md │ │ │ │ ├── body-fields.md │ │ │ │ ├── body-multiple-params.md │ │ │ │ ├── body-nested-models.md │ │ │ │ ├── body-updates.md │ │ │ │ ├── body.md │ │ │ │ ├── cookie-param-models.md │ │ │ │ ├── cookie-params.md │ │ │ │ ├── cors.md │ │ │ │ ├── debugging.md │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ │ ├── global-dependencies.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── sub-dependencies.md │ │ │ │ ├── encoder.md │ │ │ │ ├── extra-data-types.md │ │ │ │ ├── extra-models.md │ │ │ │ ├── first-steps.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── header-param-models.md │ │ │ │ ├── header-params.md │ │ │ │ ├── index.md │ │ │ │ ├── metadata.md │ │ │ │ ├── middleware.md │ │ │ │ ├── path-operation-configuration.md │ │ │ │ ├── path-params-numeric-validations.md │ │ │ │ ├── path-params.md │ │ │ │ ├── query-param-models.md │ │ │ │ ├── query-params-str-validations.md │ │ │ │ ├── query-params.md │ │ │ │ ├── request-files.md │ │ │ │ ├── request-form-models.md │ │ │ │ ├── request-forms-and-files.md │ │ │ │ ├── request-forms.md │ │ │ │ ├── response-model.md │ │ │ │ ├── response-status-code.md │ │ │ │ ├── schema-extra-example.md │ │ │ │ ├── security/ │ │ │ │ │ ├── first-steps.md │ │ │ │ │ ├── get-current-user.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── oauth2-jwt.md │ │ │ │ │ └── simple-oauth2.md │ │ │ │ ├── server-sent-events.md │ │ │ │ ├── sql-databases.md │ │ │ │ ├── static-files.md │ │ │ │ ├── stream-json-lines.md │ │ │ │ └── testing.md │ │ │ └── virtual-environments.md │ │ ├── llm-prompt.md │ │ └── mkdocs.yml │ └── zh-hant/ │ ├── docs/ │ │ ├── _llm-test.md │ │ ├── about/ │ │ │ └── index.md │ │ ├── advanced/ │ │ │ ├── additional-responses.md │ │ │ ├── additional-status-codes.md │ │ │ ├── advanced-dependencies.md │ │ │ ├── advanced-python-types.md │ │ │ ├── async-tests.md │ │ │ ├── behind-a-proxy.md │ │ │ ├── custom-response.md │ │ │ ├── dataclasses.md │ │ │ ├── events.md │ │ │ ├── generate-clients.md │ │ │ ├── index.md │ │ │ ├── json-base64-bytes.md │ │ │ ├── middleware.md │ │ │ ├── openapi-callbacks.md │ │ │ ├── openapi-webhooks.md │ │ │ ├── path-operation-advanced-configuration.md │ │ │ ├── response-change-status-code.md │ │ │ ├── response-cookies.md │ │ │ ├── response-directly.md │ │ │ ├── response-headers.md │ │ │ ├── security/ │ │ │ │ ├── http-basic-auth.md │ │ │ │ ├── index.md │ │ │ │ └── oauth2-scopes.md │ │ │ ├── settings.md │ │ │ ├── stream-data.md │ │ │ ├── strict-content-type.md │ │ │ ├── sub-applications.md │ │ │ ├── templates.md │ │ │ ├── testing-dependencies.md │ │ │ ├── testing-events.md │ │ │ ├── testing-websockets.md │ │ │ ├── using-request-directly.md │ │ │ ├── websockets.md │ │ │ └── wsgi.md │ │ ├── alternatives.md │ │ ├── async.md │ │ ├── benchmarks.md │ │ ├── deployment/ │ │ │ ├── cloud.md │ │ │ ├── concepts.md │ │ │ ├── docker.md │ │ │ ├── fastapicloud.md │ │ │ ├── https.md │ │ │ ├── index.md │ │ │ ├── manually.md │ │ │ ├── server-workers.md │ │ │ └── versions.md │ │ ├── editor-support.md │ │ ├── environment-variables.md │ │ ├── fastapi-cli.md │ │ ├── features.md │ │ ├── help-fastapi.md │ │ ├── history-design-future.md │ │ ├── how-to/ │ │ │ ├── authentication-error-status-code.md │ │ │ ├── conditional-openapi.md │ │ │ ├── configure-swagger-ui.md │ │ │ ├── custom-docs-ui-assets.md │ │ │ ├── custom-request-and-route.md │ │ │ ├── extending-openapi.md │ │ │ ├── general.md │ │ │ ├── graphql.md │ │ │ ├── index.md │ │ │ ├── migrate-from-pydantic-v1-to-pydantic-v2.md │ │ │ ├── separate-openapi-schemas.md │ │ │ └── testing-database.md │ │ ├── index.md │ │ ├── learn/ │ │ │ └── index.md │ │ ├── project-generation.md │ │ ├── python-types.md │ │ ├── resources/ │ │ │ └── index.md │ │ ├── translation-banner.md │ │ ├── tutorial/ │ │ │ ├── background-tasks.md │ │ │ ├── bigger-applications.md │ │ │ ├── body-fields.md │ │ │ ├── body-multiple-params.md │ │ │ ├── body-nested-models.md │ │ │ ├── body-updates.md │ │ │ ├── body.md │ │ │ ├── cookie-param-models.md │ │ │ ├── cookie-params.md │ │ │ ├── cors.md │ │ │ ├── debugging.md │ │ │ ├── dependencies/ │ │ │ │ ├── classes-as-dependencies.md │ │ │ │ ├── dependencies-in-path-operation-decorators.md │ │ │ │ ├── dependencies-with-yield.md │ │ │ │ ├── global-dependencies.md │ │ │ │ ├── index.md │ │ │ │ └── sub-dependencies.md │ │ │ ├── encoder.md │ │ │ ├── extra-data-types.md │ │ │ ├── extra-models.md │ │ │ ├── first-steps.md │ │ │ ├── handling-errors.md │ │ │ ├── header-param-models.md │ │ │ ├── header-params.md │ │ │ ├── index.md │ │ │ ├── metadata.md │ │ │ ├── middleware.md │ │ │ ├── path-operation-configuration.md │ │ │ ├── path-params-numeric-validations.md │ │ │ ├── path-params.md │ │ │ ├── query-param-models.md │ │ │ ├── query-params-str-validations.md │ │ │ ├── query-params.md │ │ │ ├── request-files.md │ │ │ ├── request-form-models.md │ │ │ ├── request-forms-and-files.md │ │ │ ├── request-forms.md │ │ │ ├── response-model.md │ │ │ ├── response-status-code.md │ │ │ ├── schema-extra-example.md │ │ │ ├── security/ │ │ │ │ ├── first-steps.md │ │ │ │ ├── get-current-user.md │ │ │ │ ├── index.md │ │ │ │ ├── oauth2-jwt.md │ │ │ │ └── simple-oauth2.md │ │ │ ├── server-sent-events.md │ │ │ ├── sql-databases.md │ │ │ ├── static-files.md │ │ │ ├── stream-json-lines.md │ │ │ └── testing.md │ │ └── virtual-environments.md │ ├── llm-prompt.md │ └── mkdocs.yml ├── docs_src/ │ ├── additional_responses/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ └── tutorial004_py310.py │ ├── additional_status_codes/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ └── tutorial001_py310.py │ ├── advanced_middleware/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ └── tutorial003_py310.py │ ├── app_testing/ │ │ ├── __init__.py │ │ ├── app_a_py310/ │ │ │ ├── __init__.py │ │ │ ├── main.py │ │ │ └── test_main.py │ │ ├── app_b_an_py310/ │ │ │ ├── __init__.py │ │ │ ├── main.py │ │ │ └── test_main.py │ │ ├── app_b_py310/ │ │ │ ├── __init__.py │ │ │ ├── main.py │ │ │ └── test_main.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ └── tutorial004_py310.py │ ├── async_tests/ │ │ ├── __init__.py │ │ └── app_a_py310/ │ │ ├── __init__.py │ │ ├── main.py │ │ └── test_main.py │ ├── authentication_error_status_code/ │ │ ├── __init__.py │ │ └── tutorial001_an_py310.py │ ├── background_tasks/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ └── tutorial002_py310.py │ ├── behind_a_proxy/ │ │ ├── __init__.py │ │ ├── tutorial001_01_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ └── tutorial004_py310.py │ ├── bigger_applications/ │ │ ├── __init__.py │ │ └── app_an_py310/ │ │ ├── __init__.py │ │ ├── dependencies.py │ │ ├── internal/ │ │ │ ├── __init__.py │ │ │ └── admin.py │ │ ├── main.py │ │ └── routers/ │ │ ├── __init__.py │ │ ├── items.py │ │ └── users.py │ ├── body/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ └── tutorial004_py310.py │ ├── body_fields/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ └── tutorial001_py310.py │ ├── body_multiple_params/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_an_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_an_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_an_py310.py │ │ └── tutorial005_py310.py │ ├── body_nested_models/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_py310.py │ │ ├── tutorial006_py310.py │ │ ├── tutorial007_py310.py │ │ ├── tutorial008_py310.py │ │ └── tutorial009_py310.py │ ├── body_updates/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ └── tutorial002_py310.py │ ├── conditional_openapi/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── configure_swagger_ui/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ └── tutorial003_py310.py │ ├── cookie_param_models/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ └── tutorial002_py310.py │ ├── cookie_params/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ └── tutorial001_py310.py │ ├── cors/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── custom_docs_ui/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ └── tutorial002_py310.py │ ├── custom_request_and_route/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial002_py310.py │ │ └── tutorial003_py310.py │ ├── custom_response/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial001b_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_py310.py │ │ ├── tutorial006_py310.py │ │ ├── tutorial006b_py310.py │ │ ├── tutorial006c_py310.py │ │ ├── tutorial007_py310.py │ │ ├── tutorial008_py310.py │ │ ├── tutorial009_py310.py │ │ ├── tutorial009b_py310.py │ │ ├── tutorial009c_py310.py │ │ └── tutorial010_py310.py │ ├── dataclasses_/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ └── tutorial003_py310.py │ ├── debugging/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── dependencies/ │ │ ├── __init__.py │ │ ├── tutorial001_02_an_py310.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_an_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_an_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_an_py310.py │ │ ├── tutorial005_py310.py │ │ ├── tutorial006_an_py310.py │ │ ├── tutorial006_py310.py │ │ ├── tutorial007_py310.py │ │ ├── tutorial008_an_py310.py │ │ ├── tutorial008_py310.py │ │ ├── tutorial008b_an_py310.py │ │ ├── tutorial008b_py310.py │ │ ├── tutorial008c_an_py310.py │ │ ├── tutorial008c_py310.py │ │ ├── tutorial008d_an_py310.py │ │ ├── tutorial008d_py310.py │ │ ├── tutorial008e_an_py310.py │ │ ├── tutorial008e_py310.py │ │ ├── tutorial010_py310.py │ │ ├── tutorial011_an_py310.py │ │ ├── tutorial011_py310.py │ │ ├── tutorial012_an_py310.py │ │ ├── tutorial012_py310.py │ │ ├── tutorial013_an_py310.py │ │ └── tutorial014_an_py310.py │ ├── dependency_testing/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ └── tutorial001_py310.py │ ├── encoder/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── events/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ └── tutorial003_py310.py │ ├── extending_openapi/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── extra_data_types/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ └── tutorial001_py310.py │ ├── extra_models/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ └── tutorial005_py310.py │ ├── first_steps/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ └── tutorial003_py310.py │ ├── generate_clients/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004.js │ │ └── tutorial004_py310.py │ ├── graphql_/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── handling_errors/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_py310.py │ │ └── tutorial006_py310.py │ ├── header_param_models/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_an_py310.py │ │ └── tutorial003_py310.py │ ├── header_params/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_an_py310.py │ │ └── tutorial003_py310.py │ ├── json_base64_bytes/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── metadata/ │ │ ├── __init__.py │ │ ├── tutorial001_1_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ └── tutorial004_py310.py │ ├── middleware/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── openapi_callbacks/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── openapi_webhooks/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── path_operation_advanced_configuration/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_py310.py │ │ ├── tutorial006_py310.py │ │ └── tutorial007_py310.py │ ├── path_operation_configuration/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial002b_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_py310.py │ │ └── tutorial006_py310.py │ ├── path_params/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial003b_py310.py │ │ ├── tutorial004_py310.py │ │ └── tutorial005_py310.py │ ├── path_params_numeric_validations/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_an_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_an_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_an_py310.py │ │ ├── tutorial005_py310.py │ │ ├── tutorial006_an_py310.py │ │ └── tutorial006_py310.py │ ├── pydantic_v1_in_v2/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial003_an_py310.py │ │ └── tutorial004_an_py310.py │ ├── python_types/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_py310.py │ │ ├── tutorial006_py310.py │ │ ├── tutorial007_py310.py │ │ ├── tutorial008_py310.py │ │ ├── tutorial008b_py310.py │ │ ├── tutorial009_py310.py │ │ ├── tutorial010_py310.py │ │ ├── tutorial011_py310.py │ │ └── tutorial013_py310.py │ ├── query_param_models/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ └── tutorial002_py310.py │ ├── query_params/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_py310.py │ │ └── tutorial006_py310.py │ ├── query_params_str_validations/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_an_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_an_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_an_py310.py │ │ ├── tutorial005_py310.py │ │ ├── tutorial006_an_py310.py │ │ ├── tutorial006_py310.py │ │ ├── tutorial006c_an_py310.py │ │ ├── tutorial006c_py310.py │ │ ├── tutorial007_an_py310.py │ │ ├── tutorial007_py310.py │ │ ├── tutorial008_an_py310.py │ │ ├── tutorial008_py310.py │ │ ├── tutorial009_an_py310.py │ │ ├── tutorial009_py310.py │ │ ├── tutorial010_an_py310.py │ │ ├── tutorial010_py310.py │ │ ├── tutorial011_an_py310.py │ │ ├── tutorial011_py310.py │ │ ├── tutorial012_an_py310.py │ │ ├── tutorial012_py310.py │ │ ├── tutorial013_an_py310.py │ │ ├── tutorial013_py310.py │ │ ├── tutorial014_an_py310.py │ │ ├── tutorial014_py310.py │ │ └── tutorial015_an_py310.py │ ├── request_files/ │ │ ├── __init__.py │ │ ├── tutorial001_02_an_py310.py │ │ ├── tutorial001_02_py310.py │ │ ├── tutorial001_03_an_py310.py │ │ ├── tutorial001_03_py310.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_an_py310.py │ │ └── tutorial003_py310.py │ ├── request_form_models/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ └── tutorial002_py310.py │ ├── request_forms/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ └── tutorial001_py310.py │ ├── request_forms_and_files/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ └── tutorial001_py310.py │ ├── response_change_status_code/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── response_cookies/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ └── tutorial002_py310.py │ ├── response_directly/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ └── tutorial002_py310.py │ ├── response_headers/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ └── tutorial002_py310.py │ ├── response_model/ │ │ ├── __init__.py │ │ ├── tutorial001_01_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_01_py310.py │ │ ├── tutorial003_02_py310.py │ │ ├── tutorial003_03_py310.py │ │ ├── tutorial003_04_py310.py │ │ ├── tutorial003_05_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_py310.py │ │ └── tutorial006_py310.py │ ├── response_status_code/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ └── tutorial002_py310.py │ ├── schema_extra_example/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_an_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_an_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_an_py310.py │ │ └── tutorial005_py310.py │ ├── security/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_an_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_an_py310.py │ │ ├── tutorial004_py310.py │ │ ├── tutorial005_an_py310.py │ │ ├── tutorial005_py310.py │ │ ├── tutorial006_an_py310.py │ │ ├── tutorial006_py310.py │ │ ├── tutorial007_an_py310.py │ │ └── tutorial007_py310.py │ ├── separate_openapi_schemas/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ └── tutorial002_py310.py │ ├── server_sent_events/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_py310.py │ │ ├── tutorial003_py310.py │ │ ├── tutorial004_py310.py │ │ └── tutorial005_py310.py │ ├── settings/ │ │ ├── __init__.py │ │ ├── app01_py310/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ └── main.py │ │ ├── app02_an_py310/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ ├── main.py │ │ │ └── test_main.py │ │ ├── app02_py310/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ ├── main.py │ │ │ └── test_main.py │ │ ├── app03_an_py310/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ └── main.py │ │ ├── app03_py310/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ └── main.py │ │ └── tutorial001_py310.py │ ├── sql_databases/ │ │ ├── __init__.py │ │ ├── tutorial001_an_py310.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ └── tutorial002_py310.py │ ├── static_files/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── stream_data/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ └── tutorial002_py310.py │ ├── stream_json_lines/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── strict_content_type/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── sub_applications/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── templates/ │ │ ├── __init__.py │ │ ├── static/ │ │ │ ├── __init__.py │ │ │ └── styles.css │ │ ├── templates/ │ │ │ ├── __init__.py │ │ │ └── item.html │ │ └── tutorial001_py310.py │ ├── using_request_directly/ │ │ ├── __init__.py │ │ └── tutorial001_py310.py │ ├── websockets_/ │ │ ├── __init__.py │ │ ├── tutorial001_py310.py │ │ ├── tutorial002_an_py310.py │ │ ├── tutorial002_py310.py │ │ └── tutorial003_py310.py │ └── wsgi/ │ ├── __init__.py │ └── tutorial001_py310.py ├── fastapi/ │ ├── .agents/ │ │ └── skills/ │ │ └── fastapi/ │ │ ├── SKILL.md │ │ └── references/ │ │ ├── dependencies.md │ │ ├── other-tools.md │ │ └── streaming.md │ ├── __init__.py │ ├── __main__.py │ ├── _compat/ │ │ ├── __init__.py │ │ ├── shared.py │ │ └── v2.py │ ├── applications.py │ ├── background.py │ ├── cli.py │ ├── concurrency.py │ ├── datastructures.py │ ├── dependencies/ │ │ ├── __init__.py │ │ ├── models.py │ │ └── utils.py │ ├── encoders.py │ ├── exception_handlers.py │ ├── exceptions.py │ ├── logger.py │ ├── middleware/ │ │ ├── __init__.py │ │ ├── asyncexitstack.py │ │ ├── cors.py │ │ ├── gzip.py │ │ ├── httpsredirect.py │ │ ├── trustedhost.py │ │ └── wsgi.py │ ├── openapi/ │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── docs.py │ │ ├── models.py │ │ └── utils.py │ ├── param_functions.py │ ├── params.py │ ├── py.typed │ ├── requests.py │ ├── responses.py │ ├── routing.py │ ├── security/ │ │ ├── __init__.py │ │ ├── api_key.py │ │ ├── base.py │ │ ├── http.py │ │ ├── oauth2.py │ │ ├── open_id_connect_url.py │ │ └── utils.py │ ├── sse.py │ ├── staticfiles.py │ ├── templating.py │ ├── testclient.py │ ├── types.py │ ├── utils.py │ └── websockets.py ├── fastapi-slim/ │ └── README.md ├── pyproject.toml ├── scripts/ │ ├── add_latest_release_date.py │ ├── contributors.py │ ├── coverage.sh │ ├── deploy_docs_status.py │ ├── doc_parsing_utils.py │ ├── docs.py │ ├── format.sh │ ├── general-llm-prompt.md │ ├── label_approved.py │ ├── lint.sh │ ├── mkdocs_hooks.py │ ├── notify_translations.py │ ├── people.py │ ├── playwright/ │ │ ├── cookie_param_models/ │ │ │ └── image01.py │ │ ├── header_param_models/ │ │ │ └── image01.py │ │ ├── json_base64_bytes/ │ │ │ └── image01.py │ │ ├── query_param_models/ │ │ │ └── image01.py │ │ ├── request_form_models/ │ │ │ └── image01.py │ │ ├── separate_openapi_schemas/ │ │ │ ├── image01.py │ │ │ ├── image02.py │ │ │ ├── image03.py │ │ │ ├── image04.py │ │ │ └── image05.py │ │ └── sql_databases/ │ │ ├── image01.py │ │ └── image02.py │ ├── sponsors.py │ ├── test-cov-html.sh │ ├── test-cov.sh │ ├── test.sh │ ├── tests/ │ │ └── test_translation_fixer/ │ │ ├── conftest.py │ │ ├── test_code_blocks/ │ │ │ ├── data/ │ │ │ │ ├── en_doc.md │ │ │ │ ├── translated_doc_lines_number_gt.md │ │ │ │ ├── translated_doc_lines_number_lt.md │ │ │ │ ├── translated_doc_mermaid_not_translated.md │ │ │ │ ├── translated_doc_mermaid_translated.md │ │ │ │ ├── translated_doc_number_gt.md │ │ │ │ ├── translated_doc_number_lt.md │ │ │ │ ├── translated_doc_wrong_lang_code.md │ │ │ │ └── translated_doc_wrong_lang_code_2.md │ │ │ ├── test_code_blocks_lines_number_mismatch.py │ │ │ ├── test_code_blocks_mermaid.py │ │ │ ├── test_code_blocks_number_mismatch.py │ │ │ └── test_code_blocks_wrong_lang_code.py │ │ ├── test_code_includes/ │ │ │ ├── data/ │ │ │ │ ├── en_doc.md │ │ │ │ ├── translated_doc_number_gt.md │ │ │ │ └── translated_doc_number_lt.md │ │ │ └── test_number_mismatch.py │ │ ├── test_complex_doc/ │ │ │ ├── data/ │ │ │ │ ├── en_doc.md │ │ │ │ ├── translated_doc.md │ │ │ │ └── translated_doc_expected.md │ │ │ └── test_compex_doc.py │ │ ├── test_header_permalinks/ │ │ │ ├── data/ │ │ │ │ ├── en_doc.md │ │ │ │ ├── translated_doc_level_mismatch_1.md │ │ │ │ ├── translated_doc_level_mismatch_2.md │ │ │ │ ├── translated_doc_number_gt.md │ │ │ │ └── translated_doc_number_lt.md │ │ │ ├── test_header_level_mismatch.py │ │ │ └── test_header_number_mismatch.py │ │ ├── test_html_links/ │ │ │ ├── data/ │ │ │ │ ├── en_doc.md │ │ │ │ ├── translated_doc_number_gt.md │ │ │ │ └── translated_doc_number_lt.md │ │ │ └── test_html_links_number_mismatch.py │ │ └── test_markdown_links/ │ │ ├── data/ │ │ │ ├── en_doc.md │ │ │ ├── translated_doc.md │ │ │ ├── translated_doc_number_gt.md │ │ │ └── translated_doc_number_lt.md │ │ └── test_mkd_links_number_mismatch.py │ ├── topic_repos.py │ ├── translate.py │ └── translation_fixer.py └── tests/ ├── __init__.py ├── benchmarks/ │ ├── __init__.py │ └── test_general_performance.py ├── forward_reference_type.py ├── main.py ├── test_additional_properties.py ├── test_additional_properties_bool.py ├── test_additional_response_extra.py ├── test_additional_responses_bad.py ├── test_additional_responses_custom_model_in_callback.py ├── test_additional_responses_custom_validationerror.py ├── test_additional_responses_default_validationerror.py ├── test_additional_responses_response_class.py ├── test_additional_responses_router.py ├── test_additional_responses_union_duplicate_anyof.py ├── test_allow_inf_nan_in_enforcing.py ├── test_ambiguous_params.py ├── test_annotated.py ├── test_application.py ├── test_arbitrary_types.py ├── test_callable_endpoint.py ├── test_compat.py ├── test_computed_fields.py ├── test_custom_middleware_exception.py ├── test_custom_route_class.py ├── test_custom_schema_fields.py ├── test_custom_swagger_ui_redirect.py ├── test_datastructures.py ├── test_datetime_custom_encoder.py ├── test_default_response_class.py ├── test_default_response_class_router.py ├── test_dependencies_utils.py ├── test_dependency_after_yield_raise.py ├── test_dependency_after_yield_streaming.py ├── test_dependency_after_yield_websockets.py ├── test_dependency_cache.py ├── test_dependency_class.py ├── test_dependency_contextmanager.py ├── test_dependency_contextvars.py ├── test_dependency_duplicates.py ├── test_dependency_overrides.py ├── test_dependency_paramless.py ├── test_dependency_partial.py ├── test_dependency_pep695.py ├── test_dependency_security_overrides.py ├── test_dependency_wrapped.py ├── test_dependency_yield_except_httpexception.py ├── test_dependency_yield_scope.py ├── test_dependency_yield_scope_websockets.py ├── test_depends_hashable.py ├── test_deprecated_openapi_prefix.py ├── test_deprecated_responses.py ├── test_dump_json_fast_path.py ├── test_duplicate_models_openapi.py ├── test_empty_router.py ├── test_enforce_once_required_parameter.py ├── test_exception_handlers.py ├── test_extra_routes.py ├── test_fastapi_cli.py ├── test_file_and_form_order_issue_9116.py ├── test_filter_pydantic_sub_model_pv2.py ├── test_form_default.py ├── test_forms_from_non_typing_sequences.py ├── test_forms_single_model.py ├── test_forms_single_param.py ├── test_generate_unique_id_function.py ├── test_generic_parameterless_depends.py ├── test_get_model_definitions_formfeed_escape.py ├── test_get_request_body.py ├── test_http_connection_injection.py ├── test_include_route.py ├── test_include_router_defaults_overrides.py ├── test_infer_param_optionality.py ├── test_inherited_custom_class.py ├── test_invalid_path_param.py ├── test_invalid_sequence_param.py ├── test_json_type.py ├── test_jsonable_encoder.py ├── test_list_bytes_file_order_preserved_issue_14811.py ├── test_local_docs.py ├── test_modules_same_name_body/ │ ├── __init__.py │ ├── app/ │ │ ├── __init__.py │ │ ├── a.py │ │ ├── b.py │ │ └── main.py │ └── test_main.py ├── test_multi_body_errors.py ├── test_multi_query_errors.py ├── test_multipart_installation.py ├── test_no_schema_split.py ├── test_no_swagger_ui_redirect.py ├── test_openapi_cache_root_path.py ├── test_openapi_examples.py ├── test_openapi_model_description_trim_on_formfeed.py ├── test_openapi_query_parameter_extension.py ├── test_openapi_route_extensions.py ├── test_openapi_schema_type.py ├── test_openapi_separate_input_output_schemas.py ├── test_openapi_servers.py ├── test_operations_signatures.py ├── test_optional_file_list.py ├── test_orjson_response_class.py ├── test_param_class.py ├── test_param_in_path_and_dependency.py ├── test_param_include_in_schema.py ├── test_params_repr.py ├── test_path.py ├── test_put_no_body.py ├── test_pydantic_v1_error.py ├── test_pydanticv2_dataclasses_uuid_stringified_annotations.py ├── test_query.py ├── test_query_cookie_header_model_extra_params.py ├── test_read_with_orm_mode.py ├── test_regex_deprecated_body.py ├── test_regex_deprecated_params.py ├── test_repeated_cookie_headers.py ├── test_repeated_dependency_schema.py ├── test_repeated_parameter_alias.py ├── test_request_body_parameters_media_type.py ├── test_request_param_model_by_alias.py ├── test_request_params/ │ ├── __init__.py │ ├── test_body/ │ │ ├── __init__.py │ │ ├── test_list.py │ │ ├── test_optional_list.py │ │ ├── test_optional_str.py │ │ ├── test_required_str.py │ │ └── utils.py │ ├── test_cookie/ │ │ ├── __init__.py │ │ ├── test_list.py │ │ ├── test_optional_list.py │ │ ├── test_optional_str.py │ │ └── test_required_str.py │ ├── test_file/ │ │ ├── __init__.py │ │ ├── test_list.py │ │ ├── test_optional.py │ │ ├── test_optional_list.py │ │ ├── test_required.py │ │ └── utils.py │ ├── test_form/ │ │ ├── __init__.py │ │ ├── test_list.py │ │ ├── test_optional_list.py │ │ ├── test_optional_str.py │ │ ├── test_required_str.py │ │ └── utils.py │ ├── test_header/ │ │ ├── __init__.py │ │ ├── test_list.py │ │ ├── test_optional_list.py │ │ ├── test_optional_str.py │ │ └── test_required_str.py │ ├── test_path/ │ │ ├── __init__.py │ │ ├── test_list.py │ │ ├── test_optional_list.py │ │ ├── test_optional_str.py │ │ └── test_required_str.py │ └── test_query/ │ ├── __init__.py │ ├── test_list.py │ ├── test_optional_list.py │ ├── test_optional_str.py │ └── test_required_str.py ├── test_required_noneable.py ├── test_response_by_alias.py ├── test_response_change_status_code.py ├── test_response_class_no_mediatype.py ├── test_response_code_no_body.py ├── test_response_dependency.py ├── test_response_model_as_return_annotation.py ├── test_response_model_data_filter.py ├── test_response_model_data_filter_no_inheritance.py ├── test_response_model_default_factory.py ├── test_response_model_include_exclude.py ├── test_response_model_invalid.py ├── test_response_model_sub_types.py ├── test_response_set_response_code_empty.py ├── test_return_none_stringified_annotations.py ├── test_route_scope.py ├── test_router_circular_import.py ├── test_router_events.py ├── test_router_prefix_with_template.py ├── test_router_redirect_slashes.py ├── test_schema_compat_pydantic_v2.py ├── test_schema_extra_examples.py ├── test_schema_ref_pydantic_v2.py ├── test_security_api_key_cookie.py ├── test_security_api_key_cookie_description.py ├── test_security_api_key_cookie_optional.py ├── test_security_api_key_header.py ├── test_security_api_key_header_description.py ├── test_security_api_key_header_optional.py ├── test_security_api_key_query.py ├── test_security_api_key_query_description.py ├── test_security_api_key_query_optional.py ├── test_security_http_base.py ├── test_security_http_base_description.py ├── test_security_http_base_optional.py ├── test_security_http_basic_optional.py ├── test_security_http_basic_realm.py ├── test_security_http_basic_realm_description.py ├── test_security_http_bearer.py ├── test_security_http_bearer_description.py ├── test_security_http_bearer_optional.py ├── test_security_http_digest.py ├── test_security_http_digest_description.py ├── test_security_http_digest_optional.py ├── test_security_oauth2.py ├── test_security_oauth2_authorization_code_bearer.py ├── test_security_oauth2_authorization_code_bearer_description.py ├── test_security_oauth2_authorization_code_bearer_scopes_openapi.py ├── test_security_oauth2_authorization_code_bearer_scopes_openapi_simple.py ├── test_security_oauth2_optional.py ├── test_security_oauth2_optional_description.py ├── test_security_oauth2_password_bearer_optional.py ├── test_security_oauth2_password_bearer_optional_description.py ├── test_security_openid_connect.py ├── test_security_openid_connect_description.py ├── test_security_openid_connect_optional.py ├── test_security_scopes.py ├── test_security_scopes_dont_propagate.py ├── test_security_scopes_sub_dependency.py ├── test_serialize_response.py ├── test_serialize_response_dataclass.py ├── test_serialize_response_model.py ├── test_skip_defaults.py ├── test_sse.py ├── test_starlette_exception.py ├── test_starlette_urlconvertors.py ├── test_stream_bare_type.py ├── test_stream_cancellation.py ├── test_stream_json_validation_error.py ├── test_strict_content_type_app_level.py ├── test_strict_content_type_nested.py ├── test_strict_content_type_router_level.py ├── test_stringified_annotation_dependency.py ├── test_stringified_annotation_dependency_py314.py ├── test_stringified_annotations_simple.py ├── test_sub_callbacks.py ├── test_swagger_ui_escape.py ├── test_swagger_ui_init_oauth.py ├── test_top_level_security_scheme_in_openapi.py ├── test_tuples.py ├── test_tutorial/ │ ├── __init__.py │ ├── test_additional_responses/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ └── test_tutorial004.py │ ├── test_additional_status_codes/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_advanced_middleware/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ └── test_tutorial003.py │ ├── test_async_tests/ │ │ ├── __init__.py │ │ └── test_main_a.py │ ├── test_authentication_error_status_code/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_background_tasks/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_behind_a_proxy/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial001_01.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ └── test_tutorial004.py │ ├── test_bigger_applications/ │ │ ├── __init__.py │ │ └── test_main.py │ ├── test_body/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ └── test_tutorial004.py │ ├── test_body_fields/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_body_multiple_params/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ └── test_tutorial005.py │ ├── test_body_nested_models/ │ │ ├── __init__.py │ │ ├── test_tutorial001_tutorial002_tutorial003.py │ │ ├── test_tutorial004.py │ │ ├── test_tutorial005.py │ │ ├── test_tutorial006.py │ │ ├── test_tutorial007.py │ │ ├── test_tutorial008.py │ │ └── test_tutorial009.py │ ├── test_body_updates/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_conditional_openapi/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_configure_swagger_ui/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ └── test_tutorial003.py │ ├── test_cookie_param_models/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_cookie_params/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_cors/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_custom_docs_ui/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_custom_request_and_route/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ └── test_tutorial003.py │ ├── test_custom_response/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial001b.py │ │ ├── test_tutorial002_tutorial003_tutorial004.py │ │ ├── test_tutorial005.py │ │ ├── test_tutorial006.py │ │ ├── test_tutorial006b.py │ │ ├── test_tutorial006c.py │ │ ├── test_tutorial007.py │ │ ├── test_tutorial008.py │ │ ├── test_tutorial009.py │ │ ├── test_tutorial009b.py │ │ ├── test_tutorial009c.py │ │ └── test_tutorial010.py │ ├── test_dataclasses/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ └── test_tutorial003.py │ ├── test_debugging/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_dependencies/ │ │ ├── __init__.py │ │ ├── test_tutorial001_tutorial001_02.py │ │ ├── test_tutorial002_tutorial003_tutorial004.py │ │ ├── test_tutorial005.py │ │ ├── test_tutorial006.py │ │ ├── test_tutorial007.py │ │ ├── test_tutorial008.py │ │ ├── test_tutorial008b.py │ │ ├── test_tutorial008c.py │ │ ├── test_tutorial008d.py │ │ ├── test_tutorial008e.py │ │ ├── test_tutorial010.py │ │ ├── test_tutorial011.py │ │ └── test_tutorial012.py │ ├── test_encoder/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_events/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ └── test_tutorial003.py │ ├── test_extending_openapi/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_extra_data_types/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_extra_models/ │ │ ├── __init__.py │ │ ├── test_tutorial001_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ └── test_tutorial005.py │ ├── test_first_steps/ │ │ ├── __init__.py │ │ └── test_tutorial001_tutorial002_tutorial003.py │ ├── test_generate_clients/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ └── test_tutorial004.py │ ├── test_graphql/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_handling_errors/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ ├── test_tutorial005.py │ │ └── test_tutorial006.py │ ├── test_header_param_models/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ └── test_tutorial003.py │ ├── test_header_params/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ └── test_tutorial003.py │ ├── test_json_base64_bytes/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_metadata/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial001_1.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ └── test_tutorial004.py │ ├── test_middleware/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_openapi_callbacks/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_openapi_webhooks/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_path_operation_advanced_configurations/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ ├── test_tutorial005.py │ │ ├── test_tutorial006.py │ │ └── test_tutorial007.py │ ├── test_path_operation_configurations/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial002b.py │ │ ├── test_tutorial003_tutorial004.py │ │ ├── test_tutorial005.py │ │ └── test_tutorial006.py │ ├── test_path_params/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial003b.py │ │ ├── test_tutorial004.py │ │ └── test_tutorial005.py │ ├── test_path_params_numeric_validations/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002_tutorial003.py │ │ ├── test_tutorial004.py │ │ ├── test_tutorial005.py │ │ └── test_tutorial006.py │ ├── test_python_types/ │ │ ├── __init__.py │ │ ├── test_tutorial001_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ ├── test_tutorial005.py │ │ ├── test_tutorial006.py │ │ ├── test_tutorial007.py │ │ ├── test_tutorial008.py │ │ ├── test_tutorial008b.py │ │ ├── test_tutorial009_tutorial009b.py │ │ ├── test_tutorial010.py │ │ ├── test_tutorial011.py │ │ └── test_tutorial013.py │ ├── test_query_param_models/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_query_params/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ ├── test_tutorial005.py │ │ └── test_tutorial006.py │ ├── test_query_params_str_validations/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ ├── test_tutorial005.py │ │ ├── test_tutorial006.py │ │ ├── test_tutorial006c.py │ │ ├── test_tutorial007.py │ │ ├── test_tutorial008.py │ │ ├── test_tutorial009.py │ │ ├── test_tutorial010.py │ │ ├── test_tutorial011.py │ │ ├── test_tutorial012.py │ │ ├── test_tutorial013.py │ │ ├── test_tutorial014.py │ │ └── test_tutorial015.py │ ├── test_request_files/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial001_02.py │ │ ├── test_tutorial001_03.py │ │ ├── test_tutorial002.py │ │ └── test_tutorial003.py │ ├── test_request_form_models/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_request_forms/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_request_forms_and_files/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_response_change_status_code/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_response_cookies/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_response_directly/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_response_headers/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_response_model/ │ │ ├── __init__.py │ │ ├── test_tutorial001_tutorial001_01.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial003_01.py │ │ ├── test_tutorial003_02.py │ │ ├── test_tutorial003_03.py │ │ ├── test_tutorial003_04.py │ │ ├── test_tutorial003_05.py │ │ ├── test_tutorial004.py │ │ ├── test_tutorial005.py │ │ └── test_tutorial006.py │ ├── test_response_status_code/ │ │ ├── __init__.py │ │ └── test_tutorial001_tutorial002.py │ ├── test_schema_extra_example/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ └── test_tutorial005.py │ ├── test_security/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ ├── test_tutorial005.py │ │ ├── test_tutorial006.py │ │ └── test_tutorial007.py │ ├── test_separate_openapi_schemas/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_server_sent_events/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ ├── test_tutorial004.py │ │ └── test_tutorial005.py │ ├── test_settings/ │ │ ├── __init__.py │ │ ├── test_app01.py │ │ ├── test_app02.py │ │ ├── test_app03.py │ │ └── test_tutorial001.py │ ├── test_sql_databases/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_static_files/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_stream_data/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ └── test_tutorial002.py │ ├── test_stream_json_lines/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_strict_content_type/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_sub_applications/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_templates/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_testing/ │ │ ├── __init__.py │ │ ├── test_main_a.py │ │ ├── test_main_b.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ ├── test_tutorial003.py │ │ └── test_tutorial004.py │ ├── test_testing_dependencies/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_using_request_directly/ │ │ ├── __init__.py │ │ └── test_tutorial001.py │ ├── test_websockets/ │ │ ├── __init__.py │ │ ├── test_tutorial001.py │ │ ├── test_tutorial002.py │ │ └── test_tutorial003.py │ └── test_wsgi/ │ ├── __init__.py │ └── test_tutorial001.py ├── test_typing_python39.py ├── test_union_body.py ├── test_union_body_discriminator.py ├── test_union_body_discriminator_annotated.py ├── test_union_forms.py ├── test_union_inherited_body.py ├── test_validate_response.py ├── test_validate_response_dataclass.py ├── test_validate_response_recursive/ │ ├── __init__.py │ ├── app.py │ └── test_validate_response_recursive.py ├── test_validation_error_context.py ├── test_webhooks_security.py ├── test_wrapped_method_forward_reference.py ├── test_ws_dependencies.py ├── test_ws_router.py └── utils.py