From 632909b5f6449efd0f0d86e44a6d07e33588a3be Mon Sep 17 00:00:00 2001 From: The Librarian Date: Tue, 11 Aug 2026 04:00:11 +0000 Subject: [PATCH] Sync fastapi docs from 3e8d1526 on 2026-08-11 --- .SYNC_INFO.md | 4 +- docs/de/docs/tutorial/frontend.md | 6 + docs/en/data/github_sponsors.yml | 271 +++--- docs/en/data/members.yml | 18 +- docs/en/data/skip_users.yml | 1 + docs/en/data/sponsors.yml | 2 +- docs/en/data/topic_repos.yml | 409 ++++----- docs/en/docs/advanced/additional-responses.md | 4 +- docs/en/docs/advanced/async-tests.md | 2 +- docs/en/docs/advanced/behind-a-proxy.md | 10 +- docs/en/docs/advanced/dataclasses.md | 4 +- docs/en/docs/advanced/events.md | 2 +- docs/en/docs/advanced/generate-clients.md | 2 +- docs/en/docs/advanced/middleware.md | 4 +- docs/en/docs/advanced/openapi-callbacks.md | 6 +- docs/en/docs/advanced/response-cookies.md | 2 +- docs/en/docs/advanced/response-headers.md | 2 +- docs/en/docs/advanced/settings.md | 44 +- docs/en/docs/advanced/sub-applications.md | 2 +- docs/en/docs/advanced/templates.md | 6 +- docs/en/docs/advanced/testing-events.md | 2 +- docs/en/docs/advanced/testing-websockets.md | 2 +- .../docs/advanced/using-request-directly.md | 4 +- docs/en/docs/advanced/websockets.md | 12 +- docs/en/docs/advanced/wsgi.md | 2 +- docs/en/docs/alternatives.md | 12 +- docs/en/docs/css/termynal.css | 11 +- docs/en/docs/deployment/docker.md | 34 +- docs/en/docs/deployment/fastapicloud.md | 2 +- docs/en/docs/deployment/manually.md | 10 +- docs/en/docs/deployment/server-workers.md | 2 +- docs/en/docs/environment-variables.md | 297 +----- docs/en/docs/external-links.md | 2 +- docs/en/docs/fastapi-cli.md | 12 +- docs/en/docs/fastapi-people.md | 169 +--- docs/en/docs/features.md | 6 +- docs/en/docs/help-fastapi.md | 22 +- docs/en/docs/history-design-future.md | 4 +- .../docs/how-to/custom-request-and-route.md | 2 +- docs/en/docs/how-to/extending-openapi.md | 2 +- docs/en/docs/how-to/graphql.md | 2 +- ...migrate-from-pydantic-v1-to-pydantic-v2.md | 2 +- docs/en/docs/index.md | 36 +- docs/en/docs/js/termynal.js | 18 +- docs/en/docs/management.md | 10 - docs/en/docs/project-generation.md | 4 +- docs/en/docs/python-types.md | 4 +- docs/en/docs/reference/sse.md | 17 + docs/en/docs/release-notes.md | 211 ++++- docs/en/docs/tutorial/background-tasks.md | 4 +- docs/en/docs/tutorial/bigger-applications.md | 4 +- docs/en/docs/tutorial/body-nested-models.md | 2 +- docs/en/docs/tutorial/body.md | 2 +- docs/en/docs/tutorial/debugging.md | 4 +- docs/en/docs/tutorial/extra-data-types.md | 4 +- docs/en/docs/tutorial/extra-models.md | 2 +- docs/en/docs/tutorial/first-steps.md | 18 +- docs/en/docs/tutorial/frontend.md | 12 +- docs/en/docs/tutorial/handling-errors.md | 2 +- docs/en/docs/tutorial/index.md | 70 +- docs/en/docs/tutorial/middleware.md | 2 +- docs/en/docs/tutorial/path-params.md | 4 +- .../tutorial/query-params-str-validations.md | 4 +- docs/en/docs/tutorial/request-files.md | 4 +- docs/en/docs/tutorial/request-form-models.md | 4 +- .../docs/tutorial/request-forms-and-files.md | 4 +- docs/en/docs/tutorial/request-forms.md | 4 +- docs/en/docs/tutorial/response-model.md | 8 +- docs/en/docs/tutorial/schema-extra-example.md | 2 +- docs/en/docs/tutorial/security/first-steps.md | 10 +- docs/en/docs/tutorial/security/oauth2-jwt.md | 8 +- docs/en/docs/tutorial/sql-databases.md | 8 +- docs/en/docs/tutorial/static-files.md | 2 +- docs/en/docs/tutorial/testing.md | 12 +- docs/en/docs/virtual-environments.md | 849 +----------------- docs/en/mkdocs.yml | 7 +- docs/es/docs/tutorial/frontend.md | 6 + docs/fr/docs/tutorial/frontend.md | 6 + docs/hi/docs/about/index.md | 3 + docs/hi/docs/advanced/additional-responses.md | 247 +++++ .../docs/advanced/additional-status-codes.md | 41 + .../hi/docs/advanced/advanced-dependencies.md | 163 ++++ .../hi/docs/advanced/advanced-python-types.md | 61 ++ docs/hi/docs/advanced/async-tests.md | 99 ++ docs/hi/docs/advanced/behind-a-proxy.md | 466 ++++++++++ docs/hi/docs/advanced/custom-response.md | 273 ++++++ docs/hi/docs/advanced/dataclasses.md | 95 ++ docs/hi/docs/advanced/events.md | 165 ++++ docs/hi/docs/advanced/generate-clients.md | 192 ++++ docs/hi/docs/advanced/index.md | 21 + docs/hi/docs/advanced/json-base64-bytes.md | 63 ++ docs/hi/docs/advanced/middleware.md | 97 ++ docs/hi/docs/advanced/openapi-callbacks.md | 186 ++++ docs/hi/docs/advanced/openapi-webhooks.md | 55 ++ .../path-operation-advanced-configuration.md | 166 ++++ .../advanced/response-change-status-code.md | 31 + docs/hi/docs/advanced/response-cookies.md | 51 ++ docs/hi/docs/advanced/response-directly.md | 83 ++ docs/hi/docs/advanced/response-headers.md | 41 + .../docs/advanced/security/http-basic-auth.md | 107 +++ docs/hi/docs/advanced/security/index.md | 19 + .../docs/advanced/security/oauth2-scopes.md | 274 ++++++ docs/hi/docs/advanced/settings.md | 302 +++++++ docs/hi/docs/advanced/stream-data.md | 117 +++ docs/hi/docs/advanced/strict-content-type.md | 88 ++ docs/hi/docs/advanced/sub-applications.md | 67 ++ docs/hi/docs/advanced/templates.md | 126 +++ docs/hi/docs/advanced/testing-dependencies.md | 53 ++ docs/hi/docs/advanced/testing-events.md | 12 + docs/hi/docs/advanced/testing-websockets.md | 13 + .../docs/advanced/using-request-directly.md | 56 ++ docs/hi/docs/advanced/websockets.md | 186 ++++ docs/hi/docs/advanced/wsgi.md | 51 ++ docs/hi/docs/deployment/cloud.md | 24 + docs/hi/docs/deployment/concepts.md | 321 +++++++ docs/hi/docs/deployment/docker.md | 618 +++++++++++++ docs/hi/docs/deployment/fastapicloud.md | 47 + docs/hi/docs/deployment/https.md | 231 +++++ docs/hi/docs/deployment/index.md | 23 + docs/hi/docs/deployment/manually.md | 156 ++++ docs/hi/docs/deployment/server-workers.md | 139 +++ docs/hi/docs/deployment/versions.md | 93 ++ docs/hi/docs/environment-variables.md | 298 ++++++ docs/hi/docs/help-fastapi.md | 87 ++ .../authentication-error-status-code.md | 17 + docs/hi/docs/how-to/conditional-openapi.md | 56 ++ docs/hi/docs/how-to/configure-swagger-ui.md | 70 ++ docs/hi/docs/how-to/custom-docs-ui-assets.md | 185 ++++ .../docs/how-to/custom-request-and-route.md | 109 +++ docs/hi/docs/how-to/extending-openapi.md | 88 ++ docs/hi/docs/how-to/general.md | 43 + docs/hi/docs/how-to/graphql.md | 60 ++ docs/hi/docs/how-to/index.md | 13 + ...migrate-from-pydantic-v1-to-pydantic-v2.md | 153 ++++ .../docs/how-to/separate-openapi-schemas.md | 102 +++ docs/hi/docs/how-to/testing-database.md | 7 + docs/hi/docs/learn/index.md | 5 + docs/hi/docs/resources/index.md | 3 + docs/hi/docs/tutorial/background-tasks.md | 86 ++ docs/hi/docs/tutorial/bigger-applications.md | 547 +++++++++++ docs/hi/docs/tutorial/body-fields.md | 61 ++ docs/hi/docs/tutorial/body-multiple-params.md | 169 ++++ docs/hi/docs/tutorial/body-nested-models.md | 221 +++++ docs/hi/docs/tutorial/body-updates.md | 100 +++ docs/hi/docs/tutorial/body.md | 166 ++++ docs/hi/docs/tutorial/cookie-param-models.md | 76 ++ docs/hi/docs/tutorial/cookie-params.md | 45 + docs/hi/docs/tutorial/cors.md | 89 ++ docs/hi/docs/tutorial/debugging.md | 113 +++ .../dependencies/classes-as-dependencies.md | 288 ++++++ ...pendencies-in-path-operation-decorators.md | 69 ++ .../dependencies/dependencies-with-yield.md | 289 ++++++ .../dependencies/global-dependencies.md | 16 + docs/hi/docs/tutorial/dependencies/index.md | 250 ++++++ .../tutorial/dependencies/sub-dependencies.md | 105 +++ docs/hi/docs/tutorial/encoder.md | 35 + docs/hi/docs/tutorial/extra-data-types.md | 62 ++ docs/hi/docs/tutorial/extra-models.md | 211 +++++ docs/hi/docs/tutorial/first-steps.md | 421 +++++++++ docs/hi/docs/tutorial/frontend.md | 139 +++ docs/hi/docs/tutorial/handling-errors.md | 244 +++++ docs/hi/docs/tutorial/header-param-models.md | 72 ++ docs/hi/docs/tutorial/header-params.md | 91 ++ docs/hi/docs/tutorial/index.md | 101 +++ docs/hi/docs/tutorial/metadata.md | 120 +++ docs/hi/docs/tutorial/middleware.md | 95 ++ .../tutorial/path-operation-configuration.md | 107 +++ .../path-params-numeric-validations.md | 154 ++++ docs/hi/docs/tutorial/path-params.md | 251 ++++++ docs/hi/docs/tutorial/query-param-models.md | 68 ++ .../tutorial/query-params-str-validations.md | 450 ++++++++++ docs/hi/docs/tutorial/query-params.md | 188 ++++ docs/hi/docs/tutorial/request-files.md | 176 ++++ docs/hi/docs/tutorial/request-form-models.md | 78 ++ .../docs/tutorial/request-forms-and-files.md | 41 + docs/hi/docs/tutorial/request-forms.md | 73 ++ docs/hi/docs/tutorial/response-model.md | 344 +++++++ docs/hi/docs/tutorial/response-status-code.md | 101 +++ docs/hi/docs/tutorial/schema-extra-example.md | 202 +++++ docs/hi/docs/tutorial/security/first-steps.md | 203 +++++ .../tutorial/security/get-current-user.md | 105 +++ docs/hi/docs/tutorial/security/index.md | 105 +++ docs/hi/docs/tutorial/security/oauth2-jwt.md | 277 ++++++ .../docs/tutorial/security/simple-oauth2.md | 289 ++++++ docs/hi/docs/tutorial/server-sent-events.md | 120 +++ docs/hi/docs/tutorial/sql-databases.md | 357 ++++++++ docs/hi/docs/tutorial/static-files.md | 48 + docs/hi/docs/tutorial/stream-json-lines.md | 111 +++ docs/hi/docs/tutorial/testing.md | 193 ++++ docs/ja/docs/tutorial/frontend.md | 6 + docs/ko/docs/features.md | 6 +- docs/ko/docs/history-design-future.md | 6 +- docs/ko/docs/tutorial/frontend.md | 6 + docs/pt/docs/tutorial/frontend.md | 8 +- docs/ru/docs/tutorial/frontend.md | 6 + docs/tr/docs/tutorial/frontend.md | 6 + docs/uk/docs/tutorial/frontend.md | 6 + docs/zh-hant/docs/tutorial/frontend.md | 6 + docs/zh/docs/tutorial/frontend.md | 6 + 199 files changed, 16315 insertions(+), 1869 deletions(-) create mode 100644 docs/en/docs/reference/sse.md create mode 100644 docs/hi/docs/about/index.md create mode 100644 docs/hi/docs/advanced/additional-responses.md create mode 100644 docs/hi/docs/advanced/additional-status-codes.md create mode 100644 docs/hi/docs/advanced/advanced-dependencies.md create mode 100644 docs/hi/docs/advanced/advanced-python-types.md create mode 100644 docs/hi/docs/advanced/async-tests.md create mode 100644 docs/hi/docs/advanced/behind-a-proxy.md create mode 100644 docs/hi/docs/advanced/custom-response.md create mode 100644 docs/hi/docs/advanced/dataclasses.md create mode 100644 docs/hi/docs/advanced/events.md create mode 100644 docs/hi/docs/advanced/generate-clients.md create mode 100644 docs/hi/docs/advanced/index.md create mode 100644 docs/hi/docs/advanced/json-base64-bytes.md create mode 100644 docs/hi/docs/advanced/middleware.md create mode 100644 docs/hi/docs/advanced/openapi-callbacks.md create mode 100644 docs/hi/docs/advanced/openapi-webhooks.md create mode 100644 docs/hi/docs/advanced/path-operation-advanced-configuration.md create mode 100644 docs/hi/docs/advanced/response-change-status-code.md create mode 100644 docs/hi/docs/advanced/response-cookies.md create mode 100644 docs/hi/docs/advanced/response-directly.md create mode 100644 docs/hi/docs/advanced/response-headers.md create mode 100644 docs/hi/docs/advanced/security/http-basic-auth.md create mode 100644 docs/hi/docs/advanced/security/index.md create mode 100644 docs/hi/docs/advanced/security/oauth2-scopes.md create mode 100644 docs/hi/docs/advanced/settings.md create mode 100644 docs/hi/docs/advanced/stream-data.md create mode 100644 docs/hi/docs/advanced/strict-content-type.md create mode 100644 docs/hi/docs/advanced/sub-applications.md create mode 100644 docs/hi/docs/advanced/templates.md create mode 100644 docs/hi/docs/advanced/testing-dependencies.md create mode 100644 docs/hi/docs/advanced/testing-events.md create mode 100644 docs/hi/docs/advanced/testing-websockets.md create mode 100644 docs/hi/docs/advanced/using-request-directly.md create mode 100644 docs/hi/docs/advanced/websockets.md create mode 100644 docs/hi/docs/advanced/wsgi.md create mode 100644 docs/hi/docs/deployment/cloud.md create mode 100644 docs/hi/docs/deployment/concepts.md create mode 100644 docs/hi/docs/deployment/docker.md create mode 100644 docs/hi/docs/deployment/fastapicloud.md create mode 100644 docs/hi/docs/deployment/https.md create mode 100644 docs/hi/docs/deployment/index.md create mode 100644 docs/hi/docs/deployment/manually.md create mode 100644 docs/hi/docs/deployment/server-workers.md create mode 100644 docs/hi/docs/deployment/versions.md create mode 100644 docs/hi/docs/environment-variables.md create mode 100644 docs/hi/docs/help-fastapi.md create mode 100644 docs/hi/docs/how-to/authentication-error-status-code.md create mode 100644 docs/hi/docs/how-to/conditional-openapi.md create mode 100644 docs/hi/docs/how-to/configure-swagger-ui.md create mode 100644 docs/hi/docs/how-to/custom-docs-ui-assets.md create mode 100644 docs/hi/docs/how-to/custom-request-and-route.md create mode 100644 docs/hi/docs/how-to/extending-openapi.md create mode 100644 docs/hi/docs/how-to/general.md create mode 100644 docs/hi/docs/how-to/graphql.md create mode 100644 docs/hi/docs/how-to/index.md create mode 100644 docs/hi/docs/how-to/migrate-from-pydantic-v1-to-pydantic-v2.md create mode 100644 docs/hi/docs/how-to/separate-openapi-schemas.md create mode 100644 docs/hi/docs/how-to/testing-database.md create mode 100644 docs/hi/docs/learn/index.md create mode 100644 docs/hi/docs/resources/index.md create mode 100644 docs/hi/docs/tutorial/background-tasks.md create mode 100644 docs/hi/docs/tutorial/bigger-applications.md create mode 100644 docs/hi/docs/tutorial/body-fields.md create mode 100644 docs/hi/docs/tutorial/body-multiple-params.md create mode 100644 docs/hi/docs/tutorial/body-nested-models.md create mode 100644 docs/hi/docs/tutorial/body-updates.md create mode 100644 docs/hi/docs/tutorial/body.md create mode 100644 docs/hi/docs/tutorial/cookie-param-models.md create mode 100644 docs/hi/docs/tutorial/cookie-params.md create mode 100644 docs/hi/docs/tutorial/cors.md create mode 100644 docs/hi/docs/tutorial/debugging.md create mode 100644 docs/hi/docs/tutorial/dependencies/classes-as-dependencies.md create mode 100644 docs/hi/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md create mode 100644 docs/hi/docs/tutorial/dependencies/dependencies-with-yield.md create mode 100644 docs/hi/docs/tutorial/dependencies/global-dependencies.md create mode 100644 docs/hi/docs/tutorial/dependencies/index.md create mode 100644 docs/hi/docs/tutorial/dependencies/sub-dependencies.md create mode 100644 docs/hi/docs/tutorial/encoder.md create mode 100644 docs/hi/docs/tutorial/extra-data-types.md create mode 100644 docs/hi/docs/tutorial/extra-models.md create mode 100644 docs/hi/docs/tutorial/first-steps.md create mode 100644 docs/hi/docs/tutorial/frontend.md create mode 100644 docs/hi/docs/tutorial/handling-errors.md create mode 100644 docs/hi/docs/tutorial/header-param-models.md create mode 100644 docs/hi/docs/tutorial/header-params.md create mode 100644 docs/hi/docs/tutorial/index.md create mode 100644 docs/hi/docs/tutorial/metadata.md create mode 100644 docs/hi/docs/tutorial/middleware.md create mode 100644 docs/hi/docs/tutorial/path-operation-configuration.md create mode 100644 docs/hi/docs/tutorial/path-params-numeric-validations.md create mode 100644 docs/hi/docs/tutorial/path-params.md create mode 100644 docs/hi/docs/tutorial/query-param-models.md create mode 100644 docs/hi/docs/tutorial/query-params-str-validations.md create mode 100644 docs/hi/docs/tutorial/query-params.md create mode 100644 docs/hi/docs/tutorial/request-files.md create mode 100644 docs/hi/docs/tutorial/request-form-models.md create mode 100644 docs/hi/docs/tutorial/request-forms-and-files.md create mode 100644 docs/hi/docs/tutorial/request-forms.md create mode 100644 docs/hi/docs/tutorial/response-model.md create mode 100644 docs/hi/docs/tutorial/response-status-code.md create mode 100644 docs/hi/docs/tutorial/schema-extra-example.md create mode 100644 docs/hi/docs/tutorial/security/first-steps.md create mode 100644 docs/hi/docs/tutorial/security/get-current-user.md create mode 100644 docs/hi/docs/tutorial/security/index.md create mode 100644 docs/hi/docs/tutorial/security/oauth2-jwt.md create mode 100644 docs/hi/docs/tutorial/security/simple-oauth2.md create mode 100644 docs/hi/docs/tutorial/server-sent-events.md create mode 100644 docs/hi/docs/tutorial/sql-databases.md create mode 100644 docs/hi/docs/tutorial/static-files.md create mode 100644 docs/hi/docs/tutorial/stream-json-lines.md create mode 100644 docs/hi/docs/tutorial/testing.md diff --git a/.SYNC_INFO.md b/.SYNC_INFO.md index 73440fd..63aa06b 100644 --- a/.SYNC_INFO.md +++ b/.SYNC_INFO.md @@ -4,8 +4,8 @@ This is a mirror of the Fastapi repository. **Synced from:** https://github.com/tiangolo/fastapi.git **Branch:** master -**Commit:** 7cb06f360dd44efac059848df1a9beee7643b018 -**Sync Date:** 2026-07-11 +**Commit:** 3e8d1526d83a90aaf7d6eb6dc682bf150f180b25 +**Sync Date:** 2026-08-11 **Content:** Paths: docs, docs_src --- diff --git a/docs/de/docs/tutorial/frontend.md b/docs/de/docs/tutorial/frontend.md index 9cd4644..55213e5 100644 --- a/docs/de/docs/tutorial/frontend.md +++ b/docs/de/docs/tutorial/frontend.md @@ -126,6 +126,12 @@ In diesem Beispiel werden Frontend-Pfade unter `/app` bereitgestellt. Alle regulären *Pfadoperationen* in der App haben weiterhin Vorrang, auch in anderen Routern. +## Abhängigkeiten und Middleware { #dependencies-and-middleware } + +Frontend-Responses laufen innerhalb der normalen **FastAPI**-Anwendung, daher gilt HTTP-Middleware für sie. + +Abhängigkeiten aus der App, aus einem `APIRouter` und aus `include_router()` gelten ebenfalls für Frontend-Responses. Das kann nützlich sein, um ein Frontend mit Cookie-Authentifizierung oder Ähnlichem zu schützen. + ## Nur statischer Build-Output { #static-build-output-only } `app.frontend()` liefert Dateien aus, die bereits von Ihrem Frontend-Build generiert wurden. diff --git a/docs/en/data/github_sponsors.yml b/docs/en/data/github_sponsors.yml index 971687d..519e7af 100644 --- a/docs/en/data/github_sponsors.yml +++ b/docs/en/data/github_sponsors.yml @@ -11,9 +11,6 @@ sponsors: - login: coderabbitai avatarUrl: https://avatars.githubusercontent.com/u/132028505?v=4 url: https://github.com/coderabbitai - - login: zuplo - avatarUrl: https://avatars.githubusercontent.com/u/85497839?v=4 - url: https://github.com/zuplo - login: blockbee-io avatarUrl: https://avatars.githubusercontent.com/u/115143449?u=1b8620c2d6567c4df2111a371b85a51f448f9b85&v=4 url: https://github.com/blockbee-io @@ -23,12 +20,12 @@ sponsors: - login: railwayapp avatarUrl: https://avatars.githubusercontent.com/u/66716858?v=4 url: https://github.com/railwayapp -- - login: speakeasy-api - avatarUrl: https://avatars.githubusercontent.com/u/91446104?v=4 - url: https://github.com/speakeasy-api - - login: stainless-api - avatarUrl: https://avatars.githubusercontent.com/u/88061651?v=4 - url: https://github.com/stainless-api +- - login: dribia + avatarUrl: https://avatars.githubusercontent.com/u/41189616?v=4 + url: https://github.com/dribia + - login: BairesDev-LLC + avatarUrl: https://avatars.githubusercontent.com/u/133211198?u=c1462ade28fe251414bfedc28ce3f10242d44843&v=4 + url: https://github.com/BairesDev-LLC - login: svix avatarUrl: https://avatars.githubusercontent.com/u/80175132?v=4 url: https://github.com/svix @@ -38,19 +35,22 @@ sponsors: - login: databento avatarUrl: https://avatars.githubusercontent.com/u/64141749?v=4 url: https://github.com/databento + - login: tutorcruncher + avatarUrl: https://avatars.githubusercontent.com/u/3341959?v=4 + url: https://github.com/tutorcruncher - - login: LambdaTest-Inc - avatarUrl: https://avatars.githubusercontent.com/u/171592363?u=96606606a45fa170427206199014f2a5a2a4920b&v=4 + avatarUrl: https://avatars.githubusercontent.com/u/171592363?u=080d9ba6069d0ff2a0558825ff2f667c45807687&v=4 url: https://github.com/LambdaTest-Inc - - login: Ponte-Energy-Partners - avatarUrl: https://avatars.githubusercontent.com/u/114745848?v=4 - url: https://github.com/Ponte-Energy-Partners - login: BoostryJP avatarUrl: https://avatars.githubusercontent.com/u/57932412?v=4 url: https://github.com/BoostryJP - login: acsone avatarUrl: https://avatars.githubusercontent.com/u/7601056?v=4 url: https://github.com/acsone -- - login: scalar +- - login: manulife-ai + avatarUrl: https://avatars.githubusercontent.com/u/195145621?v=4 + url: https://github.com/manulife-ai + - login: scalar avatarUrl: https://avatars.githubusercontent.com/u/301879?v=4 url: https://github.com/scalar - login: Trivie @@ -62,9 +62,6 @@ sponsors: - login: Doist avatarUrl: https://avatars.githubusercontent.com/u/2565372?v=4 url: https://github.com/Doist -- - login: mainframeindustries - avatarUrl: https://avatars.githubusercontent.com/u/55092103?v=4 - url: https://github.com/mainframeindustries - - login: alixlahuec avatarUrl: https://avatars.githubusercontent.com/u/29543316?u=44357eb2a93bccf30fb9d389b8befe94a3d00985&v=4 url: https://github.com/alixlahuec @@ -77,9 +74,6 @@ sponsors: - login: ChargeStorm avatarUrl: https://avatars.githubusercontent.com/u/26000165?v=4 url: https://github.com/ChargeStorm - - login: ibrahimpelumi6142 - avatarUrl: https://avatars.githubusercontent.com/u/113442282?v=4 - url: https://github.com/ibrahimpelumi6142 - login: nilslindemann avatarUrl: https://avatars.githubusercontent.com/u/6892179?u=1dca6a22195d6cd1ab20737c0e19a4c55d639472&v=4 url: https://github.com/nilslindemann @@ -89,33 +83,30 @@ sponsors: - login: otosky avatarUrl: https://avatars.githubusercontent.com/u/42260747?u=69d089387c743d89427aa4ad8740cfb34045a9e0&v=4 url: https://github.com/otosky - - login: ramonalmeidam - avatarUrl: https://avatars.githubusercontent.com/u/45269580?u=3358750b3a5854d7c3ed77aaca7dd20a0f529d32&v=4 - url: https://github.com/ramonalmeidam - - login: roboflow - avatarUrl: https://avatars.githubusercontent.com/u/53104118?v=4 - url: https://github.com/roboflow - - login: dudikbender - avatarUrl: https://avatars.githubusercontent.com/u/53487583?u=3a57542938ebfd57579a0111db2b297e606d9681&v=4 - url: https://github.com/dudikbender - - login: ehaca - avatarUrl: https://avatars.githubusercontent.com/u/25950317?u=cec1a3e0643b785288ae8260cc295a85ab344995&v=4 - url: https://github.com/ehaca - - login: raphaellaude - avatarUrl: https://avatars.githubusercontent.com/u/28026311?u=91e1c00d9ac4f8045527e13de8050d504531cbc0&v=4 - url: https://github.com/raphaellaude - - login: timlrx - avatarUrl: https://avatars.githubusercontent.com/u/28362229?u=9a745ca31372ee324af682715ae88ce8522f9094&v=4 - url: https://github.com/timlrx - login: Leay15 avatarUrl: https://avatars.githubusercontent.com/u/32212558?u=c4aa9c1737e515959382a5515381757b1fd86c53&v=4 url: https://github.com/Leay15 + - login: timlrx + avatarUrl: https://avatars.githubusercontent.com/u/28362229?u=9a745ca31372ee324af682715ae88ce8522f9094&v=4 + url: https://github.com/timlrx + - login: ehaca + avatarUrl: https://avatars.githubusercontent.com/u/25950317?u=cec1a3e0643b785288ae8260cc295a85ab344995&v=4 + url: https://github.com/ehaca + - login: RaamEEIL + avatarUrl: https://avatars.githubusercontent.com/u/20320552?v=4 + url: https://github.com/RaamEEIL + - login: ashi-agrawal + avatarUrl: https://avatars.githubusercontent.com/u/17105294?u=99c7a854035e5398d8e7b674f2d42baae6c957f8&v=4 + url: https://github.com/ashi-agrawal + - login: mjohnsey + avatarUrl: https://avatars.githubusercontent.com/u/16784016?u=38fad2e6b411244560b3af99c5f5a4751bc81865&v=4 + url: https://github.com/mjohnsey - login: jugeeem - avatarUrl: https://avatars.githubusercontent.com/u/116043716?u=ae590d79c38ac79c91b9c5caa6887d061e865a3d&v=4 + avatarUrl: https://avatars.githubusercontent.com/u/116043716?u=e4df530e99a086a1085f3dc125b94783670fb383&v=4 url: https://github.com/jugeeem - - login: Karine-Bauch - avatarUrl: https://avatars.githubusercontent.com/u/90465103?u=7feb1018abb1a5631cfd9a91fea723d1ceb5f49b&v=4 - url: https://github.com/Karine-Bauch + - login: Charisn + avatarUrl: https://avatars.githubusercontent.com/u/100683386?u=5a57e569b443a58cb34a32b6cb6ea12c783e14c1&v=4 + url: https://github.com/Charisn - login: kaoru0310 avatarUrl: https://avatars.githubusercontent.com/u/80977929?u=1b61d10142b490e56af932ddf08a390fae8ee94f&v=4 url: https://github.com/kaoru0310 @@ -128,20 +119,17 @@ sponsors: - login: anthonycepeda avatarUrl: https://avatars.githubusercontent.com/u/72019805?u=60bdf46240cff8fca482ff0fc07d963fd5e1a27c&v=4 url: https://github.com/anthonycepeda - - login: AalbatrossGuy - avatarUrl: https://avatars.githubusercontent.com/u/68378354?u=0bdeea9356d24f638244131f6d8d1e2d2f3601ca&v=4 - url: https://github.com/AalbatrossGuy - login: patsatsia avatarUrl: https://avatars.githubusercontent.com/u/61111267?u=3271b85f7a37b479c8d0ae0a235182e83c166edf&v=4 url: https://github.com/patsatsia - - login: oliverxchen - avatarUrl: https://avatars.githubusercontent.com/u/4471774?u=534191f25e32eeaadda22dfab4b0a428733d5489&v=4 - url: https://github.com/oliverxchen - - login: jaredtrog - avatarUrl: https://avatars.githubusercontent.com/u/4381365?v=4 - url: https://github.com/jaredtrog + - login: dudikbender + avatarUrl: https://avatars.githubusercontent.com/u/53487583?u=3a57542938ebfd57579a0111db2b297e606d9681&v=4 + url: https://github.com/dudikbender + - login: roboflow + avatarUrl: https://avatars.githubusercontent.com/u/53104118?v=4 + url: https://github.com/roboflow - login: Ryandaydev - avatarUrl: https://avatars.githubusercontent.com/u/4292423?u=679ff84cb7b988c5795a5fa583857f574a055763&v=4 + avatarUrl: https://avatars.githubusercontent.com/u/4292423?u=87b1afc7f4fff933779959270e2d168339e91402&v=4 url: https://github.com/Ryandaydev - login: gorhack avatarUrl: https://avatars.githubusercontent.com/u/4141690?u=ec119ebc4bdf00a7bc84657a71aa17834f4f27f3&v=4 @@ -149,9 +137,6 @@ sponsors: - login: mj0331 avatarUrl: https://avatars.githubusercontent.com/u/3890353?u=1c627ac1a024515b4871de5c3ebbfaa1a57f65d4&v=4 url: https://github.com/mj0331 - - login: anomaly - avatarUrl: https://avatars.githubusercontent.com/u/3654837?v=4 - url: https://github.com/anomaly - login: aacayaco avatarUrl: https://avatars.githubusercontent.com/u/3634801?u=eaadda178c964178fcb64886f6c732172c8f8219&v=4 url: https://github.com/aacayaco @@ -167,39 +152,24 @@ sponsors: - login: knallgelb avatarUrl: https://avatars.githubusercontent.com/u/2358812?u=c48cb6362b309d74cbf144bd6ad3aed3eb443e82&v=4 url: https://github.com/knallgelb + - login: keimos + avatarUrl: https://avatars.githubusercontent.com/u/1723255?u=fb87c72da55f72da6618aa94c8f3791ebab6b68a&v=4 + url: https://github.com/keimos - login: dodo5522 avatarUrl: https://avatars.githubusercontent.com/u/1362607?u=9bf1e0e520cccc547c046610c468ce6115bbcf9f&v=4 url: https://github.com/dodo5522 - - login: mintuhouse - avatarUrl: https://avatars.githubusercontent.com/u/769950?u=ecfbd79a97d33177e0d093ddb088283cf7fe8444&v=4 - url: https://github.com/mintuhouse - - login: falkben - avatarUrl: https://avatars.githubusercontent.com/u/653031?u=ad9838e089058c9e5a0bab94c0eec7cc181e0cd0&v=4 - url: https://github.com/falkben + - login: netsatan + avatarUrl: https://avatars.githubusercontent.com/u/955557?u=cb8fc0ae7f7b06807f0a58e335b1af96c9da0344&v=4 + url: https://github.com/netsatan - login: koxudaxi avatarUrl: https://avatars.githubusercontent.com/u/630670?u=507d8577b4b3670546b449c4c2ccbc5af40d72f7&v=4 url: https://github.com/koxudaxi - - login: wshayes - avatarUrl: https://avatars.githubusercontent.com/u/365303?u=07ca03c5ee811eb0920e633cc3c3db73dbec1aa5&v=4 - url: https://github.com/wshayes - login: pamelafox avatarUrl: https://avatars.githubusercontent.com/u/297042?v=4 url: https://github.com/pamelafox - - login: robintw - avatarUrl: https://avatars.githubusercontent.com/u/296686?v=4 - url: https://github.com/robintw - login: jstanden avatarUrl: https://avatars.githubusercontent.com/u/63288?u=c3658d57d2862c607a0e19c2101c3c51876e36ad&v=4 url: https://github.com/jstanden - - login: RaamEEIL - avatarUrl: https://avatars.githubusercontent.com/u/20320552?v=4 - url: https://github.com/RaamEEIL - - login: ashi-agrawal - avatarUrl: https://avatars.githubusercontent.com/u/17105294?u=99c7a854035e5398d8e7b674f2d42baae6c957f8&v=4 - url: https://github.com/ashi-agrawal - - login: mjohnsey - avatarUrl: https://avatars.githubusercontent.com/u/16784016?u=38fad2e6b411244560b3af99c5f5a4751bc81865&v=4 - url: https://github.com/mjohnsey - login: khadrawy avatarUrl: https://avatars.githubusercontent.com/u/13686061?u=59f25ef42ecf04c22657aac4238ce0e2d3d30304&v=4 url: https://github.com/khadrawy @@ -221,63 +191,63 @@ sponsors: - login: FernandoCelmer avatarUrl: https://avatars.githubusercontent.com/u/6262214?u=58ba6d5888fa7f355934e52db19f950e20b38162&v=4 url: https://github.com/FernandoCelmer + - login: geodata-no + avatarUrl: https://avatars.githubusercontent.com/u/5946299?v=4 + url: https://github.com/geodata-no - login: eseglem avatarUrl: https://avatars.githubusercontent.com/u/5920492?u=208d419cf667b8ac594c82a8db01932c7e50d057&v=4 url: https://github.com/eseglem - login: ternaus avatarUrl: https://avatars.githubusercontent.com/u/5481618?u=513a26b02a39e7a28d587cd37c6cc877ea368e6e&v=4 url: https://github.com/ternaus -- - login: Artur-Galstyan - avatarUrl: https://avatars.githubusercontent.com/u/63471891?u=e8691f386037e51a737cc0ba866cd8c89e5cf109&v=4 - url: https://github.com/Artur-Galstyan - - login: manoelpqueiroz + - login: jaredtrog + avatarUrl: https://avatars.githubusercontent.com/u/4381365?v=4 + url: https://github.com/jaredtrog +- - login: jpfyoder + avatarUrl: https://avatars.githubusercontent.com/u/7548821?u=1683290ed65dae6987d673da044067577ee71521&v=4 + url: https://github.com/jpfyoder +- - login: manoelpqueiroz avatarUrl: https://avatars.githubusercontent.com/u/23669137?u=b12e84b28a84369ab5b30bd5a79e5788df5a0756&v=4 url: https://github.com/manoelpqueiroz + - login: Artur-Galstyan + avatarUrl: https://avatars.githubusercontent.com/u/63471891?u=e8691f386037e51a737cc0ba866cd8c89e5cf109&v=4 + url: https://github.com/Artur-Galstyan - - login: pawamoy avatarUrl: https://avatars.githubusercontent.com/u/3999221?u=b030e4c89df2f3a36bc4710b925bdeb6745c9856&v=4 url: https://github.com/pawamoy - - login: siavashyj - avatarUrl: https://avatars.githubusercontent.com/u/43583410?u=562005ddc7901cd27a1219a118a2363817b14977&v=4 - url: https://github.com/siavashyj + - login: caviri + avatarUrl: https://avatars.githubusercontent.com/u/45425937?u=cab1bb03a0326fe45b2363866b1d78c9bc8055d8&v=4 + url: https://github.com/caviri - login: mobyw avatarUrl: https://avatars.githubusercontent.com/u/44370805?v=4 url: https://github.com/mobyw - - login: ArtyomVancyan - avatarUrl: https://avatars.githubusercontent.com/u/44609997?v=4 - url: https://github.com/ArtyomVancyan - - login: caviri - avatarUrl: https://avatars.githubusercontent.com/u/45425937?u=5f3d66ea5edea94c028c51ebf1c0f3b37e6c3db5&v=4 - url: https://github.com/caviri - - login: hgalytoby - avatarUrl: https://avatars.githubusercontent.com/u/50397689?u=6cc9028f3db63f8f60ad21c17b1ce4b88c4e2e60&v=4 - url: https://github.com/hgalytoby - - login: johnl28 - avatarUrl: https://avatars.githubusercontent.com/u/54412955?u=47dd06082d1c39caa90c752eb55566e4f3813957&v=4 - url: https://github.com/johnl28 - - login: danielunderwood - avatarUrl: https://avatars.githubusercontent.com/u/4472301?v=4 - url: https://github.com/danielunderwood - - login: hoenie-ams - avatarUrl: https://avatars.githubusercontent.com/u/25708487?u=cda07434f0509ac728d9edf5e681117c0f6b818b&v=4 - url: https://github.com/hoenie-ams - - login: joerambo - avatarUrl: https://avatars.githubusercontent.com/u/26282974?v=4 - url: https://github.com/joerambo - - login: engineerjoe440 - avatarUrl: https://avatars.githubusercontent.com/u/33275230?u=eb223cad27017bb1e936ee9b429b450d092d0236&v=4 - url: https://github.com/engineerjoe440 - - login: bnkc - avatarUrl: https://avatars.githubusercontent.com/u/34930566?u=4771ac4e64066f0847d40e5b29910adabd9b2372&v=4 - url: https://github.com/bnkc + - login: siavashyj + avatarUrl: https://avatars.githubusercontent.com/u/43583410?u=562005ddc7901cd27a1219a118a2363817b14977&v=4 + url: https://github.com/siavashyj - login: petercool avatarUrl: https://avatars.githubusercontent.com/u/37613029?u=75aa8c6729e6e8f85a300561c4dbeef9d65c8797&v=4 url: https://github.com/petercool - - login: PelicanQ - avatarUrl: https://avatars.githubusercontent.com/u/77930606?v=4 - url: https://github.com/PelicanQ - - login: PunRabbit - avatarUrl: https://avatars.githubusercontent.com/u/70463212?u=1a835cfbc99295a60c8282f6aa6199d1b42241a5&v=4 - url: https://github.com/PunRabbit + - login: bnkc + avatarUrl: https://avatars.githubusercontent.com/u/34930566?u=888af82706afa36727feebce0e62225905926131&v=4 + url: https://github.com/bnkc + - login: joerambo + avatarUrl: https://avatars.githubusercontent.com/u/26282974?v=4 + url: https://github.com/joerambo + - login: hoenie-ams + avatarUrl: https://avatars.githubusercontent.com/u/25708487?u=cda07434f0509ac728d9edf5e681117c0f6b818b&v=4 + url: https://github.com/hoenie-ams + - login: nisutec + avatarUrl: https://avatars.githubusercontent.com/u/25281462?u=e562484c451fdfc59053163f64405f8eb262b8b0&v=4 + url: https://github.com/nisutec + - login: joshuatz + avatarUrl: https://avatars.githubusercontent.com/u/17817563?u=f1bf05b690d1fc164218f0b420cdd3acb7913e21&v=4 + url: https://github.com/joshuatz + - login: hgalytoby + avatarUrl: https://avatars.githubusercontent.com/u/50397689?u=6cc9028f3db63f8f60ad21c17b1ce4b88c4e2e60&v=4 + url: https://github.com/hgalytoby + - login: TheR1D + avatarUrl: https://avatars.githubusercontent.com/u/16740832?u=b0dfdbdb27b79729430c71c6128962f77b7b53f7&v=4 + url: https://github.com/TheR1D - login: my3 avatarUrl: https://avatars.githubusercontent.com/u/1825270?v=4 url: https://github.com/my3 @@ -290,6 +260,9 @@ sponsors: - login: tochikuji avatarUrl: https://avatars.githubusercontent.com/u/851759?v=4 url: https://github.com/tochikuji + - login: falkben + avatarUrl: https://avatars.githubusercontent.com/u/653031?u=ad9838e089058c9e5a0bab94c0eec7cc181e0cd0&v=4 + url: https://github.com/falkben - login: ceb10n avatarUrl: https://avatars.githubusercontent.com/u/235213?u=edcce471814a1eba9f0cdaa4cd0de18921a940a6&v=4 url: https://github.com/ceb10n @@ -302,24 +275,9 @@ sponsors: - login: ddanier avatarUrl: https://avatars.githubusercontent.com/u/113563?u=ed1dc79de72f93bd78581f88ebc6952b62f472da&v=4 url: https://github.com/ddanier - - login: nisutec - avatarUrl: https://avatars.githubusercontent.com/u/25281462?u=e562484c451fdfc59053163f64405f8eb262b8b0&v=4 - url: https://github.com/nisutec - - login: joshuatz - avatarUrl: https://avatars.githubusercontent.com/u/17817563?u=f1bf05b690d1fc164218f0b420cdd3acb7913e21&v=4 - url: https://github.com/joshuatz - - login: TheR1D - avatarUrl: https://avatars.githubusercontent.com/u/16740832?u=b0dfdbdb27b79729430c71c6128962f77b7b53f7&v=4 - url: https://github.com/TheR1D - login: Zuzah avatarUrl: https://avatars.githubusercontent.com/u/10934846?u=1ef43e075ddc87bd1178372bf4d95ee6175cae27&v=4 url: https://github.com/Zuzah - - login: mntolia - avatarUrl: https://avatars.githubusercontent.com/u/10390224?v=4 - url: https://github.com/mntolia - - login: hard-coders - avatarUrl: https://avatars.githubusercontent.com/u/9651103?u=78d12d1acdf853c817700145e73de7fd9e5d068b&v=4 - url: https://github.com/hard-coders - login: DMantis avatarUrl: https://avatars.githubusercontent.com/u/9536869?u=652dd0d49717803c0cbcbf44f7740e53cf2d4892&v=4 url: https://github.com/DMantis @@ -332,9 +290,6 @@ sponsors: - login: harsh183 avatarUrl: https://avatars.githubusercontent.com/u/7780198?v=4 url: https://github.com/harsh183 - - login: katnoria - avatarUrl: https://avatars.githubusercontent.com/u/7674948?u=09767eb13e07e09496c5fee4e5ce21d9eac34a56&v=4 - url: https://github.com/katnoria - login: KentShikama avatarUrl: https://avatars.githubusercontent.com/u/6329898?u=8b236810db9b96333230430837e1f021f9246da1&v=4 url: https://github.com/KentShikama @@ -347,42 +302,48 @@ sponsors: - login: rangulvers avatarUrl: https://avatars.githubusercontent.com/u/5235430?u=e254d4af4ace5a05fa58372ae677c7d26f0d5a53&v=4 url: https://github.com/rangulvers -- - login: KOZ39 - avatarUrl: https://avatars.githubusercontent.com/u/38822500?u=9dfc0a697df1c9628f08e20dc3fb17b1afc4e5a7&v=4 - url: https://github.com/KOZ39 + - login: danielunderwood + avatarUrl: https://avatars.githubusercontent.com/u/4472301?v=4 + url: https://github.com/danielunderwood +- - login: ArtyomVancyan + avatarUrl: https://avatars.githubusercontent.com/u/44609997?v=4 + url: https://github.com/ArtyomVancyan - login: rwxd avatarUrl: https://avatars.githubusercontent.com/u/40308458?u=cd04a39e3655923be4f25c2ba8a5a07b3da3230a&v=4 url: https://github.com/rwxd - - login: morzan1001 - avatarUrl: https://avatars.githubusercontent.com/u/47593005?u=c30ab7230f82a12a9b938dcb54f84a996931409a&v=4 - url: https://github.com/morzan1001 - - login: Olegt0rr - avatarUrl: https://avatars.githubusercontent.com/u/25399456?u=3e87b5239a2f4600975ba13be73054f8567c6060&v=4 - url: https://github.com/Olegt0rr - - login: larsyngvelundin - avatarUrl: https://avatars.githubusercontent.com/u/34173819?u=74958599695bf83ac9f1addd935a51548a10c6b0&v=4 - url: https://github.com/larsyngvelundin + - login: KOZ39 + avatarUrl: https://avatars.githubusercontent.com/u/38822500?u=9dfc0a697df1c9628f08e20dc3fb17b1afc4e5a7&v=4 + url: https://github.com/KOZ39 - login: andrecorumba avatarUrl: https://avatars.githubusercontent.com/u/37807517?u=9b9be3b41da9bda60957da9ef37b50dbf65baa61&v=4 url: https://github.com/andrecorumba - - login: CoderDeltaLAN - avatarUrl: https://avatars.githubusercontent.com/u/152043745?u=4ff541efffb7d134e60c5fcf2dd1e343f90bb782&v=4 - url: https://github.com/CoderDeltaLAN - - login: hippoley - avatarUrl: https://avatars.githubusercontent.com/u/135493401?u=1164ef48a645a7c12664fabc1638fbb7e1c459b0&v=4 - url: https://github.com/hippoley - - login: nayasinghania - avatarUrl: https://avatars.githubusercontent.com/u/74111380?u=752e99a5e139389fdc0a0677122adc08438eb076&v=4 - url: https://github.com/nayasinghania + - login: Olegt0rr + avatarUrl: https://avatars.githubusercontent.com/u/25399456?u=3e87b5239a2f4600975ba13be73054f8567c6060&v=4 + url: https://github.com/Olegt0rr + - login: diogotoporcov + avatarUrl: https://avatars.githubusercontent.com/u/207575398?u=1fa7cf41b4181faa4d27f38bc37a374c17b5163b&v=4 + url: https://github.com/diogotoporcov - login: onestn avatarUrl: https://avatars.githubusercontent.com/u/62360849?u=746dd21c34e7e06eefb11b03e8bb01aaae3c2a4f&v=4 url: https://github.com/onestn + - login: mohammadi-hadi + avatarUrl: https://avatars.githubusercontent.com/u/50410241?u=1137b5ff9ea8585c0192fe9ddb4ae5e21bc3d2e8&v=4 + url: https://github.com/mohammadi-hadi + - login: morzan1001 + avatarUrl: https://avatars.githubusercontent.com/u/47593005?u=c30ab7230f82a12a9b938dcb54f84a996931409a&v=4 + url: https://github.com/morzan1001 - login: Toothwitch avatarUrl: https://avatars.githubusercontent.com/u/1710406?u=5eebb23b46cd26e48643b9e5179536cad491c17a&v=4 url: https://github.com/Toothwitch - login: andreagrandi avatarUrl: https://avatars.githubusercontent.com/u/636391?u=13d90cb8ec313593a5b71fbd4e33b78d6da736f5&v=4 url: https://github.com/andreagrandi + - login: 0xsummerday + avatarUrl: https://avatars.githubusercontent.com/u/13888940?u=d0d45d5e2d7efd880a32d030fb222a51406c986f&v=4 + url: https://github.com/0xsummerday + - login: DaxServer + avatarUrl: https://avatars.githubusercontent.com/u/7479937?u=cf2f97f958e47b209679d6aa2ad8723ef0d1cd0f&v=4 + url: https://github.com/DaxServer - login: msserpa avatarUrl: https://avatars.githubusercontent.com/u/6334934?u=82c4489eb1559d88d2990d60001901b14f722bbb&v=4 url: https://github.com/msserpa diff --git a/docs/en/data/members.yml b/docs/en/data/members.yml index 7ec16e9..caf5953 100644 --- a/docs/en/data/members.yml +++ b/docs/en/data/members.yml @@ -2,21 +2,21 @@ members: - login: tiangolo avatar_url: https://avatars.githubusercontent.com/u/1326112 url: https://github.com/tiangolo -- login: Kludex - avatar_url: https://avatars.githubusercontent.com/u/7353520 - url: https://github.com/Kludex -- login: alejsdev - avatar_url: https://avatars.githubusercontent.com/u/90076947 - url: https://github.com/alejsdev -- login: svlandeg - avatar_url: https://avatars.githubusercontent.com/u/8796347 - url: https://github.com/svlandeg - login: YuriiMotov avatar_url: https://avatars.githubusercontent.com/u/109919500 url: https://github.com/YuriiMotov +- login: svlandeg + avatar_url: https://avatars.githubusercontent.com/u/8796347 + url: https://github.com/svlandeg +- login: alejsdev + avatar_url: https://avatars.githubusercontent.com/u/90076947 + url: https://github.com/alejsdev - login: patrick91 avatar_url: https://avatars.githubusercontent.com/u/667029 url: https://github.com/patrick91 - login: luzzodev avatar_url: https://avatars.githubusercontent.com/u/27291415 url: https://github.com/luzzodev +- login: Kludex + avatar_url: https://avatars.githubusercontent.com/u/7353520 + url: https://github.com/Kludex diff --git a/docs/en/data/skip_users.yml b/docs/en/data/skip_users.yml index cf24003..26b2247 100644 --- a/docs/en/data/skip_users.yml +++ b/docs/en/data/skip_users.yml @@ -1,3 +1,4 @@ +users: - tiangolo - codecov - github-actions diff --git a/docs/en/data/sponsors.yml b/docs/en/data/sponsors.yml index f2e5df5..726ac73 100644 --- a/docs/en/data/sponsors.yml +++ b/docs/en/data/sponsors.yml @@ -61,6 +61,6 @@ bronze: # - url: https://testdriven.io/courses/tdd-fastapi/ # title: Learn to build high-quality web apps with best practices # img: /img/sponsors/testdriven.svg - - url: https://www.testmu.ai/?utm_source=fastapi&utm_medium=partner&utm_campaign=sponsor&utm_term=opensource&utm_content=webpage + - url: https://www.testmuai.com/?utm_source=fastapi&utm_medium=partner&utm_campaign=sponsor&utm_term=opensource&utm_content=webpage title: TestMu AI. The Native AI-Agentic Cloud Platform to Supercharge Quality Engineering. img: /img/sponsors/testmu.png diff --git a/docs/en/data/topic_repos.yml b/docs/en/data/topic_repos.yml index ecfad6c..01ede9c 100644 --- a/docs/en/data/topic_repos.yml +++ b/docs/en/data/topic_repos.yml @@ -1,203 +1,214 @@ +repos: - name: headroom html_url: https://github.com/headroomlabs-ai/headroom - stars: 55017 + stars: 65565 owner_login: headroomlabs-ai owner_html_url: https://github.com/headroomlabs-ai - name: full-stack-fastapi-template html_url: https://github.com/fastapi/full-stack-fastapi-template - stars: 43994 + stars: 44681 owner_login: fastapi owner_html_url: https://github.com/fastapi - name: Hello-Python html_url: https://github.com/mouredev/Hello-Python - stars: 36226 + stars: 36837 owner_login: mouredev owner_html_url: https://github.com/mouredev - name: serve html_url: https://github.com/jina-ai/serve - stars: 21862 + stars: 21863 owner_login: jina-ai owner_html_url: https://github.com/jina-ai - name: HivisionIDPhotos html_url: https://github.com/Zeyi-Lin/HivisionIDPhotos - stars: 21212 + stars: 21351 owner_login: Zeyi-Lin owner_html_url: https://github.com/Zeyi-Lin - name: Douyin_TikTok_Download_API html_url: https://github.com/Evil0ctal/Douyin_TikTok_Download_API - stars: 18599 + stars: 19234 owner_login: Evil0ctal owner_html_url: https://github.com/Evil0ctal - name: sqlmodel html_url: https://github.com/fastapi/sqlmodel - stars: 18156 + stars: 18254 owner_login: fastapi owner_html_url: https://github.com/fastapi - name: fastapi-best-practices html_url: https://github.com/zhanymkanov/fastapi-best-practices - stars: 17608 + stars: 17860 owner_login: zhanymkanov owner_html_url: https://github.com/zhanymkanov - name: SurfSense html_url: https://github.com/MODSetter/SurfSense - stars: 15161 + stars: 15831 owner_login: MODSetter owner_html_url: https://github.com/MODSetter - name: machine-learning-zoomcamp html_url: https://github.com/DataTalksClub/machine-learning-zoomcamp - stars: 13445 + stars: 13871 owner_login: DataTalksClub owner_html_url: https://github.com/DataTalksClub +- name: XHS-Downloader + html_url: https://github.com/JoeanAmier/XHS-Downloader + stars: 12279 + owner_login: JoeanAmier + owner_html_url: https://github.com/JoeanAmier - name: peewee html_url: https://github.com/coleifer/peewee - stars: 11976 + stars: 11980 owner_login: coleifer owner_html_url: https://github.com/coleifer - name: fastapi_mcp html_url: https://github.com/tadata-org/fastapi_mcp - stars: 11932 + stars: 11977 owner_login: tadata-org owner_html_url: https://github.com/tadata-org -- name: XHS-Downloader - html_url: https://github.com/JoeanAmier/XHS-Downloader - stars: 11768 - owner_login: JoeanAmier - owner_html_url: https://github.com/JoeanAmier - name: awesome-fastapi html_url: https://github.com/mjhea0/awesome-fastapi - stars: 11478 + stars: 11583 owner_login: mjhea0 owner_html_url: https://github.com/mjhea0 - name: polar html_url: https://github.com/polarsource/polar - stars: 9999 + stars: 10174 owner_login: polarsource owner_html_url: https://github.com/polarsource - name: pycaret html_url: https://github.com/pycaret/pycaret - stars: 9818 + stars: 9835 owner_login: pycaret owner_html_url: https://github.com/pycaret - name: FastUI html_url: https://github.com/pydantic/FastUI - stars: 8970 + stars: 8964 owner_login: pydantic owner_html_url: https://github.com/pydantic - name: FileCodeBox html_url: https://github.com/vastsa/FileCodeBox - stars: 8376 + stars: 8452 owner_login: vastsa owner_html_url: https://github.com/vastsa -- name: nonebot2 - html_url: https://github.com/nonebot/nonebot2 - stars: 7593 - owner_login: nonebot - owner_html_url: https://github.com/nonebot - name: hatchet html_url: https://github.com/hatchet-dev/hatchet - stars: 7441 + stars: 7688 owner_login: hatchet-dev owner_html_url: https://github.com/hatchet-dev -- name: fastapi-users - html_url: https://github.com/fastapi-users/fastapi-users - stars: 6182 - owner_login: fastapi-users - owner_html_url: https://github.com/fastapi-users -- name: Yuxi - html_url: https://github.com/xerrors/Yuxi - stars: 5926 - owner_login: xerrors - owner_html_url: https://github.com/xerrors -- name: serge - html_url: https://github.com/serge-chat/serge - stars: 5723 - owner_login: serge-chat - owner_html_url: https://github.com/serge-chat +- name: nonebot2 + html_url: https://github.com/nonebot/nonebot2 + stars: 7657 + owner_login: nonebot + owner_html_url: https://github.com/nonebot - name: honcho html_url: https://github.com/plastic-labs/honcho - stars: 5680 + stars: 6533 owner_login: plastic-labs owner_html_url: https://github.com/plastic-labs +- name: Yuxi + html_url: https://github.com/xerrors/Yuxi + stars: 6415 + owner_login: xerrors + owner_html_url: https://github.com/xerrors +- name: fastapi-users + html_url: https://github.com/fastapi-users/fastapi-users + stars: 6212 + owner_login: fastapi-users + owner_html_url: https://github.com/fastapi-users +- name: serge + html_url: https://github.com/serge-chat/serge + stars: 5716 + owner_login: serge-chat + owner_html_url: https://github.com/serge-chat - name: Kokoro-FastAPI html_url: https://github.com/remsky/Kokoro-FastAPI - stars: 5085 + stars: 5304 owner_login: remsky owner_html_url: https://github.com/remsky +- name: YouDub-webui + html_url: https://github.com/liuzhao1225/YouDub-webui + stars: 5256 + owner_login: liuzhao1225 + owner_html_url: https://github.com/liuzhao1225 - name: devpush html_url: https://github.com/hunvreus/devpush - stars: 4693 + stars: 4739 owner_login: hunvreus owner_html_url: https://github.com/hunvreus - name: strawberry html_url: https://github.com/strawberry-graphql/strawberry - stars: 4677 + stars: 4702 owner_login: strawberry-graphql owner_html_url: https://github.com/strawberry-graphql - name: poem html_url: https://github.com/poem-web/poem - stars: 4415 + stars: 4430 owner_login: poem-web owner_html_url: https://github.com/poem-web - name: logfire html_url: https://github.com/pydantic/logfire - stars: 4340 + stars: 4416 owner_login: pydantic owner_html_url: https://github.com/pydantic - name: dynaconf html_url: https://github.com/dynaconf/dynaconf - stars: 4310 + stars: 4320 owner_login: dynaconf owner_html_url: https://github.com/dynaconf -- name: chatgpt-web-share - html_url: https://github.com/chatpire/chatgpt-web-share - stars: 4269 - owner_login: chatpire - owner_html_url: https://github.com/chatpire - name: huma html_url: https://github.com/danielgtaylor/huma - stars: 4203 + stars: 4302 owner_login: danielgtaylor owner_html_url: https://github.com/danielgtaylor -- name: atrilabs-engine - html_url: https://github.com/Atri-Labs/atrilabs-engine - stars: 4071 - owner_login: Atri-Labs - owner_html_url: https://github.com/Atri-Labs - name: mcp-context-forge html_url: https://github.com/IBM/mcp-context-forge - stars: 3989 + stars: 4286 owner_login: IBM owner_html_url: https://github.com/IBM +- name: chatgpt-web-share + html_url: https://github.com/chatpire/chatgpt-web-share + stars: 4273 + owner_login: chatpire + owner_html_url: https://github.com/chatpire +- name: atrilabs-engine + html_url: https://github.com/Atri-Labs/atrilabs-engine + stars: 4068 + owner_login: Atri-Labs + owner_html_url: https://github.com/Atri-Labs - name: datamodel-code-generator html_url: https://github.com/koxudaxi/datamodel-code-generator - stars: 3952 + stars: 4000 owner_login: koxudaxi owner_html_url: https://github.com/koxudaxi - name: LitServe html_url: https://github.com/Lightning-AI/LitServe - stars: 3901 + stars: 3923 owner_login: Lightning-AI owner_html_url: https://github.com/Lightning-AI - name: fastapi-admin html_url: https://github.com/fastapi-admin/fastapi-admin - stars: 3799 + stars: 3810 owner_login: fastapi-admin owner_html_url: https://github.com/fastapi-admin - name: tracecat html_url: https://github.com/TracecatHQ/tracecat - stars: 3703 + stars: 3761 owner_login: TracecatHQ owner_html_url: https://github.com/TracecatHQ - name: farfalle html_url: https://github.com/rashadphz/farfalle - stars: 3535 + stars: 3539 owner_login: rashadphz owner_html_url: https://github.com/rashadphz - name: Rapid-MLX html_url: https://github.com/raullenchai/Rapid-MLX - stars: 3155 + stars: 3423 owner_login: raullenchai owner_html_url: https://github.com/raullenchai +- name: dramaclaw + html_url: https://github.com/dramaclaw/dramaclaw + stars: 3373 + owner_login: dramaclaw + owner_html_url: https://github.com/dramaclaw - name: opyrator html_url: https://github.com/ml-tooling/opyrator stars: 3133 @@ -205,162 +216,172 @@ owner_html_url: https://github.com/ml-tooling - name: docarray html_url: https://github.com/docarray/docarray - stars: 3121 + stars: 3123 owner_login: docarray owner_html_url: https://github.com/docarray +- name: any-auto-register + html_url: https://github.com/lxf746/any-auto-register + stars: 3111 + owner_login: lxf746 + owner_html_url: https://github.com/lxf746 - name: fastapi-realworld-example-app html_url: https://github.com/nsidnev/fastapi-realworld-example-app - stars: 3109 + stars: 3108 owner_login: nsidnev owner_html_url: https://github.com/nsidnev - name: uvicorn-gunicorn-fastapi-docker html_url: https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker - stars: 2914 + stars: 2915 owner_login: tiangolo owner_html_url: https://github.com/tiangolo -- name: any-auto-register - html_url: https://github.com/lxf746/any-auto-register - stars: 2832 - owner_login: lxf746 - owner_html_url: https://github.com/lxf746 - name: FastAPI-template html_url: https://github.com/s3rius/FastAPI-template - stars: 2810 + stars: 2815 owner_login: s3rius owner_html_url: https://github.com/s3rius -- name: YC-Killer - html_url: https://github.com/sahibzada-allahyar/YC-Killer - stars: 2779 - owner_login: sahibzada-allahyar - owner_html_url: https://github.com/sahibzada-allahyar - name: sqladmin html_url: https://github.com/smithyhq/sqladmin - stars: 2759 + stars: 2808 owner_login: smithyhq owner_html_url: https://github.com/smithyhq +- name: YC-Killer + html_url: https://github.com/sahibzada-allahyar/YC-Killer + stars: 2792 + owner_login: sahibzada-allahyar + owner_html_url: https://github.com/sahibzada-allahyar - name: best-of-web-python html_url: https://github.com/ml-tooling/best-of-web-python - stars: 2731 + stars: 2750 owner_login: ml-tooling owner_html_url: https://github.com/ml-tooling - name: NoteDiscovery html_url: https://github.com/gamosoft/NoteDiscovery - stars: 2595 + stars: 2737 owner_login: gamosoft owner_html_url: https://github.com/gamosoft +- name: tickflow-stock-panel + html_url: https://github.com/shy3130/tickflow-stock-panel + stars: 2684 + owner_login: shy3130 + owner_html_url: https://github.com/shy3130 +- name: codex-lb + html_url: https://github.com/Soju06/codex-lb + stars: 2641 + owner_login: Soju06 + owner_html_url: https://github.com/Soju06 - name: fastapi-react html_url: https://github.com/Buuntu/fastapi-react - stars: 2588 + stars: 2583 owner_login: Buuntu owner_html_url: https://github.com/Buuntu -- name: supabase-py - html_url: https://github.com/supabase/supabase-py - stars: 2530 - owner_login: supabase - owner_html_url: https://github.com/supabase -- name: 30-Days-of-Python - html_url: https://github.com/codingforentrepreneurs/30-Days-of-Python - stars: 2483 - owner_login: codingforentrepreneurs - owner_html_url: https://github.com/codingforentrepreneurs -- name: RasaGPT - html_url: https://github.com/paulpierre/RasaGPT - stars: 2462 - owner_login: paulpierre - owner_html_url: https://github.com/paulpierre - name: fastapi-langgraph-agent-production-ready-template html_url: https://github.com/wassim249/fastapi-langgraph-agent-production-ready-template - stars: 2456 + stars: 2568 owner_login: wassim249 owner_html_url: https://github.com/wassim249 +- name: supabase-py + html_url: https://github.com/supabase/supabase-py + stars: 2555 + owner_login: supabase + owner_html_url: https://github.com/supabase +- name: fastapi-best-architecture + html_url: https://github.com/fastapi-practices/fastapi-best-architecture + stars: 2505 + owner_login: fastapi-practices + owner_html_url: https://github.com/fastapi-practices +- name: 30-Days-of-Python + html_url: https://github.com/codingforentrepreneurs/30-Days-of-Python + stars: 2501 + owner_login: codingforentrepreneurs + owner_html_url: https://github.com/codingforentrepreneurs - name: AIstudioProxyAPI html_url: https://github.com/CJackHwang/AIstudioProxyAPI - stars: 2445 + stars: 2475 owner_login: CJackHwang owner_html_url: https://github.com/CJackHwang +- name: RasaGPT + html_url: https://github.com/paulpierre/RasaGPT + stars: 2464 + owner_login: paulpierre + owner_html_url: https://github.com/paulpierre - name: nextpy html_url: https://github.com/dot-agent/nextpy - stars: 2341 + stars: 2343 owner_login: dot-agent owner_html_url: https://github.com/dot-agent - name: langserve html_url: https://github.com/langchain-ai/langserve - stars: 2329 + stars: 2331 owner_login: langchain-ai owner_html_url: https://github.com/langchain-ai -- name: fastapi-best-architecture - html_url: https://github.com/fastapi-practices/fastapi-best-architecture - stars: 2318 - owner_login: fastapi-practices - owner_html_url: https://github.com/fastapi-practices +- name: open-wearables + html_url: https://github.com/the-momentum/open-wearables + stars: 2311 + owner_login: the-momentum + owner_html_url: https://github.com/the-momentum - name: fastapi-utils html_url: https://github.com/fastapiutils/fastapi-utils - stars: 2308 + stars: 2305 owner_login: fastapiutils owner_html_url: https://github.com/fastapiutils - name: vue-fastapi-admin html_url: https://github.com/mizhexiaoxiao/vue-fastapi-admin - stars: 2184 + stars: 2221 owner_login: mizhexiaoxiao owner_html_url: https://github.com/mizhexiaoxiao +- name: kiro-gateway + html_url: https://github.com/jwadow/kiro-gateway + stars: 2198 + owner_login: jwadow + owner_html_url: https://github.com/jwadow - name: solara html_url: https://github.com/widgetti/solara - stars: 2166 + stars: 2167 owner_login: widgetti owner_html_url: https://github.com/widgetti - name: mangum html_url: https://github.com/Kludex/mangum - stars: 2125 + stars: 2130 owner_login: Kludex owner_html_url: https://github.com/Kludex -- name: codex-lb - html_url: https://github.com/Soju06/codex-lb - stars: 2122 - owner_login: Soju06 - owner_html_url: https://github.com/Soju06 -- name: kiro-gateway - html_url: https://github.com/jwadow/kiro-gateway - stars: 2068 - owner_login: jwadow - owner_html_url: https://github.com/jwadow -- name: open-wearables - html_url: https://github.com/the-momentum/open-wearables - stars: 2036 - owner_login: the-momentum - owner_html_url: https://github.com/the-momentum -- name: slowapi - html_url: https://github.com/laurentS/slowapi - stars: 2022 - owner_login: laurentS - owner_html_url: https://github.com/laurentS - name: xhs_ai_publisher html_url: https://github.com/BetaStreetOmnis/xhs_ai_publisher - stars: 2004 + stars: 2053 owner_login: BetaStreetOmnis owner_html_url: https://github.com/BetaStreetOmnis - name: FastAPI-boilerplate html_url: https://github.com/benavlabs/FastAPI-boilerplate - stars: 1984 + stars: 2044 owner_login: benavlabs owner_html_url: https://github.com/benavlabs +- name: slowapi + html_url: https://github.com/laurentS/slowapi + stars: 2041 + owner_login: laurentS + owner_html_url: https://github.com/laurentS - name: openapi-python-client html_url: https://github.com/openapi-generators/openapi-python-client - stars: 1967 + stars: 1979 owner_login: openapi-generators owner_html_url: https://github.com/openapi-generators - name: agentkit html_url: https://github.com/BCG-X-Official/agentkit - stars: 1944 + stars: 1948 owner_login: BCG-X-Official owner_html_url: https://github.com/BCG-X-Official - name: piccolo html_url: https://github.com/piccolo-orm/piccolo - stars: 1922 + stars: 1936 owner_login: piccolo-orm owner_html_url: https://github.com/piccolo-orm +- name: Vibe-Research + html_url: https://github.com/simonlin1212/Vibe-Research + stars: 1923 + owner_login: simonlin1212 + owner_html_url: https://github.com/simonlin1212 - name: manage-fastapi html_url: https://github.com/ycd/manage-fastapi - stars: 1905 + stars: 1909 owner_login: ycd owner_html_url: https://github.com/ycd - name: fastapi-cache @@ -368,69 +389,79 @@ stars: 1866 owner_login: long2ice owner_html_url: https://github.com/long2ice +- name: WebRPA + html_url: https://github.com/pmh1314520/WebRPA + stars: 1832 + owner_login: pmh1314520 + owner_html_url: https://github.com/pmh1314520 - name: ormar html_url: https://github.com/ormar-orm/ormar - stars: 1806 + stars: 1804 owner_login: ormar-orm owner_html_url: https://github.com/ormar-orm - name: python-week-2022 html_url: https://github.com/rochacbruno/python-week-2022 - stars: 1806 + stars: 1801 owner_login: rochacbruno owner_html_url: https://github.com/rochacbruno -- name: WebRPA - html_url: https://github.com/pmh1314520/WebRPA - stars: 1781 - owner_login: pmh1314520 - owner_html_url: https://github.com/pmh1314520 - name: termpair html_url: https://github.com/cs01/termpair - stars: 1735 + stars: 1775 owner_login: cs01 owner_html_url: https://github.com/cs01 -- name: fastapi-crudrouter - html_url: https://github.com/awtkns/fastapi-crudrouter - stars: 1694 - owner_login: awtkns - owner_html_url: https://github.com/awtkns - name: bracket html_url: https://github.com/evroon/bracket - stars: 1694 + stars: 1709 owner_login: evroon owner_html_url: https://github.com/evroon +- name: full-stack-ai-agent-template + html_url: https://github.com/vstorm-co/full-stack-ai-agent-template + stars: 1697 + owner_login: vstorm-co + owner_html_url: https://github.com/vstorm-co +- name: fastapi-crudrouter + html_url: https://github.com/awtkns/fastapi-crudrouter + stars: 1696 + owner_login: awtkns + owner_html_url: https://github.com/awtkns - name: fastapi-pagination html_url: https://github.com/uriyyo/fastapi-pagination - stars: 1670 + stars: 1674 owner_login: uriyyo owner_html_url: https://github.com/uriyyo - name: langchain-serve html_url: https://github.com/jina-ai/langchain-serve - stars: 1640 + stars: 1641 owner_login: jina-ai owner_html_url: https://github.com/jina-ai - name: awesome-fastapi-projects html_url: https://github.com/Kludex/awesome-fastapi-projects - stars: 1608 + stars: 1615 owner_login: Kludex owner_html_url: https://github.com/Kludex +- name: docling-api + html_url: https://github.com/drmingler/docling-api + stars: 1570 + owner_login: drmingler + owner_html_url: https://github.com/drmingler - name: coronavirus-tracker-api html_url: https://github.com/ExpDev07/coronavirus-tracker-api - stars: 1568 + stars: 1570 owner_login: ExpDev07 owner_html_url: https://github.com/ExpDev07 - name: fastapi-amis-admin html_url: https://github.com/amisadmin/fastapi-amis-admin - stars: 1559 + stars: 1564 owner_login: amisadmin owner_html_url: https://github.com/amisadmin - name: fastcrud html_url: https://github.com/benavlabs/fastcrud - stars: 1531 + stars: 1545 owner_login: benavlabs owner_html_url: https://github.com/benavlabs - name: tavily-key-generator html_url: https://github.com/skernelx/tavily-key-generator - stars: 1526 + stars: 1542 owner_login: skernelx owner_html_url: https://github.com/skernelx - name: fastapi-boilerplate @@ -438,58 +469,28 @@ stars: 1491 owner_login: teamhide owner_html_url: https://github.com/teamhide -- name: full-stack-ai-agent-template - html_url: https://github.com/vstorm-co/full-stack-ai-agent-template - stars: 1484 - owner_login: vstorm-co - owner_html_url: https://github.com/vstorm-co - name: prometheus-fastapi-instrumentator html_url: https://github.com/trallnag/prometheus-fastapi-instrumentator - stars: 1471 + stars: 1478 owner_login: trallnag owner_html_url: https://github.com/trallnag -- name: awesome-python-resources - html_url: https://github.com/DjangoEx/awesome-python-resources - stars: 1451 - owner_login: DjangoEx - owner_html_url: https://github.com/DjangoEx -- name: aktools - html_url: https://github.com/akfamily/aktools - stars: 1431 - owner_login: akfamily - owner_html_url: https://github.com/akfamily - name: RuoYi-Vue3-FastAPI html_url: https://github.com/insistence/RuoYi-Vue3-FastAPI - stars: 1419 + stars: 1478 owner_login: insistence owner_html_url: https://github.com/insistence -- name: fastapi-tutorial - html_url: https://github.com/liaogx/fastapi-tutorial - stars: 1418 - owner_login: liaogx - owner_html_url: https://github.com/liaogx -- name: fastapi-code-generator - html_url: https://github.com/koxudaxi/fastapi-code-generator - stars: 1396 - owner_login: koxudaxi - owner_html_url: https://github.com/koxudaxi - name: yubal html_url: https://github.com/guillevc/yubal - stars: 1388 + stars: 1469 owner_login: guillevc owner_html_url: https://github.com/guillevc -- name: budgetml - html_url: https://github.com/ebhy/budgetml - stars: 1343 - owner_login: ebhy - owner_html_url: https://github.com/ebhy -- name: Chatterbox-TTS-Server - html_url: https://github.com/devnen/Chatterbox-TTS-Server - stars: 1328 - owner_login: devnen - owner_html_url: https://github.com/devnen -- name: restish - html_url: https://github.com/rest-sh/restish - stars: 1321 - owner_login: rest-sh - owner_html_url: https://github.com/rest-sh +- name: aktools + html_url: https://github.com/akfamily/aktools + stars: 1457 + owner_login: akfamily + owner_html_url: https://github.com/akfamily +- name: awesome-python-resources + html_url: https://github.com/DjangoEx/awesome-python-resources + stars: 1455 + owner_login: DjangoEx + owner_html_url: https://github.com/DjangoEx diff --git a/docs/en/docs/advanced/additional-responses.md b/docs/en/docs/advanced/additional-responses.md index 494143b..a8a5ec3 100644 --- a/docs/en/docs/advanced/additional-responses.md +++ b/docs/en/docs/advanced/additional-responses.md @@ -243,5 +243,5 @@ For example: To see what exactly you can include in the responses, you can check these sections in the OpenAPI specification: -* [OpenAPI Responses Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#responses-object), it includes the `Response Object`. -* [OpenAPI Response Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#response-object), you can include anything from this directly in each response inside your `responses` parameter. Including `description`, `headers`, `content` (inside of this is that you declare different media types and JSON Schemas), and `links`. +* [OpenAPI Responses Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#responses-object), it includes the `Response Object`. +* [OpenAPI Response Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#response-object), you can include anything from this directly in each response inside your `responses` parameter. Including `description`, `headers`, `content` (inside of this is that you declare different media types and JSON Schemas), and `links`. diff --git a/docs/en/docs/advanced/async-tests.md b/docs/en/docs/advanced/async-tests.md index c7ec5e9..fcc9a14 100644 --- a/docs/en/docs/advanced/async-tests.md +++ b/docs/en/docs/advanced/async-tests.md @@ -45,7 +45,7 @@ You can run your tests as usual via:
```console -$ pytest +$ uv run pytest ---> 100% ``` diff --git a/docs/en/docs/advanced/behind-a-proxy.md b/docs/en/docs/advanced/behind-a-proxy.md index c413fcc..34edd71 100644 --- a/docs/en/docs/advanced/behind-a-proxy.md +++ b/docs/en/docs/advanced/behind-a-proxy.md @@ -33,7 +33,7 @@ If your **server** is behind a trusted **proxy** and only the proxy talks to it,
```console -$ fastapi run --forwarded-allow-ips="*" +$ uv run fastapi run --forwarded-allow-ips="*" INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ``` @@ -170,7 +170,7 @@ To achieve this, you can use the command line option `--root-path` like:
```console -$ fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1 +$ uv run fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1 INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ``` @@ -200,7 +200,7 @@ Then, if you start Uvicorn with:
```console -$ fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1 +$ uv run fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1 INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ``` @@ -253,7 +253,7 @@ In a case like that (without a stripped path prefix), the proxy would listen on You can easily run the experiment locally with a stripped path prefix using [Traefik](https://docs.traefik.io/). -[Download Traefik](https://github.com/containous/traefik/releases), it's a single binary, you can extract the compressed file and run it directly from the terminal. +[Download Traefik](https://github.com/traefik/traefik/releases), it's a single binary, you can extract the compressed file and run it directly from the terminal. Then create a file `traefik.toml` with: @@ -321,7 +321,7 @@ And now start your app, using the `--root-path` option:
```console -$ fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1 +$ uv run fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1 INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ``` diff --git a/docs/en/docs/advanced/dataclasses.md b/docs/en/docs/advanced/dataclasses.md index fbabe0c..1fee424 100644 --- a/docs/en/docs/advanced/dataclasses.md +++ b/docs/en/docs/advanced/dataclasses.md @@ -6,7 +6,7 @@ But FastAPI also supports using [`dataclasses`](https://docs.python.org/3/librar {* ../../docs_src/dataclasses_/tutorial001_py310.py hl[1,6:11,18:19] *} -This is still supported thanks to **Pydantic**, as it has [internal support for `dataclasses`](https://docs.pydantic.dev/latest/concepts/dataclasses/#use-of-stdlib-dataclasses-with-basemodel). +This is still supported thanks to **Pydantic**, as it has [internal support for `dataclasses`](https://pydantic.dev/docs/validation/latest/concepts/dataclasses/#usage-of-stdlib-dataclasses-with-basemodel). So, even with the code above that doesn't use Pydantic explicitly, FastAPI is using Pydantic to convert those standard dataclasses to Pydantic's own flavor of dataclasses. @@ -88,7 +88,7 @@ Check the in-code annotation tips above to see more specific details. You can also combine `dataclasses` with other Pydantic models, inherit from them, include them in your own models, etc. -To learn more, check the [Pydantic docs about dataclasses](https://docs.pydantic.dev/latest/concepts/dataclasses/). +To learn more, check the [Pydantic docs about dataclasses](https://pydantic.dev/docs/validation/latest/concepts/dataclasses/). ## Version { #version } diff --git a/docs/en/docs/advanced/events.md b/docs/en/docs/advanced/events.md index 8f8cdb0..485340a 100644 --- a/docs/en/docs/advanced/events.md +++ b/docs/en/docs/advanced/events.md @@ -154,7 +154,7 @@ Underneath, in the ASGI technical specification, this is part of the [Lifespan P /// note -You can read more about the Starlette `lifespan` handlers in [Starlette's Lifespan' docs](https://www.starlette.dev/lifespan/). +You can read more about the Starlette `lifespan` handlers in [Starlette's Lifespan' docs](https://starlette.dev/lifespan/). Including how to handle lifespan state that can be used in other areas of your code. diff --git a/docs/en/docs/advanced/generate-clients.md b/docs/en/docs/advanced/generate-clients.md index 67dfe73..e99a48d 100644 --- a/docs/en/docs/advanced/generate-clients.md +++ b/docs/en/docs/advanced/generate-clients.md @@ -12,7 +12,7 @@ A versatile option is the [OpenAPI Generator](https://openapi-generator.tech/), For **TypeScript clients**, [Hey API](https://heyapi.dev/) is a purpose-built solution, providing an optimized experience for the TypeScript ecosystem. -You can discover more SDK generators on [OpenAPI.Tools](https://openapi.tools/#sdk). +You can discover more SDK generators on [OpenAPI.Tools](https://openapi.tools/categories/sdk-generators). /// tip diff --git a/docs/en/docs/advanced/middleware.md b/docs/en/docs/advanced/middleware.md index 65f9438..f64c084 100644 --- a/docs/en/docs/advanced/middleware.md +++ b/docs/en/docs/advanced/middleware.md @@ -91,7 +91,7 @@ There are many other ASGI middlewares. For example: -* [Uvicorn's `ProxyHeadersMiddleware`](https://github.com/encode/uvicorn/blob/master/uvicorn/middleware/proxy_headers.py) +* [Uvicorn's `ProxyHeadersMiddleware`](https://github.com/Kludex/uvicorn/blob/main/uvicorn/middleware/proxy_headers.py) * [MessagePack](https://github.com/florimondmanca/msgpack-asgi) -To see other available middlewares check [Starlette's Middleware docs](https://www.starlette.dev/middleware/) and the [ASGI Awesome List](https://github.com/florimondmanca/awesome-asgi). +To see other available middlewares check [Starlette's Middleware docs](https://starlette.dev/middleware/) and the [ASGI Awesome List](https://github.com/florimondmanca/awesome-asgi). diff --git a/docs/en/docs/advanced/openapi-callbacks.md b/docs/en/docs/advanced/openapi-callbacks.md index 17910e1..6440b90 100644 --- a/docs/en/docs/advanced/openapi-callbacks.md +++ b/docs/en/docs/advanced/openapi-callbacks.md @@ -35,7 +35,7 @@ This part is pretty normal, most of the code is probably already familiar to you /// tip -The `callback_url` query parameter uses a Pydantic [Url](https://docs.pydantic.dev/latest/api/networks/) type. +The `callback_url` query parameter uses a Pydantic [Url](https://pydantic.dev/docs/validation/latest/api/pydantic/networks/) type. /// @@ -106,11 +106,11 @@ It should look just like a normal FastAPI *path operation*: There are 2 main differences from a normal *path operation*: * It doesn't need to have any actual code, because your app will never call this code. It's only used to document the *external API*. So, the function could just have `pass`. -* The *path* can contain an [OpenAPI 3 expression](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#key-expression) (see more below) where it can use variables with parameters and parts of the original request sent to *your API*. +* The *path* can contain an [OpenAPI 3 expression](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#key-expression) (see more below) where it can use variables with parameters and parts of the original request sent to *your API*. ### The callback path expression { #the-callback-path-expression } -The callback *path* can have an [OpenAPI 3 expression](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#key-expression) that can contain parts of the original request sent to *your API*. +The callback *path* can have an [OpenAPI 3 expression](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#key-expression) that can contain parts of the original request sent to *your API*. In this case, it's the `str`: diff --git a/docs/en/docs/advanced/response-cookies.md b/docs/en/docs/advanced/response-cookies.md index f523a5c..81da22b 100644 --- a/docs/en/docs/advanced/response-cookies.md +++ b/docs/en/docs/advanced/response-cookies.md @@ -48,4 +48,4 @@ And as the `Response` can be used frequently to set headers and cookies, **FastA /// -To see all the available parameters and options, check the [documentation in Starlette](https://www.starlette.dev/responses/#set-cookie). +To see all the available parameters and options, check the [documentation in Starlette](https://starlette.dev/responses/#set-cookie). diff --git a/docs/en/docs/advanced/response-headers.md b/docs/en/docs/advanced/response-headers.md index cbc28e4..c368508 100644 --- a/docs/en/docs/advanced/response-headers.md +++ b/docs/en/docs/advanced/response-headers.md @@ -38,4 +38,4 @@ And as the `Response` can be used frequently to set headers and cookies, **FastA Keep in mind that custom proprietary headers can be added [using the `X-` prefix](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers). -But if you have custom headers that you want a client in a browser to be able to see, you need to add them to your CORS configurations (read more in [CORS (Cross-Origin Resource Sharing)](../tutorial/cors.md)), using the parameter `expose_headers` documented in [Starlette's CORS docs](https://www.starlette.dev/middleware/#corsmiddleware). +But if you have custom headers that you want a client in a browser to be able to see, you need to add them to your CORS configurations (read more in [CORS (Cross-Origin Resource Sharing)](../tutorial/cors.md)), using the parameter `expose_headers` documented in [Starlette's CORS docs](https://starlette.dev/middleware/#corsmiddleware). diff --git a/docs/en/docs/advanced/settings.md b/docs/en/docs/advanced/settings.md index ff313f0..f86537e 100644 --- a/docs/en/docs/advanced/settings.md +++ b/docs/en/docs/advanced/settings.md @@ -6,9 +6,13 @@ Most of these settings are variable (can change), like database URLs. And many c For this reason it's common to provide them in environment variables that are read by the application. +An **environment variable** (also known as an **env var**) is a value that lives outside of the Python code, in the operating system, and can be read by your application and other programs. + +You can create an environment variable for a command when you run it. You will see the platform-specific commands below. + /// tip -To understand environment variables you can read [Environment Variables](../environment-variables.md). +Read the [Environment Variables guide](https://tiangolo.com/guides/environment-variables/) for a detailed explanation of how environment variables work. /// @@ -20,16 +24,16 @@ That means that any value read in Python from an environment variable will be a ## Pydantic `Settings` { #pydantic-settings } -Fortunately, Pydantic provides a great utility to handle these settings coming from environment variables with [Pydantic: Settings management](https://docs.pydantic.dev/latest/concepts/pydantic_settings/). +Fortunately, Pydantic provides a great utility to handle these settings coming from environment variables with [Pydantic: Settings management](https://pydantic.dev/docs/validation/latest/concepts/pydantic_settings/). ### Install `pydantic-settings` { #install-pydantic-settings } -First, make sure you create your [virtual environment](../virtual-environments.md), activate it, and then install the `pydantic-settings` package: +Add the `pydantic-settings` package to your project:
```console -$ pip install pydantic-settings +$ uv add pydantic-settings ---> 100% ``` @@ -40,7 +44,7 @@ It also comes included when you install the `all` extras with:
```console -$ pip install "fastapi[all]" +$ uv add "fastapi[all]" ---> 100% ``` @@ -76,19 +80,39 @@ Then you can use the new `settings` object in your application: Next, you would run the server passing the configurations as environment variables, for example you could set an `ADMIN_EMAIL` and `APP_NAME` with: +//// tab | Linux, macOS, Windows Bash +
```console -$ ADMIN_EMAIL="deadpool@example.com" APP_NAME="ChimichangApp" fastapi run main.py +$ ADMIN_EMAIL="deadpool@example.com" APP_NAME="ChimichangApp" uv run fastapi run main.py INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ```
+//// + +//// tab | Windows PowerShell + +
+ +```console +$ $Env:ADMIN_EMAIL = "deadpool@example.com" +$ $Env:APP_NAME = "ChimichangApp" +$ uv run fastapi run main.py + +INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) +``` + +
+ +//// + /// tip -To set multiple env vars for a single command just separate them with a space, and put them all before the command. +In Bash, to set multiple env vars for a single command, separate them with a space and put them all before the command. /// @@ -172,11 +196,11 @@ But a dotenv file doesn't really have to have that exact filename. /// -Pydantic has support for reading from these types of files using an external library. You can read more at [Pydantic Settings: Dotenv (.env) support](https://docs.pydantic.dev/latest/concepts/pydantic_settings/#dotenv-env-support). +Pydantic has support for reading from these types of files using an external library. You can read more at [Pydantic Settings: Dotenv (.env) support](https://pydantic.dev/docs/validation/latest/concepts/pydantic_settings/#dotenv-env-support). /// tip -For this to work, you need to `pip install python-dotenv`. +For this to work, add `python-dotenv` to your project with `uv add python-dotenv`. /// @@ -197,7 +221,7 @@ And then update your `config.py` with: /// tip -The `model_config` attribute is used just for Pydantic configuration. You can read more at [Pydantic: Concepts: Configuration](https://docs.pydantic.dev/latest/concepts/config/). +The `model_config` attribute is used just for Pydantic configuration. You can read more at [Pydantic: Concepts: Configuration](https://pydantic.dev/docs/validation/latest/concepts/config/). /// diff --git a/docs/en/docs/advanced/sub-applications.md b/docs/en/docs/advanced/sub-applications.md index a391c7c..267fe02 100644 --- a/docs/en/docs/advanced/sub-applications.md +++ b/docs/en/docs/advanced/sub-applications.md @@ -35,7 +35,7 @@ Now, run the `fastapi` command:
```console -$ fastapi dev +$ uv run fastapi dev INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ``` diff --git a/docs/en/docs/advanced/templates.md b/docs/en/docs/advanced/templates.md index 6570865..e25380e 100644 --- a/docs/en/docs/advanced/templates.md +++ b/docs/en/docs/advanced/templates.md @@ -8,12 +8,12 @@ There are utilities to configure it easily that you can use directly in your **F ## Install dependencies { #install-dependencies } -Make sure you create a [virtual environment](../virtual-environments.md), activate it, and install `jinja2`: +Add `jinja2` to your project:
```console -$ pip install jinja2 +$ uv add jinja2 ---> 100% ``` @@ -123,4 +123,4 @@ And because you are using `StaticFiles`, that CSS file would be served automatic ## More details { #more-details } -For more details, including how to test templates, check [Starlette's docs on templates](https://www.starlette.dev/templates/). +For more details, including how to test templates, check [Starlette's docs on templates](https://starlette.dev/templates/). diff --git a/docs/en/docs/advanced/testing-events.md b/docs/en/docs/advanced/testing-events.md index ba42e71..146d36d 100644 --- a/docs/en/docs/advanced/testing-events.md +++ b/docs/en/docs/advanced/testing-events.md @@ -5,7 +5,7 @@ When you need `lifespan` to run in your tests, you can use the `TestClient` with {* ../../docs_src/app_testing/tutorial004_py310.py hl[9:15,18,27:28,30:32,41:43] *} -You can read more details about the ["Running lifespan in tests in the official Starlette documentation site."](https://www.starlette.dev/lifespan/#running-lifespan-in-tests) +You can read more details about the ["Running lifespan in tests in the official Starlette documentation site."](https://starlette.dev/lifespan/#running-lifespan-in-tests) For the deprecated `startup` and `shutdown` events, you can use the `TestClient` as follows: diff --git a/docs/en/docs/advanced/testing-websockets.md b/docs/en/docs/advanced/testing-websockets.md index 040f8e3..b11e96e 100644 --- a/docs/en/docs/advanced/testing-websockets.md +++ b/docs/en/docs/advanced/testing-websockets.md @@ -8,6 +8,6 @@ For this, you use the `TestClient` in a `with` statement, connecting to the WebS /// note -For more details, check Starlette's documentation for [testing WebSockets](https://www.starlette.dev/testclient/#testing-websocket-sessions). +For more details, check Starlette's documentation for [testing WebSockets](https://starlette.dev/testclient/#testing-websocket-sessions). /// diff --git a/docs/en/docs/advanced/using-request-directly.md b/docs/en/docs/advanced/using-request-directly.md index 75d859f..e75c403 100644 --- a/docs/en/docs/advanced/using-request-directly.md +++ b/docs/en/docs/advanced/using-request-directly.md @@ -15,7 +15,7 @@ But there are situations where you might need to access the `Request` object dir ## Details about the `Request` object { #details-about-the-request-object } -As **FastAPI** is actually **Starlette** underneath, with a layer of several tools on top, you can use Starlette's [`Request`](https://www.starlette.dev/requests/) object directly when you need to. +As **FastAPI** is actually **Starlette** underneath, with a layer of several tools on top, you can use Starlette's [`Request`](https://starlette.dev/requests/) object directly when you need to. It would also mean that if you get data from the `Request` object directly (for example, read the body) it won't be validated, converted or documented (with OpenAPI, for the automatic API user interface) by FastAPI. @@ -45,7 +45,7 @@ The same way, you can declare any other parameter as normally, and additionally, ## `Request` documentation { #request-documentation } -You can read more details about the [`Request` object in the official Starlette documentation site](https://www.starlette.dev/requests/). +You can read more details about the [`Request` object in the official Starlette documentation site](https://starlette.dev/requests/). /// note | Technical Details diff --git a/docs/en/docs/advanced/websockets.md b/docs/en/docs/advanced/websockets.md index 6f4603e..61f9389 100644 --- a/docs/en/docs/advanced/websockets.md +++ b/docs/en/docs/advanced/websockets.md @@ -4,12 +4,12 @@ You can use [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSoc ## Install `websockets` { #install-websockets } -Make sure you create a [virtual environment](../virtual-environments.md), activate it, and install `websockets` (a Python library that makes it easy to use the "WebSocket" protocol): +Add `websockets` (a Python library that makes it easy to use the "WebSocket" protocol) to your project:
```console -$ pip install websockets +$ uv add websockets ---> 100% ``` @@ -69,7 +69,7 @@ Put your code in a file `main.py` and then run your application:
```console -$ fastapi dev +$ uv run fastapi dev INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ``` @@ -126,7 +126,7 @@ Run your application:
```console -$ fastapi dev +$ uv run fastapi dev INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ``` @@ -182,5 +182,5 @@ If you need something easy to integrate with FastAPI but that is more robust, su To learn more about the options, check Starlette's documentation for: -* [The `WebSocket` class](https://www.starlette.dev/websockets/). -* [Class-based WebSocket handling](https://www.starlette.dev/endpoints/#websocketendpoint). +* [The `WebSocket` class](https://starlette.dev/websockets/). +* [Class-based WebSocket handling](https://starlette.dev/endpoints/#websocketendpoint). diff --git a/docs/en/docs/advanced/wsgi.md b/docs/en/docs/advanced/wsgi.md index 8dcc3c4..cae8138 100644 --- a/docs/en/docs/advanced/wsgi.md +++ b/docs/en/docs/advanced/wsgi.md @@ -8,7 +8,7 @@ For that, you can use the `WSGIMiddleware` and use it to wrap your WSGI applicat /// note -This requires installing `a2wsgi` for example with `pip install a2wsgi`. +This requires adding `a2wsgi` to your project, for example with `uv add a2wsgi`. /// diff --git a/docs/en/docs/alternatives.md b/docs/en/docs/alternatives.md index d4942a3..011f6c2 100644 --- a/docs/en/docs/alternatives.md +++ b/docs/en/docs/alternatives.md @@ -125,7 +125,7 @@ Adopt and use an open standard for API specifications, instead of a custom schem And integrate standards-based user interface tools: * [Swagger UI](https://github.com/swagger-api/swagger-ui) -* [ReDoc](https://github.com/Rebilly/ReDoc) +* [ReDoc](https://github.com/Redocly/redoc) These two were chosen for being fairly popular and stable, but doing a quick search, you could find dozens of alternative user interfaces for OpenAPI (that you can use with **FastAPI**). @@ -237,7 +237,7 @@ Generate the OpenAPI schema automatically, from the same code that defines seria /// -### [NestJS](https://nestjs.com/) (and [Angular](https://angular.io/)) { #nestjs-and-angular } +### [NestJS](https://nestjs.com/) (and [Angular](https://angular.dev/)) { #nestjs-and-angular } This isn't even Python, NestJS is a JavaScript (TypeScript) NodeJS framework inspired by Angular. @@ -337,7 +337,7 @@ As it is based on the previous standard for synchronous Python web frameworks (W /// note -Hug was created by Timothy Crosley, the same creator of [`isort`](https://github.com/timothycrosley/isort), a great tool to automatically sort imports in Python files. +Hug was created by Timothy Crosley, the same creator of [`isort`](https://github.com/PyCQA/isort), a great tool to automatically sort imports in Python files. /// @@ -401,7 +401,7 @@ I consider **FastAPI** a "spiritual successor" to APIStar, while improving and i ## Used by **FastAPI** { #used-by-fastapi } -### [Pydantic](https://docs.pydantic.dev/) { #pydantic } +### [Pydantic](https://pydantic.dev/docs/) { #pydantic } Pydantic is a library to define data validation, serialization and documentation (using JSON Schema) based on Python type hints. @@ -417,7 +417,7 @@ Handle all the data validation, data serialization and automatic model documenta /// -### [Starlette](https://www.starlette.dev/) { #starlette } +### [Starlette](https://starlette.dev/) { #starlette } Starlette is a lightweight ASGI framework/toolkit, which is ideal for building high-performance asyncio services. @@ -462,7 +462,7 @@ So, anything that you can do with Starlette, you can do it directly with **FastA /// -### [Uvicorn](https://www.uvicorn.dev/) { #uvicorn } +### [Uvicorn](https://uvicorn.dev) { #uvicorn } Uvicorn is a lightning-fast ASGI server, built on uvloop and httptools. diff --git a/docs/en/docs/css/termynal.css b/docs/en/docs/css/termynal.css index a2564e2..daa6038 100644 --- a/docs/en/docs/css/termynal.css +++ b/docs/en/docs/css/termynal.css @@ -55,10 +55,19 @@ text-align: center; } -a[data-terminal-control] { +button[data-terminal-control] { + cursor: pointer; text-align: right; display: block; + width: 100%; color: #aebbff; + border: 0; + background: transparent; + font: inherit; +} + +button[data-terminal-control]:hover { + color: var(--color-text); } [data-ty] { diff --git a/docs/en/docs/deployment/docker.md b/docs/en/docs/deployment/docker.md index bdc0351..2acaeb4 100644 --- a/docs/en/docs/deployment/docker.md +++ b/docs/en/docs/deployment/docker.md @@ -105,36 +105,32 @@ This is what you would want to do in **most cases**, for example: ### Package Requirements { #package-requirements } -You would normally have the **package requirements** for your application in some file. +When you manage your project with `uv`, its direct dependencies are declared in `pyproject.toml` and the exact resolved versions are stored in `uv.lock`. -It would depend mainly on the tool you use to **install** those requirements. - -The most common way to do it is to have a file `requirements.txt` with the package names and their versions, one per line. - -You would of course use the same ideas you read in [About FastAPI versions](versions.md) to set the ranges of versions. - -For example, your `requirements.txt` could look like: - -``` -fastapi[standard]>=0.113.0,<0.114.0 -pydantic>=2.7.0,<3.0.0 -``` - -And you would normally install those package dependencies with `pip`, for example: +You can add the packages your application needs with:
```console -$ pip install -r requirements.txt +$ uv add "fastapi[standard]" pydantic ---> 100% -Successfully installed fastapi pydantic ```
/// note -There are other formats and tools to define and install package dependencies. +The Dockerfile below uses `pip` inside the container. You can export the locked dependencies from your uv project to the `requirements.txt` format it expects: + +
+ +```console +$ uv export --format requirements-txt --no-dev --no-emit-project --output-file requirements.txt +``` + +
+ +The generated `requirements.txt` is an export for the container build. Continue managing dependencies with `uv add` and regenerate it when `uv.lock` changes. /// @@ -372,7 +368,7 @@ You will see the automatic interactive API documentation (provided by [Swagger U And you can also go to [http://192.168.99.100/redoc](http://192.168.99.100/redoc) or [http://127.0.0.1/redoc](http://127.0.0.1/redoc) (or equivalent, using your Docker host). -You will see the alternative automatic documentation (provided by [ReDoc](https://github.com/Rebilly/ReDoc)): +You will see the alternative automatic documentation (provided by [ReDoc](https://github.com/Redocly/redoc)): ![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png) diff --git a/docs/en/docs/deployment/fastapicloud.md b/docs/en/docs/deployment/fastapicloud.md index dbc44f4..d9e7694 100644 --- a/docs/en/docs/deployment/fastapicloud.md +++ b/docs/en/docs/deployment/fastapicloud.md @@ -5,7 +5,7 @@ You can deploy your FastAPI app to [FastAPI Cloud](https://fastapicloud.com) wit
```console -$ fastapi deploy +$ uv run fastapi deploy Deploying to FastAPI Cloud... diff --git a/docs/en/docs/deployment/manually.md b/docs/en/docs/deployment/manually.md index ed49aa0..2101915 100644 --- a/docs/en/docs/deployment/manually.md +++ b/docs/en/docs/deployment/manually.md @@ -52,7 +52,7 @@ The main thing you need to run a **FastAPI** application (or any other ASGI appl There are several alternatives, including: -* [Uvicorn](https://www.uvicorn.dev/): a high performance ASGI server. +* [Uvicorn](https://uvicorn.dev): a high performance ASGI server. * [Hypercorn](https://hypercorn.readthedocs.io/): an ASGI server compatible with HTTP/2 and Trio among other features. * [Daphne](https://github.com/django/daphne): the ASGI server built for Django Channels. * [Granian](https://github.com/emmett-framework/granian): A Rust HTTP server for Python applications. @@ -73,14 +73,14 @@ When you install FastAPI, it comes with a production server, Uvicorn, and you ca But you can also install an ASGI server manually. -Make sure you create a [virtual environment](../virtual-environments.md), activate it, and then you can install the server application. +Add the server application to your project. For example, to install Uvicorn:
```console -$ pip install "uvicorn[standard]" +$ uv add "uvicorn[standard]" ---> 100% ``` @@ -95,7 +95,7 @@ By adding the `standard`, Uvicorn will install and use some recommended extra de That includes `uvloop`, the high-performance drop-in replacement for `asyncio`, that provides the big concurrency performance boost. -When you install FastAPI with something like `pip install "fastapi[standard]"` you already get `uvicorn[standard]` as well. +When you add FastAPI with something like `uv add "fastapi[standard]"` you already get `uvicorn[standard]` as well. /// @@ -106,7 +106,7 @@ If you installed an ASGI server manually, you would normally need to pass an imp
```console -$ uvicorn main:app --host 0.0.0.0 --port 80 +$ uv run uvicorn main:app --host 0.0.0.0 --port 80 INFO: Uvicorn running on http://0.0.0.0:80 (Press CTRL+C to quit) ``` diff --git a/docs/en/docs/deployment/server-workers.md b/docs/en/docs/deployment/server-workers.md index fb0741a..a4d7b42 100644 --- a/docs/en/docs/deployment/server-workers.md +++ b/docs/en/docs/deployment/server-workers.md @@ -86,7 +86,7 @@ If you prefer to use the `uvicorn` command directly:
```console -$ uvicorn main:app --host 0.0.0.0 --port 8080 --workers 4 +$ uv run uvicorn main:app --host 0.0.0.0 --port 8080 --workers 4 INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit) INFO: Started parent process [27365] INFO: Started server process [27368] diff --git a/docs/en/docs/environment-variables.md b/docs/en/docs/environment-variables.md index b123694..42894aa 100644 --- a/docs/en/docs/environment-variables.md +++ b/docs/en/docs/environment-variables.md @@ -1,298 +1,11 @@ # Environment Variables { #environment-variables } -/// tip +An **environment variable** (also known as an **env var**) is a value that lives outside of your Python code, in the operating system, and can be read by your application and other programs. -If you already know what "environment variables" are and how to use them, feel free to skip this. +FastAPI applications commonly use environment variables for configuration such as database URLs, email credentials, and secret keys. -/// +You will learn how to use them for application configuration in [Settings and Environment Variables](advanced/settings.md). -An environment variable (also known as "**env var**") is a variable that lives **outside** of the Python code, in the **operating system**, and could be read by your Python code (or by other programs as well). +## Learn More { #learn-more } -Environment variables could be useful for handling application **settings**, as part of the **installation** of Python, etc. - -## Create and Use Env Vars { #create-and-use-env-vars } - -You can **create** and use environment variables in the **shell (terminal)**, without needing Python: - -//// tab | Linux, macOS, Windows Bash - -
- -```console -// You could create an env var MY_NAME with -$ export MY_NAME="Wade Wilson" - -// Then you could use it with other programs, like -$ echo "Hello $MY_NAME" - -Hello Wade Wilson -``` - -
- -//// - -//// tab | Windows PowerShell - -
- -```console -// Create an env var MY_NAME -$ $Env:MY_NAME = "Wade Wilson" - -// Use it with other programs, like -$ echo "Hello $Env:MY_NAME" - -Hello Wade Wilson -``` - -
- -//// - -## Read env vars in Python { #read-env-vars-in-python } - -You could also create environment variables **outside** of Python, in the terminal (or with any other method), and then **read them in Python**. - -For example you could have a file `main.py` with: - -```Python hl_lines="3" -import os - -name = os.getenv("MY_NAME", "World") -print(f"Hello {name} from Python") -``` - -/// tip - -The second argument to [`os.getenv()`](https://docs.python.org/3.8/library/os.html#os.getenv) is the default value to return. - -If not provided, it's `None` by default, here we provide `"World"` as the default value to use. - -/// - -Then you could call that Python program: - -//// tab | Linux, macOS, Windows Bash - -
- -```console -// Here we don't set the env var yet -$ python main.py - -// As we didn't set the env var, we get the default value - -Hello World from Python - -// But if we create an environment variable first -$ export MY_NAME="Wade Wilson" - -// And then call the program again -$ python main.py - -// Now it can read the environment variable - -Hello Wade Wilson from Python -``` - -
- -//// - -//// tab | Windows PowerShell - -
- -```console -// Here we don't set the env var yet -$ python main.py - -// As we didn't set the env var, we get the default value - -Hello World from Python - -// But if we create an environment variable first -$ $Env:MY_NAME = "Wade Wilson" - -// And then call the program again -$ python main.py - -// Now it can read the environment variable - -Hello Wade Wilson from Python -``` - -
- -//// - -As environment variables can be set outside of the code, but can be read by the code, and don't have to be stored (committed to `git`) with the rest of the files, it's common to use them for configurations or **settings**. - -You can also create an environment variable only for a **specific program invocation**, that is only available to that program, and only for its duration. - -To do that, create it right before the program itself, on the same line: - -
- -```console -// Create an env var MY_NAME in line for this program call -$ MY_NAME="Wade Wilson" python main.py - -// Now it can read the environment variable - -Hello Wade Wilson from Python - -// The env var no longer exists afterwards -$ python main.py - -Hello World from Python -``` - -
- -/// tip - -You can read more about it at [The Twelve-Factor App: Config](https://12factor.net/config). - -/// - -## Types and Validation { #types-and-validation } - -These environment variables can only handle **text strings**, as they are external to Python and have to be compatible with other programs and the rest of the system (and even with different operating systems, such as Linux, Windows, and macOS). - -That means that **any value** read in Python from an environment variable **will be a `str`**, and any conversion to a different type or any validation has to be done in code. - -You will learn more about using environment variables for handling **application settings** in the [Advanced User Guide - Settings and Environment Variables](./advanced/settings.md). - -## `PATH` Environment Variable { #path-environment-variable } - -There is a **special** environment variable called **`PATH`** that is used by the operating systems (Linux, macOS, Windows) to find programs to run. - -The value of the variable `PATH` is a long string that is made of directories separated by a colon `:` on Linux and macOS, and by a semicolon `;` on Windows. - -For example, the `PATH` environment variable could look like this: - -//// tab | Linux, macOS - -```plaintext -/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin -``` - -This means that the system should look for programs in the directories: - -* `/usr/local/bin` -* `/usr/bin` -* `/bin` -* `/usr/sbin` -* `/sbin` - -//// - -//// tab | Windows - -```plaintext -C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32 -``` - -This means that the system should look for programs in the directories: - -* `C:\Program Files\Python312\Scripts` -* `C:\Program Files\Python312` -* `C:\Windows\System32` - -//// - -When you type a **command** in the terminal, the operating system **looks for** the program in **each of those directories** listed in the `PATH` environment variable. - -For example, when you type `python` in the terminal, the operating system looks for a program called `python` in the **first directory** in that list. - -If it finds it, then it will **use it**. Otherwise it keeps looking in the **other directories**. - -### Installing Python and Updating the `PATH` { #installing-python-and-updating-the-path } - -When you install Python, you might be asked if you want to update the `PATH` environment variable. - -//// tab | Linux, macOS - -Let's say you install Python and it ends up in a directory `/opt/custompython/bin`. - -If you say yes to update the `PATH` environment variable, then the installer will add `/opt/custompython/bin` to the `PATH` environment variable. - -It could look like this: - -```plaintext -/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/custompython/bin -``` - -This way, when you type `python` in the terminal, the system will find the Python program in `/opt/custompython/bin` (the last directory) and use that one. - -//// - -//// tab | Windows - -Let's say you install Python and it ends up in a directory `C:\opt\custompython\bin`. - -If you say yes to update the `PATH` environment variable, then the installer will add `C:\opt\custompython\bin` to the `PATH` environment variable. - -```plaintext -C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32;C:\opt\custompython\bin -``` - -This way, when you type `python` in the terminal, the system will find the Python program in `C:\opt\custompython\bin` (the last directory) and use that one. - -//// - -So, if you type: - -
- -```console -$ python -``` - -
- -//// tab | Linux, macOS - -The system will **find** the `python` program in `/opt/custompython/bin` and run it. - -It would be roughly equivalent to typing: - -
- -```console -$ /opt/custompython/bin/python -``` - -
- -//// - -//// tab | Windows - -The system will **find** the `python` program in `C:\opt\custompython\bin\python` and run it. - -It would be roughly equivalent to typing: - -
- -```console -$ C:\opt\custompython\bin\python -``` - -
- -//// - -This information will be useful when learning about [Virtual Environments](virtual-environments.md). - -## Conclusion { #conclusion } - -With this you should have a basic understanding of what **environment variables** are and how to use them in Python. - -You can also read more about them in the [Wikipedia for Environment Variable](https://en.wikipedia.org/wiki/Environment_variable). - -In many cases it's not very obvious how environment variables would be useful and applicable right away. But they keep showing up in many different scenarios when you are developing, so it's good to know about them. - -For example, you will need this information in the next section, about [Virtual Environments](virtual-environments.md). +Read the [Environment Variables guide](https://tiangolo.com/guides/environment-variables/) for a detailed, cross-platform explanation, including how to create and read environment variables and how the `PATH` environment variable works. diff --git a/docs/en/docs/external-links.md b/docs/en/docs/external-links.md index d614c64..7138c34 100644 --- a/docs/en/docs/external-links.md +++ b/docs/en/docs/external-links.md @@ -23,7 +23,7 @@ But now that FastAPI is the backend framework with the most GitHub stars across Most starred [GitHub repositories with the topic `fastapi`](https://github.com/topics/fastapi): -{% for repo in topic_repos %} +{% for repo in topic_repos.repos %} ★ {{repo.stars}} - {{repo.name}} by @{{repo.owner_login}}. diff --git a/docs/en/docs/fastapi-cli.md b/docs/en/docs/fastapi-cli.md index 9d8f415..e7b0406 100644 --- a/docs/en/docs/fastapi-cli.md +++ b/docs/en/docs/fastapi-cli.md @@ -2,7 +2,7 @@ **FastAPI CLI** is a command line program that you can use to serve your FastAPI app, manage your FastAPI project, and more. -When you install FastAPI (e.g. with `pip install "fastapi[standard]"`), it comes with a command line program you can run in the terminal. +When you add FastAPI to your project (e.g. with `uv add "fastapi[standard]"`), it comes with a command line program you can run in the terminal. To run your FastAPI app for development, you can use the `fastapi dev` command: @@ -52,7 +52,7 @@ For production you would use `fastapi run` instead of `fastapi dev`. 🚀 /// -Internally, **FastAPI CLI** uses [Uvicorn](https://www.uvicorn.dev), a high-performance, production-ready, ASGI server. 😎 +Internally, **FastAPI CLI** uses [Uvicorn](https://uvicorn.dev), a high-performance, production-ready, ASGI server. 😎 The `fastapi` CLI will try to detect automatically the FastAPI app to run, assuming it's an object called `app` in a file `main.py` (or a couple other variants). @@ -100,13 +100,13 @@ from backend.main import app You can also pass the file path to the `fastapi dev` command, and it will guess the FastAPI app object to use: ```console -$ fastapi dev main.py +$ uv run fastapi dev main.py ``` Or, you can also pass the `--entrypoint` option to the `fastapi dev` command: ```console -$ fastapi dev --entrypoint main:app +$ uv run fastapi dev --entrypoint main:app ``` But you would have to remember to pass the correct path\entrypoint every time you call the `fastapi` command. @@ -119,6 +119,10 @@ Running `fastapi dev` initiates development mode. By default, **auto-reload** is enabled, automatically reloading the server when you make changes to your code. This is resource-intensive and could be less stable than when it's disabled. You should only use it for development. It also listens on the IP address `127.0.0.1`, which is the IP for your machine to communicate with itself alone (`localhost`). +Before importing your app, `fastapi dev` sets the `FASTAPI_ENV` environment variable to `development`. If `FASTAPI_ENV` is already set, its existing value is preserved. This lets app startup code choose development-friendly behavior while allowing you to provide an app-specific environment such as `staging`. + +The conventional `FASTAPI_ENV` values are `development` and `production`. `fastapi run` currently leaves `FASTAPI_ENV` unchanged, so set it explicitly if your app needs to detect production mode. + ## `fastapi run` { #fastapi-run } Executing `fastapi run` starts FastAPI in production mode. diff --git a/docs/en/docs/fastapi-people.md b/docs/en/docs/fastapi-people.md index e79928f..a914385 100644 --- a/docs/en/docs/fastapi-people.md +++ b/docs/en/docs/fastapi-people.md @@ -1,7 +1,4 @@ --- -hide: - - navigation - include_yaml: github_sponsors: data/github_sponsors.yml people: data/people.yml @@ -33,22 +30,6 @@ This is me: I'm the creator of **FastAPI**. You can read more about that in [Help FastAPI - Follow the author](help-fastapi.md#follow-the-author). -...But here I want to show you the community. - ---- - -**FastAPI** receives a lot of support from the community. And I want to highlight their contributions. - -These are the people that: - -* [Help others with questions in GitHub](help-fastapi.md#help-others-with-questions-in-github). -* Create or review Pull Requests. -* Help [manage the repository](https://tiangolo.com/open-source/management-tasks/) (team members). - -All these tasks help maintain the repository. - -A round of applause to them. 👏 🙇 - ## Team This is the current list of team members. 😎 @@ -65,113 +46,19 @@ They have different levels of involvement and permissions, they can perform [rep
-Although the team members have the permissions to perform privileged tasks, all the help from others maintaining FastAPI is very much appreciated! 🙇‍♂️ - ## FastAPI Experts -These are the users that have been [helping others the most with questions in GitHub](help-fastapi.md#help-others-with-questions-in-github). 🙇 +For a long time, answering questions from the community in GitHub Discussions was done by other community volunteers. -They have proven to be **FastAPI Experts** by helping many others. ✨ +They proved they are **FastAPI Experts** by helping many others. ✨ -/// tip - -You could become an official FastAPI Expert too! - -Just [help others with questions in GitHub](help-fastapi.md#help-others-with-questions-in-github). 🤓 - -/// - -You can see the **FastAPI Experts** for: - -* [Last Month](#fastapi-experts-last-month) 🤓 -* [3 Months](#fastapi-experts-3-months) 😎 -* [6 Months](#fastapi-experts-6-months) 🧐 -* [1 Year](#fastapi-experts-1-year) 🧑‍🔬 -* [**All Time**](#fastapi-experts-all-time) 🧙 - -### FastAPI Experts - Last Month - -These are the users that have been [helping others the most with questions in GitHub](help-fastapi.md#help-others-with-questions-in-github) during the last month. 🤓 +Here's the hall of fame of the first FastAPI Experts:
-{% for user in people.last_month_experts[:10] %} +{% for user in people.experts[:30] %} -{% if user.login not in skip_users %} - -
@{{ user.login }}
Questions replied: {{ user.count }}
- -{% endif %} - -{% endfor %} - -
- -### FastAPI Experts - 3 Months - -These are the users that have been [helping others the most with questions in GitHub](help-fastapi.md#help-others-with-questions-in-github) during the last 3 months. 😎 - -
- -{% for user in people.three_months_experts[:10] %} - -{% if user.login not in skip_users %} - -
@{{ user.login }}
Questions replied: {{ user.count }}
- -{% endif %} - -{% endfor %} - -
- -### FastAPI Experts - 6 Months - -These are the users that have been [helping others the most with questions in GitHub](help-fastapi.md#help-others-with-questions-in-github) during the last 6 months. 🧐 - -
- -{% for user in people.six_months_experts[:10] %} - -{% if user.login not in skip_users %} - -
@{{ user.login }}
Questions replied: {{ user.count }}
- -{% endif %} - -{% endfor %} - -
- -### FastAPI Experts - 1 Year - -These are the users that have been [helping others the most with questions in GitHub](help-fastapi.md#help-others-with-questions-in-github) during the last year. 🧑‍🔬 - -
- -{% for user in people.one_year_experts[:20] %} - -{% if user.login not in skip_users %} - -
@{{ user.login }}
Questions replied: {{ user.count }}
- -{% endif %} - -{% endfor %} - -
- -### FastAPI Experts - All Time - -Here are the all time **FastAPI Experts**. 🤓🤯 - -These are the users that have [helped others the most with questions in GitHub](help-fastapi.md#help-others-with-questions-in-github) through *all time*. 🧙 - -
- -{% for user in people.experts[:50] %} - -{% if user.login not in skip_users %} +{% if user.login not in skip_users.users %}
@{{ user.login }}
Questions replied: {{ user.count }}
@@ -183,17 +70,19 @@ These are the users that have [helped others the most with questions in GitHub]( ## Top Contributors -Here are the **Top Contributors**. 👷 +Currently, most of the code changes in FastAPI are done by the team. -These users have created the most Pull Requests that have been *merged*. +But over the years, there have also been many contributions made by others. -They have contributed source code, documentation, etc. 📦 +They contributed source code, documentation, etc. 📦 + +Here's the hall of fame of the first **Top Contributors**. 👷
-{% for user in (contributors.values() | list)[:50] %} +{% for user in (contributors.values() | list)[:30] %} -{% if user.login not in skip_users %} +{% if user.login not in skip_users.users %}
@{{ user.login }}
Pull Requests: {{ user.count }}
@@ -207,14 +96,16 @@ There are hundreds of other contributors, you can see them all in the [FastAPI G ## Top Translation Reviewers -These users are the **Top Translation Reviewers**. 🕵️ +Currently, translations are done using AI tools, steered by the FastAPI team and native speakers. -Translation reviewers have the **power to approve translations** of the documentation. Without them, there wouldn't be documentation in several other languages. +At some point, FastAPI had some documentation pages that community members translated into other languages by hand. + +Here's the hall of fame of the first **Top Translation Reviewers**. 🕵️
-{% for user in (translation_reviewers.values() | list)[:50] %} +{% for user in (translation_reviewers.values() | list)[:30] %} -{% if user.login not in skip_users %} +{% if user.login not in skip_users.users %}
@{{ user.login }}
Reviews: {{ user.count }}
@@ -226,9 +117,7 @@ Translation reviewers have the **power to approve translations** of the document ## Sponsors -These are the **Sponsors**. 😎 - -They are supporting my work with **FastAPI** (and others), mainly through [GitHub Sponsors](https://github.com/sponsors/tiangolo). +**Sponsors** support **FastAPI** and friends, mainly through [GitHub Sponsors](https://github.com/sponsors/tiangolo). ✨ {% if sponsors %} @@ -283,12 +172,22 @@ They are supporting my work with **FastAPI** (and others), mainly through [GitHu ## About the data - technical details -The main intention of this page is to highlight the effort of the community to help others. +The main intention of this page has been to highlight the effort of the community to help others, especially efforts that were normally less visible and, in many cases, more arduous, like helping others with questions and reviewing Pull Requests with translations. -Especially including efforts that are normally less visible, and in many cases more arduous, like helping others with questions and reviewing Pull Requests with translations. +It also highlights contributions from sponsors. -The data is calculated each month, you can read the [source code here](https://github.com/fastapi/fastapi/blob/master/scripts/). +The data used to be calculated continuously, each month. -Here I'm also highlighting contributions from sponsors. +As of July 2026, most of the work has been done by (paid) team members for quite some time. -I also reserve the right to update the algorithm, sections, thresholds, etc (just in case 🤷). +GitHub Discussions are answered mostly by team members. + +Most of the code changes are done by team members. + +And translations are continuously done for the entire documentation in multiple languages, using AI tools, managed by team members. + +Additionally, in recent months, there's been an overwhelming amount of AI spam, mainly to cheat the FastAPI Experts system or to get a PR merged by any means and thereby be considered a contributor. You can read more about the point of view in [Automated Code and AI](https://tiangolo.com/open-source/contributing/#automated-code-and-ai). + +Because of this, the data for the FastAPI Experts, Top Contributors, and Top Translation Reviewers is no longer continuously updated. + +This section is currently kept as a tribute to the humans that helped shape what FastAPI is today. 🙌 diff --git a/docs/en/docs/features.md b/docs/en/docs/features.md index b4cafd0..42ddf60 100644 --- a/docs/en/docs/features.md +++ b/docs/en/docs/features.md @@ -19,7 +19,7 @@ Interactive API documentation and exploration web user interfaces. As the framew ![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png) -* Alternative API documentation with [**ReDoc**](https://github.com/Rebilly/ReDoc). +* Alternative API documentation with [**ReDoc**](https://github.com/Redocly/redoc). ![ReDoc](https://fastapi.tiangolo.com/img/index/index-06-redoc-02.png) @@ -159,7 +159,7 @@ Any integration is designed to be so simple to use (with dependencies) that you ## Starlette features { #starlette-features } -**FastAPI** is fully compatible with (and based on) [**Starlette**](https://www.starlette.dev/). So, any additional Starlette code you have, will also work. +**FastAPI** is fully compatible with (and based on) [**Starlette**](https://starlette.dev/). So, any additional Starlette code you have, will also work. `FastAPI` is actually a sub-class of `Starlette`. So, if you already know or use Starlette, most of the functionality will work the same way. @@ -177,7 +177,7 @@ With **FastAPI** you get all of **Starlette**'s features (as FastAPI is just Sta ## Pydantic features { #pydantic-features } -**FastAPI** is fully compatible with (and based on) [**Pydantic**](https://docs.pydantic.dev/). So, any additional Pydantic code you have, will also work. +**FastAPI** is fully compatible with (and based on) [**Pydantic**](https://pydantic.dev/docs/). So, any additional Pydantic code you have, will also work. Including external libraries also based on Pydantic, such as ORMs and ODMs for databases. diff --git a/docs/en/docs/help-fastapi.md b/docs/en/docs/help-fastapi.md index 14bd056..ce24cde 100644 --- a/docs/en/docs/help-fastapi.md +++ b/docs/en/docs/help-fastapi.md @@ -45,20 +45,6 @@ You can follow [me (Sebastián Ramírez / `tiangolo`)](https://tiangolo.com), th * [@tiangolo.com on **Bluesky**](https://bsky.app/profile/tiangolo.com) * [@tiangolo on **LinkedIn**](https://www.linkedin.com/in/tiangolo/). -## Help others with questions in GitHub { #help-others-with-questions-in-github } - -You can try and help others with their questions in [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered). - -In many cases you might already know the answer for those questions. 🤓 - -If you are helping a lot of people with their questions, you will become an official [FastAPI Expert](fastapi-people.md#fastapi-experts). 🎉 - -Just remember, the most important point is: try to be kind. 🤗 - -### How to Help { #how-to-help } - -Follow the [guide on how to help](https://tiangolo.com/open-source/help/#help-others-with-questions-in-github) here. - ## Ask Questions { #ask-questions } You can [create a new question](https://github.com/fastapi/fastapi/discussions/new?category=questions) in the GitHub repository, for example to: @@ -68,7 +54,7 @@ You can [create a new question](https://github.com/fastapi/fastapi/discussions/n ## Join the Chat { #join-the-chat } -Join the 👥 [Discord chat server](https://discord.gg/VQjSZaeJmf) 👥 and hang out with others in the FastAPI community. +Join the 👥 [Discord chat server](https://discord.com/invite/VQjSZaeJmf) 👥 and hang out with others in the FastAPI community. /// tip @@ -85,3 +71,9 @@ Keep in mind that as chats allow more "free conversation", it's easy to ask ques In GitHub, the template will guide you to write the right question so that you can more easily get a good answer, or even solve the problem yourself even before asking. Conversations in the chat systems are also not as easily searchable as in GitHub, they get lost. + +## Try FastAPI Cloud { #try-fastapi-cloud } + +The main funding for FastAPI and friends comes from [**FastAPI Cloud**](https://fastapicloud.com), a platform to deploy FastAPI applications in a simple and fast way, with a single command, `fastapi deploy`. + +FastAPI Cloud is built by the same team behind FastAPI. You can try it and consider it for your projects. diff --git a/docs/en/docs/history-design-future.md b/docs/en/docs/history-design-future.md index b9a7fa6..6779548 100644 --- a/docs/en/docs/history-design-future.md +++ b/docs/en/docs/history-design-future.md @@ -54,11 +54,11 @@ All in a way that provided the best development experience for all the developer ## Requirements { #requirements } -After testing several alternatives, I decided that I was going to use [**Pydantic**](https://docs.pydantic.dev/) for its advantages. +After testing several alternatives, I decided that I was going to use [**Pydantic**](https://pydantic.dev/docs/) for its advantages. Then I contributed to it, to make it fully compliant with JSON Schema, to support different ways to define constraint declarations, and to improve editor support (type checks, autocompletion) based on the tests in several editors. -During the development, I also contributed to [**Starlette**](https://www.starlette.dev/), the other key requirement. +During the development, I also contributed to [**Starlette**](https://starlette.dev/), the other key requirement. ## Development { #development } diff --git a/docs/en/docs/how-to/custom-request-and-route.md b/docs/en/docs/how-to/custom-request-and-route.md index 2b353d9..4561e66 100644 --- a/docs/en/docs/how-to/custom-request-and-route.md +++ b/docs/en/docs/how-to/custom-request-and-route.md @@ -66,7 +66,7 @@ The `scope` `dict` and `receive` function are both part of the ASGI specificatio And those two things, `scope` and `receive`, are what is needed to create a new `Request` instance. -To learn more about the `Request` check [Starlette's docs about Requests](https://www.starlette.dev/requests/). +To learn more about the `Request` check [Starlette's docs about Requests](https://starlette.dev/requests/). /// diff --git a/docs/en/docs/how-to/extending-openapi.md b/docs/en/docs/how-to/extending-openapi.md index 8368eea..5c45ef7 100644 --- a/docs/en/docs/how-to/extending-openapi.md +++ b/docs/en/docs/how-to/extending-openapi.md @@ -45,7 +45,7 @@ The parameter `summary` is available in OpenAPI 3.1.0 and above, supported by Fa Using the information above, you can use the same utility function to generate the OpenAPI schema and override each part that you need. -For example, let's add [ReDoc's OpenAPI extension to include a custom logo](https://github.com/Rebilly/ReDoc/blob/master/docs/redoc-vendor-extensions.md#x-logo). +For example, let's add [ReDoc's OpenAPI extension to include a custom logo](https://github.com/Redocly/redoc/blob/main/docs/redoc-vendor-extensions.md#x-logo). ### Normal **FastAPI** { #normal-fastapi } diff --git a/docs/en/docs/how-to/graphql.md b/docs/en/docs/how-to/graphql.md index de149a7..2adbf4c 100644 --- a/docs/en/docs/how-to/graphql.md +++ b/docs/en/docs/how-to/graphql.md @@ -21,7 +21,7 @@ Here are some of the **GraphQL** libraries that have **ASGI** support. You could * [Strawberry](https://strawberry.rocks/) 🍓 * With [docs for FastAPI](https://strawberry.rocks/docs/integrations/fastapi) * [Ariadne](https://ariadnegraphql.org/) - * With [docs for FastAPI](https://ariadnegraphql.org/docs/fastapi-integration) + * With [docs for FastAPI](https://ariadnegraphql.org/server/Integrations/fastapi-integration) * [Tartiflette](https://tartiflette.io/) * With [Tartiflette ASGI](https://tartiflette.github.io/tartiflette-asgi/) to provide ASGI integration * [Graphene](https://graphene-python.org/) diff --git a/docs/en/docs/how-to/migrate-from-pydantic-v1-to-pydantic-v2.md b/docs/en/docs/how-to/migrate-from-pydantic-v1-to-pydantic-v2.md index 816cf54..7b19ddd 100644 --- a/docs/en/docs/how-to/migrate-from-pydantic-v1-to-pydantic-v2.md +++ b/docs/en/docs/how-to/migrate-from-pydantic-v1-to-pydantic-v2.md @@ -24,7 +24,7 @@ If you have an old FastAPI app with Pydantic v1, here I'll show you how to migra ## Official Guide { #official-guide } -Pydantic has an official [Migration Guide](https://docs.pydantic.dev/latest/migration/) from v1 to v2. +Pydantic has an official [Migration Guide](https://pydantic.dev/docs/validation/latest/get-started/migration/) from v1 to v2. It also includes what has changed, how validations are now more correct and strict, possible caveats, etc. diff --git a/docs/en/docs/index.md b/docs/en/docs/index.md index 7baeaab..b9086f4 100644 --- a/docs/en/docs/index.md +++ b/docs/en/docs/index.md @@ -110,7 +110,7 @@ The key features are: