From 781984b22651d04a33a260d981d59da53fd950f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Sat, 18 Nov 2023 14:38:01 +0100 Subject: [PATCH 0001/1336] =?UTF-8?q?=F0=9F=94=A7=20Update=20sponsors,=20a?= =?UTF-8?q?dd=20Reflex=20(#10676)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + docs/en/data/sponsors.yml | 3 +++ docs/en/data/sponsors_badge.yml | 1 + docs/en/docs/img/sponsors/reflex-banner.png | Bin 0 -> 8143 bytes docs/en/docs/img/sponsors/reflex.png | Bin 0 -> 11293 bytes docs/en/overrides/main.html | 6 ++++++ 6 files changed, 11 insertions(+) create mode 100644 docs/en/docs/img/sponsors/reflex-banner.png create mode 100644 docs/en/docs/img/sponsors/reflex.png diff --git a/README.md b/README.md index aeb29b587..06c0c4452 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ The key features are: + diff --git a/docs/en/data/sponsors.yml b/docs/en/data/sponsors.yml index dac47d2f0..f2e07cbd8 100644 --- a/docs/en/data/sponsors.yml +++ b/docs/en/data/sponsors.yml @@ -14,6 +14,9 @@ gold: - url: https://bump.sh/fastapi?utm_source=fastapi&utm_medium=referral&utm_campaign=sponsor title: Automate FastAPI documentation generation with Bump.sh img: https://fastapi.tiangolo.com/img/sponsors/bump-sh.svg + - url: https://reflex.dev + title: Reflex + img: https://fastapi.tiangolo.com/img/sponsors/reflex.png silver: - url: https://www.deta.sh/?ref=fastapi title: The launchpad for all your (team's) ideas diff --git a/docs/en/data/sponsors_badge.yml b/docs/en/data/sponsors_badge.yml index acbcc2205..43b69bf00 100644 --- a/docs/en/data/sponsors_badge.yml +++ b/docs/en/data/sponsors_badge.yml @@ -21,3 +21,4 @@ logins: - fern-api - ndimares - svixhq + - Alek99 diff --git a/docs/en/docs/img/sponsors/reflex-banner.png b/docs/en/docs/img/sponsors/reflex-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..3095c3a7b40906a8f6476c97370d03f95470e461 GIT binary patch literal 8143 zcmV;=A28sFP)5C00009a7bBm000XU z000XU0RWnu7ytkPKxsomP;*c-LjVAHoMT{Me2|lzTg;-sz>u3)QWWIwq!1AqrNI7( zftf*sfs=ucK{heDxWG5qErbCGiWAF=lS_(n7*N2sYYdDa`m%0DVqS_|`yBVC^Ro|% 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%0DVqS_|`yBVC^Ro|% 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 T*-t(000000NkvXXu0mjf_P{u$ literal 0 HcmV?d00001 diff --git a/docs/en/overrides/main.html b/docs/en/overrides/main.html index 4c7f19fd4..ed08028ec 100644 --- a/docs/en/overrides/main.html +++ b/docs/en/overrides/main.html @@ -52,6 +52,12 @@ + {% endblock %} From 81bab7761770264e5f6901d0a50fe5d79a5bffa1 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sat, 18 Nov 2023 13:38:23 +0000 Subject: [PATCH 0002/1336] =?UTF-8?q?=F0=9F=93=9D=20Update=20release=20not?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/docs/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md index b62656982..4b6a1967b 100644 --- a/docs/en/docs/release-notes.md +++ b/docs/en/docs/release-notes.md @@ -9,6 +9,7 @@ hide: ### Internal +* 🔧 Update sponsors, add Reflex. PR [#10676](https://github.com/tiangolo/fastapi/pull/10676) by [@tiangolo](https://github.com/tiangolo). * 📝 Update release notes, move and check latest-changes. PR [#10588](https://github.com/tiangolo/fastapi/pull/10588) by [@tiangolo](https://github.com/tiangolo). * 👷 Upgrade latest-changes GitHub Action. PR [#10587](https://github.com/tiangolo/fastapi/pull/10587) by [@tiangolo](https://github.com/tiangolo). From 71d51a99531da8489772bc295d88a0a9a452d45d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Sat, 18 Nov 2023 14:47:04 +0100 Subject: [PATCH 0003/1336] =?UTF-8?q?=F0=9F=94=A7=20Update=20sponsors,=20a?= =?UTF-8?q?dd=20Codacy=20(#10677)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + docs/en/data/sponsors.yml | 3 +++ docs/en/data/sponsors_badge.yml | 1 + docs/en/docs/img/sponsors/codacy.png | Bin 0 -> 30480 bytes 4 files changed, 5 insertions(+) create mode 100644 docs/en/docs/img/sponsors/codacy.png diff --git a/README.md b/README.md index 06c0c4452..655038c6f 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ The key features are: + diff --git a/docs/en/data/sponsors.yml b/docs/en/data/sponsors.yml index f2e07cbd8..4f98c01a0 100644 --- a/docs/en/data/sponsors.yml +++ b/docs/en/data/sponsors.yml @@ -42,6 +42,9 @@ silver: - url: https://www.svix.com/ title: Svix - Webhooks as a service img: https://fastapi.tiangolo.com/img/sponsors/svix.svg + - url: https://www.codacy.com/?utm_source=github&utm_medium=sponsors&utm_id=pioneers + title: Take code reviews from hours to minutes + img: https://fastapi.tiangolo.com/img/sponsors/codacy.png bronze: - url: https://www.exoflare.com/open-source/?utm_source=FastAPI&utm_campaign=open_source title: Biosecurity risk assessments made easy. diff --git a/docs/en/data/sponsors_badge.yml b/docs/en/data/sponsors_badge.yml index 43b69bf00..4078454a8 100644 --- a/docs/en/data/sponsors_badge.yml +++ b/docs/en/data/sponsors_badge.yml @@ -22,3 +22,4 @@ logins: - ndimares - svixhq - Alek99 + - codacy diff --git a/docs/en/docs/img/sponsors/codacy.png b/docs/en/docs/img/sponsors/codacy.png new file mode 100644 index 0000000000000000000000000000000000000000..baa615c2a836413df2aec00ff582162c759a4aab GIT binary patch literal 30480 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 Z{9hD0a-~Z>ZF>L!002ovPDHLkV1i{;0#5({ literal 0 HcmV?d00001 From ac93277d3b506f4076aee1af6ae5a86406f545c6 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sat, 18 Nov 2023 13:47:35 +0000 Subject: [PATCH 0004/1336] =?UTF-8?q?=F0=9F=93=9D=20Update=20release=20not?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/docs/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md index 4b6a1967b..34bbab135 100644 --- a/docs/en/docs/release-notes.md +++ b/docs/en/docs/release-notes.md @@ -9,6 +9,7 @@ hide: ### Internal +* 🔧 Update sponsors, add Codacy. PR [#10677](https://github.com/tiangolo/fastapi/pull/10677) by [@tiangolo](https://github.com/tiangolo). * 🔧 Update sponsors, add Reflex. PR [#10676](https://github.com/tiangolo/fastapi/pull/10676) by [@tiangolo](https://github.com/tiangolo). * 📝 Update release notes, move and check latest-changes. PR [#10588](https://github.com/tiangolo/fastapi/pull/10588) by [@tiangolo](https://github.com/tiangolo). * 👷 Upgrade latest-changes GitHub Action. PR [#10587](https://github.com/tiangolo/fastapi/pull/10587) by [@tiangolo](https://github.com/tiangolo). From 1560879a8417f71d038e25532577f78b55a69b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Tue, 28 Nov 2023 11:52:35 +0100 Subject: [PATCH 0005/1336] =?UTF-8?q?=F0=9F=94=A7=20Update=20sponsors,=20a?= =?UTF-8?q?dd=20Scalar=20(#10728)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + docs/en/data/sponsors.yml | 3 +++ docs/en/docs/img/sponsors/scalar-banner.svg | 1 + docs/en/docs/img/sponsors/scalar.svg | 1 + docs/en/overrides/main.html | 6 ++++++ 5 files changed, 12 insertions(+) create mode 100644 docs/en/docs/img/sponsors/scalar-banner.svg create mode 100644 docs/en/docs/img/sponsors/scalar.svg diff --git a/README.md b/README.md index 655038c6f..b53076dcb 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ The key features are: + diff --git a/docs/en/data/sponsors.yml b/docs/en/data/sponsors.yml index 4f98c01a0..1a253f649 100644 --- a/docs/en/data/sponsors.yml +++ b/docs/en/data/sponsors.yml @@ -17,6 +17,9 @@ gold: - url: https://reflex.dev title: Reflex img: https://fastapi.tiangolo.com/img/sponsors/reflex.png + - url: https://github.com/scalar/scalar/?utm_source=fastapi&utm_medium=website&utm_campaign=main-badge + title: "Scalar: Beautiful Open-Source API References from Swagger/OpenAPI files" + img: https://fastapi.tiangolo.com/img/sponsors/scalar.svg silver: - url: https://www.deta.sh/?ref=fastapi title: The launchpad for all your (team's) ideas diff --git a/docs/en/docs/img/sponsors/scalar-banner.svg b/docs/en/docs/img/sponsors/scalar-banner.svg new file mode 100644 index 000000000..bab74e2d7 --- /dev/null +++ b/docs/en/docs/img/sponsors/scalar-banner.svg @@ -0,0 +1 @@ + diff --git a/docs/en/docs/img/sponsors/scalar.svg b/docs/en/docs/img/sponsors/scalar.svg new file mode 100644 index 000000000..174c57ee2 --- /dev/null +++ b/docs/en/docs/img/sponsors/scalar.svg @@ -0,0 +1 @@ + diff --git a/docs/en/overrides/main.html b/docs/en/overrides/main.html index ed08028ec..9aa452e36 100644 --- a/docs/en/overrides/main.html +++ b/docs/en/overrides/main.html @@ -58,6 +58,12 @@ + {% endblock %} From e9ce31e96bd61f09decc1ba8d1908fb5d3315043 Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 28 Nov 2023 10:52:59 +0000 Subject: [PATCH 0006/1336] =?UTF-8?q?=F0=9F=93=9D=20Update=20release=20not?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/docs/release-notes.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md index 34bbab135..9a6c969ab 100644 --- a/docs/en/docs/release-notes.md +++ b/docs/en/docs/release-notes.md @@ -7,6 +7,8 @@ hide: ## Latest Changes +* 🔧 Update sponsors, add Scalar. PR [#10728](https://github.com/tiangolo/fastapi/pull/10728) by [@tiangolo](https://github.com/tiangolo). + ### Internal * 🔧 Update sponsors, add Codacy. PR [#10677](https://github.com/tiangolo/fastapi/pull/10677) by [@tiangolo](https://github.com/tiangolo). From 13cef7a21a8fb941f91c981e93b138d1b44aabd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Tue, 28 Nov 2023 13:10:12 +0100 Subject: [PATCH 0007/1336] =?UTF-8?q?=F0=9F=94=A7=20Update=20sponsors,=20r?= =?UTF-8?q?emove=20Fern=20(#10729)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 - docs/en/data/sponsors.yml | 3 --- docs/en/docs/advanced/generate-clients.md | 5 ++--- docs/en/docs/alternatives.md | 2 -- docs/en/overrides/main.html | 6 ------ 5 files changed, 2 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index b53076dcb..c8d17889d 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,6 @@ The key features are: - diff --git a/docs/en/data/sponsors.yml b/docs/en/data/sponsors.yml index 1a253f649..113772964 100644 --- a/docs/en/data/sponsors.yml +++ b/docs/en/data/sponsors.yml @@ -5,9 +5,6 @@ gold: - url: https://platform.sh/try-it-now/?utm_source=fastapi-signup&utm_medium=banner&utm_campaign=FastAPI-signup-June-2023 title: "Build, run and scale your apps on a modern, reliable, and secure PaaS." img: https://fastapi.tiangolo.com/img/sponsors/platform-sh.png - - url: https://www.buildwithfern.com/?utm_source=tiangolo&utm_medium=website&utm_campaign=main-badge - title: Fern | SDKs and API docs - img: https://fastapi.tiangolo.com/img/sponsors/fern.svg - url: https://www.porter.run title: Deploy FastAPI on AWS with a few clicks img: https://fastapi.tiangolo.com/img/sponsors/porter.png diff --git a/docs/en/docs/advanced/generate-clients.md b/docs/en/docs/advanced/generate-clients.md index 07a8f039f..fb9aa643e 100644 --- a/docs/en/docs/advanced/generate-clients.md +++ b/docs/en/docs/advanced/generate-clients.md @@ -20,10 +20,9 @@ Some of them also ✨ [**sponsor FastAPI**](../help-fastapi.md#sponsor-the-autho And it shows their true commitment to FastAPI and its **community** (you), as they not only want to provide you a **good service** but also want to make sure you have a **good and healthy framework**, FastAPI. 🙇 -You might want to try their services and follow their guides: +For example, you might want to try Speakeasy. -* Fern -* Speakeasy +There are also several other companies offering similar services that you can search and find online. 🤓 ## Generate a TypeScript Frontend Client diff --git a/docs/en/docs/alternatives.md b/docs/en/docs/alternatives.md index a777ddb98..0f074ccf3 100644 --- a/docs/en/docs/alternatives.md +++ b/docs/en/docs/alternatives.md @@ -119,8 +119,6 @@ That's why when talking about version 2.0 it's common to say "Swagger", and for These two were chosen for being fairly popular and stable, but doing a quick search, you could find dozens of additional alternative user interfaces for OpenAPI (that you can use with **FastAPI**). - For example, you could try Fern which is also a FastAPI sponsor. 😎🎉 - ### Flask REST frameworks There are several Flask REST frameworks, but after investing the time and work into investigating them, I found that many are discontinued or abandoned, with several standing issues that made them unfit. diff --git a/docs/en/overrides/main.html b/docs/en/overrides/main.html index 9aa452e36..c4aea9a8e 100644 --- a/docs/en/overrides/main.html +++ b/docs/en/overrides/main.html @@ -34,12 +34,6 @@ -
From 6fb951bae2cc1177cf4b03e37b751f81f690402e Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 28 Nov 2023 12:10:38 +0000 Subject: [PATCH 0008/1336] =?UTF-8?q?=F0=9F=93=9D=20Update=20release=20not?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/docs/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md index 9a6c969ab..153229bc7 100644 --- a/docs/en/docs/release-notes.md +++ b/docs/en/docs/release-notes.md @@ -11,6 +11,7 @@ hide: ### Internal +* 🔧 Update sponsors, remove Fern. PR [#10729](https://github.com/tiangolo/fastapi/pull/10729) by [@tiangolo](https://github.com/tiangolo). * 🔧 Update sponsors, add Codacy. PR [#10677](https://github.com/tiangolo/fastapi/pull/10677) by [@tiangolo](https://github.com/tiangolo). * 🔧 Update sponsors, add Reflex. PR [#10676](https://github.com/tiangolo/fastapi/pull/10676) by [@tiangolo](https://github.com/tiangolo). * 📝 Update release notes, move and check latest-changes. PR [#10588](https://github.com/tiangolo/fastapi/pull/10588) by [@tiangolo](https://github.com/tiangolo). From 99a2ec981b5dc8803d801a667cd8a56b56950730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Thu, 30 Nov 2023 21:48:01 +0100 Subject: [PATCH 0009/1336] =?UTF-8?q?=F0=9F=93=9D=20Tweak=20default=20sugg?= =?UTF-8?q?ested=20configs=20for=20generating=20clients=20(#10736)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/docs/advanced/generate-clients.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/en/docs/advanced/generate-clients.md b/docs/en/docs/advanced/generate-clients.md index fb9aa643e..e8d771f71 100644 --- a/docs/en/docs/advanced/generate-clients.md +++ b/docs/en/docs/advanced/generate-clients.md @@ -87,7 +87,7 @@ It could look like this: "description": "", "main": "index.js", "scripts": { - "generate-client": "openapi --input http://localhost:8000/openapi.json --output ./src/client --client axios" + "generate-client": "openapi --input http://localhost:8000/openapi.json --output ./src/client --client axios --useOptions --useUnionTypes" }, "author": "", "license": "", @@ -106,7 +106,7 @@ After having that NPM `generate-client` script there, you can run it with: $ npm run generate-client frontend-app@1.0.0 generate-client /home/user/code/frontend-app -> openapi --input http://localhost:8000/openapi.json --output ./src/client --client axios +> openapi --input http://localhost:8000/openapi.json --output ./src/client --client axios --useOptions --useUnionTypes ```
@@ -246,7 +246,7 @@ Now as the end result is in a file `openapi.json`, you would modify the `package "description": "", "main": "index.js", "scripts": { - "generate-client": "openapi --input ./openapi.json --output ./src/client --client axios" + "generate-client": "openapi --input ./openapi.json --output ./src/client --client axios --useOptions --useUnionTypes" }, "author": "", "license": "", From 8cf2fa0fe4f8701411db779176cc4cfac68d4216 Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 30 Nov 2023 20:48:22 +0000 Subject: [PATCH 0010/1336] =?UTF-8?q?=F0=9F=93=9D=20Update=20release=20not?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/docs/release-notes.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md index 153229bc7..f31534457 100644 --- a/docs/en/docs/release-notes.md +++ b/docs/en/docs/release-notes.md @@ -9,6 +9,10 @@ hide: * 🔧 Update sponsors, add Scalar. PR [#10728](https://github.com/tiangolo/fastapi/pull/10728) by [@tiangolo](https://github.com/tiangolo). +### Docs + +* 📝 Tweak default suggested configs for generating clients. PR [#10736](https://github.com/tiangolo/fastapi/pull/10736) by [@tiangolo](https://github.com/tiangolo). + ### Internal * 🔧 Update sponsors, remove Fern. PR [#10729](https://github.com/tiangolo/fastapi/pull/10729) by [@tiangolo](https://github.com/tiangolo). From ca03379b655165e203460c23a2b036a04d41bd7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Mon, 4 Dec 2023 12:10:54 +0100 Subject: [PATCH 0011/1336] =?UTF-8?q?=F0=9F=91=B7=20Update=20build=20docs,?= =?UTF-8?q?=20verify=20README=20on=20CI=20(#10750)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build-docs.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 701c74697..51c069d9e 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -28,6 +28,8 @@ jobs: - docs/** - docs_src/** - requirements-docs.txt + - .github/workflows/build-docs.yml + - .github/workflows/deploy-docs.yml langs: needs: - changes @@ -55,6 +57,8 @@ jobs: pip install git+https://${{ secrets.FASTAPI_MKDOCS_MATERIAL_INSIDERS }}@github.com/squidfunk/mkdocs-material-insiders.git pip install git+https://${{ secrets.FASTAPI_MKDOCS_MATERIAL_INSIDERS }}@github.com/pawamoy-insiders/griffe-typing-deprecated.git pip install git+https://${{ secrets.FASTAPI_MKDOCS_MATERIAL_INSIDERS }}@github.com/pawamoy-insiders/mkdocstrings-python.git + - name: Verify README + run: python ./scripts/docs.py verify-readme - name: Export Language Codes id: show-langs run: | From 01e570c56da2e1e662cc4ebdbce18ec21320a7e6 Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 4 Dec 2023 11:11:17 +0000 Subject: [PATCH 0012/1336] =?UTF-8?q?=F0=9F=93=9D=20Update=20release=20not?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/docs/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md index f31534457..669f19de7 100644 --- a/docs/en/docs/release-notes.md +++ b/docs/en/docs/release-notes.md @@ -15,6 +15,7 @@ hide: ### Internal +* 👷 Update build docs, verify README on CI. PR [#10750](https://github.com/tiangolo/fastapi/pull/10750) by [@tiangolo](https://github.com/tiangolo). * 🔧 Update sponsors, remove Fern. PR [#10729](https://github.com/tiangolo/fastapi/pull/10729) by [@tiangolo](https://github.com/tiangolo). * 🔧 Update sponsors, add Codacy. PR [#10677](https://github.com/tiangolo/fastapi/pull/10677) by [@tiangolo](https://github.com/tiangolo). * 🔧 Update sponsors, add Reflex. PR [#10676](https://github.com/tiangolo/fastapi/pull/10676) by [@tiangolo](https://github.com/tiangolo). From 33493ce694d2f7f1900f6e3128268b10620405f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Wed, 6 Dec 2023 12:33:48 +0100 Subject: [PATCH 0013/1336] =?UTF-8?q?=F0=9F=94=A7=20Update=20sponsors,=20a?= =?UTF-8?q?dd=20PropelAuth=20(#10760)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + docs/en/data/sponsors.yml | 3 +++ docs/en/docs/img/sponsors/propelauth-banner.png | Bin 0 -> 12806 bytes docs/en/docs/img/sponsors/propelauth.png | Bin 0 -> 28140 bytes docs/en/overrides/main.html | 6 ++++++ 5 files changed, 10 insertions(+) create mode 100644 docs/en/docs/img/sponsors/propelauth-banner.png create mode 100644 docs/en/docs/img/sponsors/propelauth.png diff --git a/README.md b/README.md index c8d17889d..2df5cba0b 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ The key features are: + diff --git a/docs/en/data/sponsors.yml b/docs/en/data/sponsors.yml index 113772964..121a3b761 100644 --- a/docs/en/data/sponsors.yml +++ b/docs/en/data/sponsors.yml @@ -17,6 +17,9 @@ gold: - url: https://github.com/scalar/scalar/?utm_source=fastapi&utm_medium=website&utm_campaign=main-badge title: "Scalar: Beautiful Open-Source API References from Swagger/OpenAPI files" img: https://fastapi.tiangolo.com/img/sponsors/scalar.svg + - url: https://www.propelauth.com/?utm_source=fastapi&utm_campaign=1223&utm_medium=mainbadge + title: Auth, user management and more for your B2B product + img: https://fastapi.tiangolo.com/img/sponsors/propelauth.png silver: - url: https://www.deta.sh/?ref=fastapi title: The launchpad for all your (team's) ideas diff --git a/docs/en/docs/img/sponsors/propelauth-banner.png b/docs/en/docs/img/sponsors/propelauth-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..7a1bb2580395a3b4168073114fa076a3fd759cd8 GIT binary patch literal 12806 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 QZ#W?2q?9D9#0`V~2UC@28~^|S literal 0 HcmV?d00001 diff --git a/docs/en/docs/img/sponsors/propelauth.png b/docs/en/docs/img/sponsors/propelauth.png new file mode 100644 index 0000000000000000000000000000000000000000..8234d631f6b672d206726279a49dbea30088aee8 GIT binary patch literal 28140 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