Sync fastapi docs from f5c6e9b4 on 2026-10-11
This commit is contained in:
@@ -1,8 +1,5 @@
|
||||
sponsors:
|
||||
- - login: renderinc
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/36424661?v=4
|
||||
url: https://github.com/renderinc
|
||||
- login: subtotal
|
||||
- - login: subtotal
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/176449348?v=4
|
||||
url: https://github.com/subtotal
|
||||
- login: greptileai
|
||||
@@ -29,9 +26,6 @@ sponsors:
|
||||
- login: svix
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/80175132?v=4
|
||||
url: https://github.com/svix
|
||||
- login: permitio
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/71775833?v=4
|
||||
url: https://github.com/permitio
|
||||
- login: databento
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/64141749?v=4
|
||||
url: https://github.com/databento
|
||||
@@ -50,16 +44,16 @@ sponsors:
|
||||
- - login: manulife-ai
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/195145621?v=4
|
||||
url: https://github.com/manulife-ai
|
||||
- login: ptimizeroracle
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/99191972?u=ee268f7afba9856cbd30859ba33708849bc2ece4&v=4
|
||||
url: https://github.com/ptimizeroracle
|
||||
- login: scalar
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/301879?v=4
|
||||
url: https://github.com/scalar
|
||||
- login: Trivie
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/8161763?v=4
|
||||
url: https://github.com/Trivie
|
||||
- - login: takashi-yoneya
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/33813153?u=2d0522bceba0b8b69adf1f2db866503bd96f944e&v=4
|
||||
url: https://github.com/takashi-yoneya
|
||||
- login: Doist
|
||||
- - login: Doist
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/2565372?v=4
|
||||
url: https://github.com/Doist
|
||||
- - login: alixlahuec
|
||||
@@ -74,9 +68,6 @@ sponsors:
|
||||
- login: ChargeStorm
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/26000165?v=4
|
||||
url: https://github.com/ChargeStorm
|
||||
- login: tltaylor1
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/234697691?u=f9bf860a7a6e1109b35f1eb930920bd37e3bf571&v=4
|
||||
url: https://github.com/tltaylor1
|
||||
- login: justoutofcuriosity
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/57193655?v=4
|
||||
url: https://github.com/justoutofcuriosity
|
||||
@@ -107,6 +98,9 @@ sponsors:
|
||||
- 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=e4df530e99a086a1085f3dc125b94783670fb383&v=4
|
||||
url: https://github.com/jugeeem
|
||||
@@ -125,30 +119,18 @@ sponsors:
|
||||
- login: anthonycepeda
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/72019805?u=60bdf46240cff8fca482ff0fc07d963fd5e1a27c&v=4
|
||||
url: https://github.com/anthonycepeda
|
||||
- login: PedroRuizCode
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/69810923?u=26f9b262922b724deacdfa16ccd5785d093ac371&v=4
|
||||
url: https://github.com/PedroRuizCode
|
||||
- login: patsatsia
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/61111267?u=3271b85f7a37b479c8d0ae0a235182e83c166edf&v=4
|
||||
url: https://github.com/patsatsia
|
||||
- login: bradsward
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/60303274?u=6b74120e142c8bd4dae22edcf3ac6bb9c3b427bb&v=4
|
||||
url: https://github.com/bradsward
|
||||
- login: dudikbender
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/53487583?u=3a57542938ebfd57579a0111db2b297e606d9681&v=4
|
||||
url: https://github.com/dudikbender
|
||||
- login: jaredtrog
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/4381365?v=4
|
||||
url: https://github.com/jaredtrog
|
||||
- login: Ryandaydev
|
||||
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
|
||||
url: https://github.com/gorhack
|
||||
- login: mj0331
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/3890353?u=1c627ac1a024515b4871de5c3ebbfaa1a57f65d4&v=4
|
||||
url: https://github.com/mj0331
|
||||
- login: aacayaco
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/3634801?u=eaadda178c964178fcb64886f6c732172c8f8219&v=4
|
||||
url: https://github.com/aacayaco
|
||||
@@ -170,6 +152,9 @@ sponsors:
|
||||
- login: netsatan
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/955557?u=cb8fc0ae7f7b06807f0a58e335b1af96c9da0344&v=4
|
||||
url: https://github.com/netsatan
|
||||
- login: KevinTCoughlin
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/706967?u=f00384d8ecf138ebb1f7d6aca34dc2a9d5431dc1&v=4
|
||||
url: https://github.com/KevinTCoughlin
|
||||
- login: koxudaxi
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/630670?u=507d8577b4b3670546b449c4c2ccbc5af40d72f7&v=4
|
||||
url: https://github.com/koxudaxi
|
||||
@@ -179,12 +164,6 @@ sponsors:
|
||||
- login: jstanden
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/63288?u=c3658d57d2862c607a0e19c2101c3c51876e36ad&v=4
|
||||
url: https://github.com/jstanden
|
||||
- login: mjohnsey
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/16784016?u=38fad2e6b411244560b3af99c5f5a4751bc81865&v=4
|
||||
url: https://github.com/mjohnsey
|
||||
- login: cizekmilan
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/15999191?u=df194a9bf279f503bc96af41a35c0027eb94ad4f&v=4
|
||||
url: https://github.com/cizekmilan
|
||||
- login: khadrawy
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/13686061?u=59f25ef42ecf04c22657aac4238ce0e2d3d30304&v=4
|
||||
url: https://github.com/khadrawy
|
||||
@@ -194,9 +173,6 @@ sponsors:
|
||||
- login: jsoques
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/12414216?u=620921d94196546cc8b9eae2cc4cbc3f95bab42f&v=4
|
||||
url: https://github.com/jsoques
|
||||
- login: wdwinslow
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/11562137?u=371272f2c69e680e0559a7b0a57385e83a5dc728&v=4
|
||||
url: https://github.com/wdwinslow
|
||||
- login: hiancdtrsnm
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/7343177?v=4
|
||||
url: https://github.com/hiancdtrsnm
|
||||
@@ -215,13 +191,13 @@ sponsors:
|
||||
- login: ternaus
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/5481618?u=513a26b02a39e7a28d587cd37c6cc877ea368e6e&v=4
|
||||
url: https://github.com/ternaus
|
||||
- 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
|
||||
- - login: Artur-Galstyan
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/63471891?u=e8691f386037e51a737cc0ba866cd8c89e5cf109&v=4
|
||||
url: https://github.com/Artur-Galstyan
|
||||
- - login: pawamoy
|
||||
@@ -251,9 +227,6 @@ sponsors:
|
||||
- login: joshuatz
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/17817563?u=f1bf05b690d1fc164218f0b420cdd3acb7913e21&v=4
|
||||
url: https://github.com/joshuatz
|
||||
- login: danielunderwood
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/4472301?v=4
|
||||
url: https://github.com/danielunderwood
|
||||
- login: my3
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/1825270?v=4
|
||||
url: https://github.com/my3
|
||||
@@ -305,12 +278,12 @@ sponsors:
|
||||
- login: sdevkota
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/5250987?u=4ed9a120c89805a8aefda1cbdc0cf6512e64d1b4&v=4
|
||||
url: https://github.com/sdevkota
|
||||
- login: rangulvers
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/5235430?u=e254d4af4ace5a05fa58372ae677c7d26f0d5a53&v=4
|
||||
url: https://github.com/rangulvers
|
||||
- - login: mohammadi-hadi
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/50410241?u=1137b5ff9ea8585c0192fe9ddb4ae5e21bc3d2e8&v=4
|
||||
url: https://github.com/mohammadi-hadi
|
||||
- login: danielunderwood
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/4472301?v=4
|
||||
url: https://github.com/danielunderwood
|
||||
- - login: emrahbatigun
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/52425144?u=ddf9a50b6b5e9d32f0bb50650988ef64b09646e8&v=4
|
||||
url: https://github.com/emrahbatigun
|
||||
- login: morzan1001
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/47593005?u=c30ab7230f82a12a9b938dcb54f84a996931409a&v=4
|
||||
url: https://github.com/morzan1001
|
||||
@@ -332,12 +305,12 @@ sponsors:
|
||||
- login: diogotoporcov
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/207575398?u=1fa7cf41b4181faa4d27f38bc37a374c17b5163b&v=4
|
||||
url: https://github.com/diogotoporcov
|
||||
- login: anandakrishnone
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/100110721?u=5d30e6fea1524bf3c8be3547027dbce59cc699af&v=4
|
||||
url: https://github.com/anandakrishnone
|
||||
- login: onestn
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/62360849?u=746dd21c34e7e06eefb11b03e8bb01aaae3c2a4f&v=4
|
||||
url: https://github.com/onestn
|
||||
- login: gabe-santana
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/59267719?u=84b3472a9f82a7ccdf6fbd6788a12661990b66f4&v=4
|
||||
url: https://github.com/gabe-santana
|
||||
- login: Toothwitch
|
||||
avatarUrl: https://avatars.githubusercontent.com/u/1710406?u=5eebb23b46cd26e48643b9e5179536cad491c17a&v=4
|
||||
url: https://github.com/Toothwitch
|
||||
|
||||
@@ -12,10 +12,6 @@ gold:
|
||||
img: /img/sponsors/propelauth.png
|
||||
banner_url: https://www.propelauth.com/?utm_source=fastapi&utm_campaign=1223&utm_medium=topbanner
|
||||
banner_img: /img/sponsors/propelauth-banner.png
|
||||
- url: https://docs.render.com/deploy-fastapi?utm_source=deploydoc&utm_medium=referral&utm_campaign=fastapi
|
||||
title: Deploy & scale any full-stack web app on Render. Focus on building apps, not infra.
|
||||
img: /img/sponsors/render.svg
|
||||
banner_img: /img/sponsors/render-banner.svg
|
||||
- url: https://www.coderabbit.ai/?utm_source=fastapi&utm_medium=badge&utm_campaign=fastapi
|
||||
title: Cut Code Review Time & Bugs in Half with CodeRabbit
|
||||
img: /img/sponsors/coderabbit.png
|
||||
@@ -45,9 +41,6 @@ silver:
|
||||
- url: https://www.svix.com/
|
||||
title: Svix - Webhooks as a service
|
||||
img: /img/sponsors/svix.svg
|
||||
- url: https://www.permit.io/blog/implement-authorization-in-fastapi?utm_source=github&utm_medium=referral&utm_campaign=fastapi
|
||||
title: Fine-Grained Authorization for FastAPI
|
||||
img: /img/sponsors/permit.png
|
||||
- url: https://dribia.com/en/
|
||||
title: Dribia - Data Science within your reach
|
||||
img: /img/sponsors/dribia.png
|
||||
|
||||
+191
-191
@@ -1,242 +1,232 @@
|
||||
repos:
|
||||
- name: headroom
|
||||
html_url: https://github.com/headroomlabs-ai/headroom
|
||||
stars: 68267
|
||||
stars: 74217
|
||||
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: 45272
|
||||
stars: 45830
|
||||
owner_login: fastapi
|
||||
owner_html_url: https://github.com/fastapi
|
||||
- name: Hello-Python
|
||||
html_url: https://github.com/mouredev/Hello-Python
|
||||
stars: 37219
|
||||
stars: 37617
|
||||
owner_login: mouredev
|
||||
owner_html_url: https://github.com/mouredev
|
||||
- name: serve
|
||||
html_url: https://github.com/jina-ai/serve
|
||||
stars: 21860
|
||||
stars: 21864
|
||||
owner_login: jina-ai
|
||||
owner_html_url: https://github.com/jina-ai
|
||||
- name: HivisionIDPhotos
|
||||
html_url: https://github.com/Zeyi-Lin/HivisionIDPhotos
|
||||
stars: 21468
|
||||
stars: 21582
|
||||
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: 19776
|
||||
stars: 20422
|
||||
owner_login: Evil0ctal
|
||||
owner_html_url: https://github.com/Evil0ctal
|
||||
- name: sqlmodel
|
||||
html_url: https://github.com/fastapi/sqlmodel
|
||||
stars: 18295
|
||||
stars: 18354
|
||||
owner_login: fastapi
|
||||
owner_html_url: https://github.com/fastapi
|
||||
- name: fastapi-best-practices
|
||||
html_url: https://github.com/zhanymkanov/fastapi-best-practices
|
||||
stars: 18006
|
||||
stars: 18138
|
||||
owner_login: zhanymkanov
|
||||
owner_html_url: https://github.com/zhanymkanov
|
||||
- name: SurfSense
|
||||
html_url: https://github.com/MODSetter/SurfSense
|
||||
stars: 16046
|
||||
owner_login: MODSetter
|
||||
owner_html_url: https://github.com/MODSetter
|
||||
- name: machine-learning-zoomcamp
|
||||
html_url: https://github.com/DataTalksClub/machine-learning-zoomcamp
|
||||
stars: 14069
|
||||
stars: 14648
|
||||
owner_login: DataTalksClub
|
||||
owner_html_url: https://github.com/DataTalksClub
|
||||
- name: XHS-Downloader
|
||||
html_url: https://github.com/JoeanAmier/XHS-Downloader
|
||||
stars: 12563
|
||||
stars: 12882
|
||||
owner_login: JoeanAmier
|
||||
owner_html_url: https://github.com/JoeanAmier
|
||||
- name: fastapi_mcp
|
||||
html_url: https://github.com/tadata-org/fastapi_mcp
|
||||
stars: 11994
|
||||
stars: 12014
|
||||
owner_login: tadata-org
|
||||
owner_html_url: https://github.com/tadata-org
|
||||
- name: peewee
|
||||
html_url: https://github.com/coleifer/peewee
|
||||
stars: 11986
|
||||
stars: 11997
|
||||
owner_login: coleifer
|
||||
owner_html_url: https://github.com/coleifer
|
||||
- name: awesome-fastapi
|
||||
html_url: https://github.com/mjhea0/awesome-fastapi
|
||||
stars: 11633
|
||||
stars: 11696
|
||||
owner_login: mjhea0
|
||||
owner_html_url: https://github.com/mjhea0
|
||||
- name: WhisperLiveKit
|
||||
html_url: https://github.com/QuentinFuxa/WhisperLiveKit
|
||||
stars: 10983
|
||||
stars: 11108
|
||||
owner_login: QuentinFuxa
|
||||
owner_html_url: https://github.com/QuentinFuxa
|
||||
- name: polar
|
||||
html_url: https://github.com/polarsource/polar
|
||||
stars: 10225
|
||||
stars: 10300
|
||||
owner_login: polarsource
|
||||
owner_html_url: https://github.com/polarsource
|
||||
- name: pycaret
|
||||
html_url: https://github.com/pycaret/pycaret
|
||||
stars: 9833
|
||||
stars: 9849
|
||||
owner_login: pycaret
|
||||
owner_html_url: https://github.com/pycaret
|
||||
- name: FastUI
|
||||
html_url: https://github.com/pydantic/FastUI
|
||||
stars: 8953
|
||||
stars: 8940
|
||||
owner_login: pydantic
|
||||
owner_html_url: https://github.com/pydantic
|
||||
- name: FileCodeBox
|
||||
html_url: https://github.com/vastsa/FileCodeBox
|
||||
stars: 8498
|
||||
stars: 8559
|
||||
owner_login: vastsa
|
||||
owner_html_url: https://github.com/vastsa
|
||||
- name: hatchet
|
||||
html_url: https://github.com/hatchet-dev/hatchet
|
||||
stars: 7824
|
||||
stars: 8039
|
||||
owner_login: hatchet-dev
|
||||
owner_html_url: https://github.com/hatchet-dev
|
||||
- name: nonebot2
|
||||
html_url: https://github.com/nonebot/nonebot2
|
||||
stars: 7691
|
||||
stars: 7727
|
||||
owner_login: nonebot
|
||||
owner_html_url: https://github.com/nonebot
|
||||
- name: honcho
|
||||
html_url: https://github.com/plastic-labs/honcho
|
||||
stars: 6974
|
||||
owner_login: plastic-labs
|
||||
owner_html_url: https://github.com/plastic-labs
|
||||
- name: Yuxi
|
||||
html_url: https://github.com/xerrors/Yuxi
|
||||
stars: 6604
|
||||
stars: 7251
|
||||
owner_login: xerrors
|
||||
owner_html_url: https://github.com/xerrors
|
||||
- name: dramaclaw
|
||||
html_url: https://github.com/dramaclaw/dramaclaw
|
||||
stars: 6615
|
||||
owner_login: dramaclaw
|
||||
owner_html_url: https://github.com/dramaclaw
|
||||
- name: fastapi-users
|
||||
html_url: https://github.com/fastapi-users/fastapi-users
|
||||
stars: 6236
|
||||
stars: 6248
|
||||
owner_login: fastapi-users
|
||||
owner_html_url: https://github.com/fastapi-users
|
||||
- name: serge
|
||||
html_url: https://github.com/serge-chat/serge
|
||||
stars: 5712
|
||||
stars: 5708
|
||||
owner_login: serge-chat
|
||||
owner_html_url: https://github.com/serge-chat
|
||||
- name: YouDub-webui
|
||||
html_url: https://github.com/liuzhao1225/YouDub-webui
|
||||
stars: 5401
|
||||
stars: 5563
|
||||
owner_login: liuzhao1225
|
||||
owner_html_url: https://github.com/liuzhao1225
|
||||
- name: Kokoro-FastAPI
|
||||
html_url: https://github.com/remsky/Kokoro-FastAPI
|
||||
stars: 5392
|
||||
stars: 5499
|
||||
owner_login: remsky
|
||||
owner_html_url: https://github.com/remsky
|
||||
- name: dramaclaw
|
||||
html_url: https://github.com/dramaclaw/dramaclaw
|
||||
stars: 4892
|
||||
owner_login: dramaclaw
|
||||
owner_html_url: https://github.com/dramaclaw
|
||||
- name: OpenExecutive
|
||||
html_url: https://github.com/SenteLabsAI/OpenExecutive
|
||||
stars: 5434
|
||||
owner_login: SenteLabsAI
|
||||
owner_html_url: https://github.com/SenteLabsAI
|
||||
- name: tick-stock-panel
|
||||
html_url: https://github.com/shy3130/tick-stock-panel
|
||||
stars: 5353
|
||||
owner_login: shy3130
|
||||
owner_html_url: https://github.com/shy3130
|
||||
- name: devpush
|
||||
html_url: https://github.com/hunvreus/devpush
|
||||
stars: 4747
|
||||
stars: 4758
|
||||
owner_login: hunvreus
|
||||
owner_html_url: https://github.com/hunvreus
|
||||
- name: strawberry
|
||||
html_url: https://github.com/strawberry-graphql/strawberry
|
||||
stars: 4710
|
||||
stars: 4722
|
||||
owner_login: strawberry-graphql
|
||||
owner_html_url: https://github.com/strawberry-graphql
|
||||
- name: mcp-context-forge
|
||||
html_url: https://github.com/IBM/mcp-context-forge
|
||||
stars: 4557
|
||||
owner_login: IBM
|
||||
owner_html_url: https://github.com/IBM
|
||||
- name: logfire
|
||||
html_url: https://github.com/pydantic/logfire
|
||||
stars: 4449
|
||||
stars: 4500
|
||||
owner_login: pydantic
|
||||
owner_html_url: https://github.com/pydantic
|
||||
- name: poem
|
||||
html_url: https://github.com/poem-web/poem
|
||||
stars: 4438
|
||||
stars: 4443
|
||||
owner_login: poem-web
|
||||
owner_html_url: https://github.com/poem-web
|
||||
- name: mcp-context-forge
|
||||
html_url: https://github.com/IBM/mcp-context-forge
|
||||
stars: 4400
|
||||
owner_login: IBM
|
||||
owner_html_url: https://github.com/IBM
|
||||
- name: huma
|
||||
html_url: https://github.com/danielgtaylor/huma
|
||||
stars: 4365
|
||||
stars: 4433
|
||||
owner_login: danielgtaylor
|
||||
owner_html_url: https://github.com/danielgtaylor
|
||||
- name: dynaconf
|
||||
html_url: https://github.com/dynaconf/dynaconf
|
||||
stars: 4325
|
||||
stars: 4333
|
||||
owner_login: dynaconf
|
||||
owner_html_url: https://github.com/dynaconf
|
||||
- name: chatgpt-web-share
|
||||
html_url: https://github.com/chatpire/chatgpt-web-share
|
||||
stars: 4273
|
||||
stars: 4276
|
||||
owner_login: chatpire
|
||||
owner_html_url: https://github.com/chatpire
|
||||
- name: tick-stock-panel
|
||||
html_url: https://github.com/shy3130/tick-stock-panel
|
||||
stars: 4101
|
||||
owner_login: shy3130
|
||||
owner_html_url: https://github.com/shy3130
|
||||
- name: RVG
|
||||
html_url: https://github.com/arvin341az-glitch/RVG
|
||||
stars: 4140
|
||||
owner_login: arvin341az-glitch
|
||||
owner_html_url: https://github.com/arvin341az-glitch
|
||||
- name: atrilabs-engine
|
||||
html_url: https://github.com/Atri-Labs/atrilabs-engine
|
||||
stars: 4066
|
||||
stars: 4063
|
||||
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: 4008
|
||||
owner_login: koxudaxi
|
||||
owner_html_url: https://github.com/koxudaxi
|
||||
html_url: https://github.com/datamodel-code-generator/datamodel-code-generator
|
||||
stars: 4027
|
||||
owner_login: datamodel-code-generator
|
||||
owner_html_url: https://github.com/datamodel-code-generator
|
||||
- name: LitServe
|
||||
html_url: https://github.com/Lightning-AI/LitServe
|
||||
stars: 3934
|
||||
stars: 3943
|
||||
owner_login: Lightning-AI
|
||||
owner_html_url: https://github.com/Lightning-AI
|
||||
- name: RVG
|
||||
html_url: https://github.com/arvin341az-glitch/RVG
|
||||
stars: 3906
|
||||
owner_login: arvin341az-glitch
|
||||
owner_html_url: https://github.com/arvin341az-glitch
|
||||
- name: fastapi-admin
|
||||
html_url: https://github.com/fastapi-admin/fastapi-admin
|
||||
stars: 3819
|
||||
stars: 3828
|
||||
owner_login: fastapi-admin
|
||||
owner_html_url: https://github.com/fastapi-admin
|
||||
- name: tracecat
|
||||
html_url: https://github.com/TracecatHQ/tracecat
|
||||
stars: 3782
|
||||
stars: 3823
|
||||
owner_login: TracecatHQ
|
||||
owner_html_url: https://github.com/TracecatHQ
|
||||
- name: Rapid-MLX
|
||||
html_url: https://github.com/raullenchai/Rapid-MLX
|
||||
stars: 3630
|
||||
owner_login: raullenchai
|
||||
owner_html_url: https://github.com/raullenchai
|
||||
- name: farfalle
|
||||
html_url: https://github.com/rashadphz/farfalle
|
||||
stars: 3543
|
||||
stars: 3540
|
||||
owner_login: rashadphz
|
||||
owner_html_url: https://github.com/rashadphz
|
||||
- name: OpenExecutive
|
||||
html_url: https://github.com/SenteLabsAI/OpenExecutive
|
||||
stars: 3322
|
||||
owner_login: SenteLabsAI
|
||||
owner_html_url: https://github.com/SenteLabsAI
|
||||
- name: any-auto-register
|
||||
html_url: https://github.com/lxf746/any-auto-register
|
||||
stars: 3221
|
||||
stars: 3322
|
||||
owner_login: lxf746
|
||||
owner_html_url: https://github.com/lxf746
|
||||
- name: codex-lb
|
||||
html_url: https://github.com/Soju06/codex-lb
|
||||
stars: 3284
|
||||
owner_login: Soju06
|
||||
owner_html_url: https://github.com/Soju06
|
||||
- name: opyrator
|
||||
html_url: https://github.com/ml-tooling/opyrator
|
||||
stars: 3131
|
||||
stars: 3132
|
||||
owner_login: ml-tooling
|
||||
owner_html_url: https://github.com/ml-tooling
|
||||
- name: docarray
|
||||
@@ -246,72 +236,72 @@ repos:
|
||||
owner_html_url: https://github.com/docarray
|
||||
- name: fastapi-realworld-example-app
|
||||
html_url: https://github.com/nsidnev/fastapi-realworld-example-app
|
||||
stars: 3107
|
||||
stars: 3104
|
||||
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: 2916
|
||||
stars: 2914
|
||||
owner_login: tiangolo
|
||||
owner_html_url: https://github.com/tiangolo
|
||||
- name: codex-lb
|
||||
html_url: https://github.com/Soju06/codex-lb
|
||||
stars: 2904
|
||||
owner_login: Soju06
|
||||
owner_html_url: https://github.com/Soju06
|
||||
- name: FastAPI-template
|
||||
html_url: https://github.com/s3rius/FastAPI-template
|
||||
stars: 2826
|
||||
owner_login: s3rius
|
||||
owner_html_url: https://github.com/s3rius
|
||||
- name: sqladmin
|
||||
html_url: https://github.com/smithyhq/sqladmin
|
||||
stars: 2817
|
||||
stars: 2837
|
||||
owner_login: smithyhq
|
||||
owner_html_url: https://github.com/smithyhq
|
||||
- name: YC-Killer
|
||||
html_url: https://github.com/sahibzada-allahyar/YC-Killer
|
||||
stars: 2805
|
||||
stars: 2834
|
||||
owner_login: sahibzada-allahyar
|
||||
owner_html_url: https://github.com/sahibzada-allahyar
|
||||
- name: FastAPI-template
|
||||
html_url: https://github.com/s3rius/FastAPI-template
|
||||
stars: 2833
|
||||
owner_login: s3rius
|
||||
owner_html_url: https://github.com/s3rius
|
||||
- name: NoteDiscovery
|
||||
html_url: https://github.com/gamosoft/NoteDiscovery
|
||||
stars: 2776
|
||||
stars: 2815
|
||||
owner_login: gamosoft
|
||||
owner_html_url: https://github.com/gamosoft
|
||||
- name: best-of-web-python
|
||||
html_url: https://github.com/ml-tooling/best-of-web-python
|
||||
stars: 2755
|
||||
stars: 2763
|
||||
owner_login: ml-tooling
|
||||
owner_html_url: https://github.com/ml-tooling
|
||||
- name: fastapi-langgraph-agent-production-ready-template
|
||||
html_url: https://github.com/wassim249/fastapi-langgraph-agent-production-ready-template
|
||||
stars: 2630
|
||||
stars: 2686
|
||||
owner_login: wassim249
|
||||
owner_html_url: https://github.com/wassim249
|
||||
- name: fastapi-react
|
||||
html_url: https://github.com/Buuntu/fastapi-react
|
||||
stars: 2584
|
||||
owner_login: Buuntu
|
||||
owner_html_url: https://github.com/Buuntu
|
||||
- name: supabase-py
|
||||
html_url: https://github.com/supabase/supabase-py
|
||||
stars: 2571
|
||||
stars: 2596
|
||||
owner_login: supabase
|
||||
owner_html_url: https://github.com/supabase
|
||||
- name: open-wearables
|
||||
html_url: https://github.com/the-momentum/open-wearables
|
||||
stars: 2591
|
||||
owner_login: the-momentum
|
||||
owner_html_url: https://github.com/the-momentum
|
||||
- name: fastapi-react
|
||||
html_url: https://github.com/Buuntu/fastapi-react
|
||||
stars: 2591
|
||||
owner_login: Buuntu
|
||||
owner_html_url: https://github.com/Buuntu
|
||||
- name: fastapi-best-architecture
|
||||
html_url: https://github.com/fastapi-practices/fastapi-best-architecture
|
||||
stars: 2530
|
||||
stars: 2573
|
||||
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: 2511
|
||||
stars: 2524
|
||||
owner_login: codingforentrepreneurs
|
||||
owner_html_url: https://github.com/codingforentrepreneurs
|
||||
- name: AIstudioProxyAPI
|
||||
html_url: https://github.com/CJackHwang/AIstudioProxyAPI
|
||||
stars: 2496
|
||||
stars: 2514
|
||||
owner_login: CJackHwang
|
||||
owner_html_url: https://github.com/CJackHwang
|
||||
- name: RasaGPT
|
||||
@@ -319,178 +309,188 @@ repos:
|
||||
stars: 2463
|
||||
owner_login: paulpierre
|
||||
owner_html_url: https://github.com/paulpierre
|
||||
- name: open-wearables
|
||||
html_url: https://github.com/the-momentum/open-wearables
|
||||
stars: 2432
|
||||
owner_login: the-momentum
|
||||
owner_html_url: https://github.com/the-momentum
|
||||
- name: nextpy
|
||||
html_url: https://github.com/dot-agent/nextpy
|
||||
stars: 2349
|
||||
stars: 2346
|
||||
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: 2327
|
||||
owner_login: langchain-ai
|
||||
owner_html_url: https://github.com/langchain-ai
|
||||
- name: fastapi-utils
|
||||
html_url: https://github.com/fastapiutils/fastapi-utils
|
||||
stars: 2309
|
||||
stars: 2308
|
||||
owner_login: fastapiutils
|
||||
owner_html_url: https://github.com/fastapiutils
|
||||
- name: kiro-gateway
|
||||
html_url: https://github.com/jwadow/kiro-gateway
|
||||
stars: 2251
|
||||
stars: 2299
|
||||
owner_login: jwadow
|
||||
owner_html_url: https://github.com/jwadow
|
||||
- name: vue-fastapi-admin
|
||||
html_url: https://github.com/mizhexiaoxiao/vue-fastapi-admin
|
||||
stars: 2245
|
||||
stars: 2261
|
||||
owner_login: mizhexiaoxiao
|
||||
owner_html_url: https://github.com/mizhexiaoxiao
|
||||
- name: creatorhub
|
||||
html_url: https://github.com/3441293738/creatorhub
|
||||
stars: 2200
|
||||
owner_login: '3441293738'
|
||||
owner_html_url: https://github.com/3441293738
|
||||
- name: solara
|
||||
html_url: https://github.com/widgetti/solara
|
||||
stars: 2172
|
||||
stars: 2179
|
||||
owner_login: widgetti
|
||||
owner_html_url: https://github.com/widgetti
|
||||
- name: mangum
|
||||
html_url: https://github.com/Kludex/mangum
|
||||
stars: 2131
|
||||
stars: 2138
|
||||
owner_login: Kludex
|
||||
owner_html_url: https://github.com/Kludex
|
||||
- name: FastAPI-boilerplate
|
||||
html_url: https://github.com/benavlabs/FastAPI-boilerplate
|
||||
stars: 2070
|
||||
stars: 2092
|
||||
owner_login: benavlabs
|
||||
owner_html_url: https://github.com/benavlabs
|
||||
- name: xhs_ai_publisher
|
||||
html_url: https://github.com/BetaStreetOmnis/xhs_ai_publisher
|
||||
stars: 2068
|
||||
stars: 2089
|
||||
owner_login: BetaStreetOmnis
|
||||
owner_html_url: https://github.com/BetaStreetOmnis
|
||||
- name: slowapi
|
||||
html_url: https://github.com/laurentS/slowapi
|
||||
stars: 2052
|
||||
stars: 2067
|
||||
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: 1985
|
||||
stars: 1995
|
||||
owner_login: openapi-generators
|
||||
owner_html_url: https://github.com/openapi-generators
|
||||
- name: agentkit
|
||||
html_url: https://github.com/BCG-X-Official/agentkit
|
||||
stars: 1949
|
||||
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: 1936
|
||||
stars: 1948
|
||||
owner_login: piccolo-orm
|
||||
owner_html_url: https://github.com/piccolo-orm
|
||||
- name: manage-fastapi
|
||||
html_url: https://github.com/ycd/manage-fastapi
|
||||
stars: 1907
|
||||
owner_login: ycd
|
||||
owner_html_url: https://github.com/ycd
|
||||
- name: fastapi-cache
|
||||
html_url: https://github.com/long2ice/fastapi-cache
|
||||
stars: 1866
|
||||
owner_login: long2ice
|
||||
owner_html_url: https://github.com/long2ice
|
||||
- name: WebRPA
|
||||
html_url: https://github.com/pmh1314520/WebRPA
|
||||
stars: 1866
|
||||
owner_login: pmh1314520
|
||||
owner_html_url: https://github.com/pmh1314520
|
||||
- name: agentkit
|
||||
html_url: https://github.com/BCG-X-Official/agentkit
|
||||
stars: 1946
|
||||
owner_login: BCG-X-Official
|
||||
owner_html_url: https://github.com/BCG-X-Official
|
||||
- name: full-stack-ai-agent-template
|
||||
html_url: https://github.com/vstorm-co/full-stack-ai-agent-template
|
||||
stars: 1862
|
||||
stars: 1926
|
||||
owner_login: vstorm-co
|
||||
owner_html_url: https://github.com/vstorm-co
|
||||
- name: creatorhub
|
||||
html_url: https://github.com/3441293738/creatorhub
|
||||
- name: PanWatch
|
||||
html_url: https://github.com/TNT-Likely/PanWatch
|
||||
stars: 1915
|
||||
owner_login: TNT-Likely
|
||||
owner_html_url: https://github.com/TNT-Likely
|
||||
- name: manage-fastapi
|
||||
html_url: https://github.com/ycd/manage-fastapi
|
||||
stars: 1905
|
||||
owner_login: ycd
|
||||
owner_html_url: https://github.com/ycd
|
||||
- name: WebRPA
|
||||
html_url: https://github.com/pmh1314520/WebRPA
|
||||
stars: 1899
|
||||
owner_login: pmh1314520
|
||||
owner_html_url: https://github.com/pmh1314520
|
||||
- name: fastapi-cache
|
||||
html_url: https://github.com/long2ice/fastapi-cache
|
||||
stars: 1867
|
||||
owner_login: long2ice
|
||||
owner_html_url: https://github.com/long2ice
|
||||
- name: FileSync
|
||||
html_url: https://github.com/polius/FileSync
|
||||
stars: 1816
|
||||
owner_login: '3441293738'
|
||||
owner_html_url: https://github.com/3441293738
|
||||
owner_login: polius
|
||||
owner_html_url: https://github.com/polius
|
||||
- name: ormar
|
||||
html_url: https://github.com/ormar-orm/ormar
|
||||
stars: 1802
|
||||
stars: 1803
|
||||
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: 1797
|
||||
stars: 1796
|
||||
owner_login: rochacbruno
|
||||
owner_html_url: https://github.com/rochacbruno
|
||||
- name: termpair
|
||||
html_url: https://github.com/cs01/termpair
|
||||
stars: 1779
|
||||
stars: 1778
|
||||
owner_login: cs01
|
||||
owner_html_url: https://github.com/cs01
|
||||
- name: bracket
|
||||
html_url: https://github.com/evroon/bracket
|
||||
stars: 1728
|
||||
stars: 1740
|
||||
owner_login: evroon
|
||||
owner_html_url: https://github.com/evroon
|
||||
- name: fastapi-crudrouter
|
||||
html_url: https://github.com/awtkns/fastapi-crudrouter
|
||||
stars: 1696
|
||||
stars: 1698
|
||||
owner_login: awtkns
|
||||
owner_html_url: https://github.com/awtkns
|
||||
- name: docling-api
|
||||
html_url: https://github.com/drmingler/docling-api
|
||||
stars: 1688
|
||||
owner_login: drmingler
|
||||
owner_html_url: https://github.com/drmingler
|
||||
- name: fastapi-pagination
|
||||
html_url: https://github.com/uriyyo/fastapi-pagination
|
||||
stars: 1680
|
||||
stars: 1682
|
||||
owner_login: uriyyo
|
||||
owner_html_url: https://github.com/uriyyo
|
||||
- name: langchain-serve
|
||||
html_url: https://github.com/jina-ai/langchain-serve
|
||||
stars: 1641
|
||||
stars: 1637
|
||||
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: 1618
|
||||
stars: 1620
|
||||
owner_login: Kludex
|
||||
owner_html_url: https://github.com/Kludex
|
||||
- name: docling-api
|
||||
html_url: https://github.com/drmingler/docling-api
|
||||
stars: 1597
|
||||
owner_login: drmingler
|
||||
owner_html_url: https://github.com/drmingler
|
||||
- name: fastcrud
|
||||
html_url: https://github.com/benavlabs/fastcrud
|
||||
stars: 1577
|
||||
owner_login: benavlabs
|
||||
owner_html_url: https://github.com/benavlabs
|
||||
- name: coronavirus-tracker-api
|
||||
html_url: https://github.com/ExpDev07/coronavirus-tracker-api
|
||||
stars: 1569
|
||||
owner_login: ExpDev07
|
||||
owner_html_url: https://github.com/ExpDev07
|
||||
- name: fastapi-amis-admin
|
||||
html_url: https://github.com/amisadmin/fastapi-amis-admin
|
||||
stars: 1566
|
||||
owner_login: amisadmin
|
||||
owner_html_url: https://github.com/amisadmin
|
||||
- name: tavily-key-generator
|
||||
html_url: https://github.com/skernelx/tavily-key-generator
|
||||
stars: 1553
|
||||
owner_login: skernelx
|
||||
owner_html_url: https://github.com/skernelx
|
||||
- name: yubal
|
||||
html_url: https://github.com/guillevc/yubal
|
||||
stars: 1529
|
||||
stars: 1597
|
||||
owner_login: guillevc
|
||||
owner_html_url: https://github.com/guillevc
|
||||
- name: fastcrud
|
||||
html_url: https://github.com/benavlabs/fastcrud
|
||||
stars: 1592
|
||||
owner_login: benavlabs
|
||||
owner_html_url: https://github.com/benavlabs
|
||||
- name: fastapi-amis-admin
|
||||
html_url: https://github.com/amisadmin/fastapi-amis-admin
|
||||
stars: 1568
|
||||
owner_login: amisadmin
|
||||
owner_html_url: https://github.com/amisadmin
|
||||
- name: coronavirus-tracker-api
|
||||
html_url: https://github.com/ExpDev07/coronavirus-tracker-api
|
||||
stars: 1568
|
||||
owner_login: ExpDev07
|
||||
owner_html_url: https://github.com/ExpDev07
|
||||
- name: tavily-key-generator
|
||||
html_url: https://github.com/skernelx/tavily-key-generator
|
||||
stars: 1561
|
||||
owner_login: skernelx
|
||||
owner_html_url: https://github.com/skernelx
|
||||
- name: fim-one
|
||||
html_url: https://github.com/fim-ai/fim-one
|
||||
stars: 1550
|
||||
owner_login: fim-ai
|
||||
owner_html_url: https://github.com/fim-ai
|
||||
- name: RuoYi-Vue3-FastAPI
|
||||
html_url: https://github.com/insistence/RuoYi-Vue3-FastAPI
|
||||
stars: 1516
|
||||
stars: 1544
|
||||
owner_login: insistence
|
||||
owner_html_url: https://github.com/insistence
|
||||
- name: FileSync
|
||||
html_url: https://github.com/polius/FileSync
|
||||
stars: 1494
|
||||
owner_login: polius
|
||||
owner_html_url: https://github.com/polius
|
||||
- name: fastapi-boilerplate
|
||||
html_url: https://github.com/teamhide/fastapi-boilerplate
|
||||
stars: 1495
|
||||
owner_login: teamhide
|
||||
owner_html_url: https://github.com/teamhide
|
||||
|
||||
@@ -0,0 +1,158 @@
|
||||
# OpenTelemetry { #opentelemetry }
|
||||
|
||||
When your API is running, you might want to know how much traffic it receives, which requests are slow, and when errors happen.
|
||||
|
||||
**Telemetry** is data about your application's behavior that helps you answer these questions. Common types include:
|
||||
|
||||
- **Metrics**: measurements you can summarize over time, such as response times and the number of requests being handled.
|
||||
- **Traces**: records of individual requests and the operations performed to handle them. Each timed operation is called a **span**.
|
||||
- **Logs**: timestamped records of events, such as an application starting or an operation failing.
|
||||
|
||||
[**OpenTelemetry**](https://opentelemetry.io/) is a set of standards and tools for collecting telemetry and sending it to a monitoring service, where you can explore it in dashboards.
|
||||
|
||||
**FastAPI provides OpenTelemetry support by default** for HTTP request traces, metrics, and logs. WebSocket connections also provide traces and logs. To see that data, configure a monitoring service to receive it.
|
||||
|
||||
## Install FastAPI { #install-fastapi }
|
||||
|
||||
Install FastAPI with the `standard` extras, which include the packages for sending telemetry:
|
||||
|
||||
<div class="termy">
|
||||
|
||||
```console
|
||||
$ uv add "fastapi[standard]"
|
||||
---> 100%
|
||||
```
|
||||
|
||||
</div>
|
||||
|
||||
## Create the app { #create-the-app }
|
||||
|
||||
Create a file `main.py`:
|
||||
|
||||
{* ../../docs_src/opentelemetry/tutorial001_py310.py *}
|
||||
|
||||
You don't need to write any custom code to collect telemetry.
|
||||
|
||||
## FastAPI Cloud { #fastapi-cloud }
|
||||
|
||||
When you deploy to [FastAPI Cloud](https://fastapicloud.com) with `fastapi[standard]`, metrics work automatically. You don't have to configure anything else.
|
||||
|
||||
On Pro plans, you can view request counts, error rates, and response times in the [Metrics dashboard](https://fastapicloud.com/docs/monitoring-and-performance/metrics/).
|
||||
|
||||
<img src="/img/tutorial/opentelemetry/image01.png" alt="FastAPI Cloud Pro metrics dashboard with example data">
|
||||
|
||||
## Other monitoring services { #other-monitoring-services }
|
||||
|
||||
To send telemetry to another monitoring service, configure an endpoint that accepts **OTLP**, the OpenTelemetry protocol for sending telemetry. Use the service's HTTP/protobuf base endpoint.
|
||||
|
||||
Set these environment variables, replacing the example URL with your endpoint:
|
||||
|
||||
```bash
|
||||
export FASTAPI_OTEL_AUTO_CONFIGURE=true
|
||||
export OTEL_SERVICE_NAME=my-api
|
||||
export OTEL_EXPORTER_OTLP_ENDPOINT=https://collector.example.com
|
||||
```
|
||||
|
||||
`FASTAPI_OTEL_AUTO_CONFIGURE=true` enables FastAPI's automatic exporter setup. `OTEL_SERVICE_NAME` identifies your app in the monitoring service. The endpoint is the base URL for receiving data. Traces are sent to `/v1/traces`, metrics to `/v1/metrics`, and logs to `/v1/logs` under that URL.
|
||||
|
||||
If your service requires authentication, set `OTEL_EXPORTER_OTLP_HEADERS` to the headers it specifies, for example `api-key=YOUR_API_KEY`.
|
||||
|
||||
## Run the app { #run-the-app }
|
||||
|
||||
Start the app in the same terminal:
|
||||
|
||||
<div class="termy">
|
||||
|
||||
```console
|
||||
$ uv run fastapi run
|
||||
```
|
||||
|
||||
</div>
|
||||
|
||||
In another terminal, send a request:
|
||||
|
||||
```console
|
||||
$ curl http://127.0.0.1:8000/items/1
|
||||
{"item_id":1}
|
||||
```
|
||||
|
||||
Open your monitoring service and find `my-api`. After the next export, you can see a trace with a `GET /items/{item_id}` span, along with metrics for request counts, response duration, and active requests.
|
||||
|
||||
## Customize telemetry { #customize-telemetry }
|
||||
|
||||
### Configure providers and exporters { #configure-providers-and-exporters }
|
||||
|
||||
A **provider** supplies the objects that record traces, metrics, or logs. Its configuration controls how that data is processed and exported.
|
||||
|
||||
Telemetry libraries can configure OpenTelemetry's global providers. Configure the library before the app starts, and FastAPI uses those providers automatically.
|
||||
|
||||
By default, FastAPI uses configured providers without adding exporters. When automatic setup is enabled and an OTLP endpoint is set in the environment, FastAPI adds an exporter for that destination to each enabled provider. Existing exporters continue sending data to their destinations.
|
||||
|
||||
If another library already configures export to the same destination, leave `FASTAPI_OTEL_AUTO_CONFIGURE` unset or set it to `false` to avoid duplicate telemetry.
|
||||
|
||||
You can also pass a provider directly in the `telemetry` dictionary. For example, this provider uses OpenTelemetry's console exporter to print request spans in your terminal:
|
||||
|
||||
{* ../../docs_src/opentelemetry/tutorial002_py310.py hl[2:8] *}
|
||||
|
||||
The **exporter** sends the spans to their destination. `BatchSpanProcessor` groups spans and sends them in the background. Replace the console exporter with one supplied by your monitoring library to use its destination. See [OpenTelemetry's Python instrumentation guide](https://opentelemetry.io/docs/languages/python/instrumentation/) for more configuration options.
|
||||
|
||||
Use `meter_provider` or `logger_provider` in the same dictionary to supply a metrics or logs provider. The application or library creating a provider manages its shutdown. FastAPI manages the export components it adds.
|
||||
|
||||
/// warning
|
||||
|
||||
OpenTelemetry uses global providers by default. Independent telemetry configuration for [mounted sub-applications](sub-applications.md) is not guaranteed.
|
||||
|
||||
///
|
||||
|
||||
### Trace request operations { #trace-request-operations }
|
||||
|
||||
By default, request traces include spans for resolving dependencies, running your path operation function, serializing the response, and running each task in FastAPI's `BackgroundTasks`. These spans use the same provider and exporters.
|
||||
|
||||
Background task spans remain part of the request's trace. They run after the HTTP response span ends, so they do not increase the measured response time.
|
||||
|
||||
To record only the HTTP request span, set `operation_spans` to `False`:
|
||||
|
||||
{* ../../docs_src/opentelemetry/tutorial003_py310.py hl[3] *}
|
||||
|
||||
|
||||
### Trace WebSocket connections { #trace-websocket-connections }
|
||||
|
||||
Each WebSocket connection has a span such as `WS /ws/{room}`, covering the handler and dependency cleanup. It uses the same providers and settings, including `operation_spans` for dependency resolution and endpoint execution.
|
||||
|
||||
HTTP request metrics cover HTTP requests only. Normal WebSocket disconnects with codes `1000` or `1001` do not produce error logs.
|
||||
|
||||
### Inspect errors { #inspect-errors }
|
||||
|
||||
FastAPI records unhandled exceptions as OpenTelemetry logs, linked to the request's or connection's trace. Error logs are recorded even when the trace is not sampled.
|
||||
|
||||
Exception logs include the exception's type, message, and stack trace. Messages and stack traces can contain sensitive information. Use your provider's log processors to filter or redact them, or set `logs` to `False` to disable these logs.
|
||||
|
||||
FastAPI also records request validation failures as warning logs with the route and error count. These logs do not include the invalid input.
|
||||
|
||||
## Choose what to record { #choose-what-to-record }
|
||||
|
||||
The `telemetry` dictionary also accepts these settings:
|
||||
|
||||
| Setting | Purpose | Default |
|
||||
| --- | --- | --- |
|
||||
| `tracing` | Record HTTP request and WebSocket connection spans | `True` |
|
||||
| `metrics` | Record HTTP request metrics | `True` |
|
||||
| `logs` | Record validation failures and unhandled exceptions | `True` |
|
||||
| `operation_spans` | Add spans for request operations | `True` |
|
||||
| `exclude` | Skip requests when a function receiving the ASGI scope returns `True` | `None` |
|
||||
| `auto_configure` | Add exporters for endpoints set in environment variables | `True` if `FASTAPI_OTEL_AUTO_CONFIGURE=true`, otherwise `False` |
|
||||
|
||||
For example, to collect metrics while excluding health checks:
|
||||
|
||||
```python
|
||||
from fastapi import FastAPI
|
||||
|
||||
app = FastAPI(
|
||||
telemetry={
|
||||
"tracing": False,
|
||||
"exclude": lambda scope: scope["path"] == "/health",
|
||||
}
|
||||
)
|
||||
```
|
||||
|
||||
An explicit `auto_configure` value in the `telemetry` dictionary overrides `FASTAPI_OTEL_AUTO_CONFIGURE`. Use `telemetry={"auto_configure": True}` to enable automatic setup in code, or `telemetry={"auto_configure": False}` to disable it for an app even when the environment variable enables it.
|
||||
@@ -549,3 +549,10 @@ Inspired by Termynal's CSS tricks with modifications
|
||||
|
||||
/* Hidden in MkDocs; rendered on GitHub (which doesn't load this stylesheet) */
|
||||
.only-github { display: none; }
|
||||
|
||||
.newsletter-embed {
|
||||
display: block;
|
||||
width: calc(100% + 8px);
|
||||
margin: -4px;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
@@ -20,5 +20,4 @@ Some other cloud providers ✨ [**sponsor FastAPI**](https://github.com/sponsors
|
||||
|
||||
You might also want to consider them to follow their guides and try their services:
|
||||
|
||||
* [Render](https://docs.render.com/deploy-fastapi?utm_source=deploydoc&utm_medium=referral&utm_campaign=fastapi)
|
||||
* [Railway](https://docs.railway.com/guides/fastapi?utm_medium=integration&utm_source=docs&utm_campaign=fastapi)
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 220 KiB |
@@ -238,12 +238,45 @@ function setupOpinionsTabs() {
|
||||
});
|
||||
}
|
||||
|
||||
let cleanupNewsletterEmbed = () => {};
|
||||
|
||||
function setupNewsletterEmbed() {
|
||||
cleanupNewsletterEmbed();
|
||||
const frame = document.querySelector('.newsletter-embed');
|
||||
if (!frame) return;
|
||||
const origin = new URL(frame.src).origin;
|
||||
const configure = () => frame.contentWindow.postMessage({
|
||||
type: 'fastapi-newsletter:configure',
|
||||
theme: document.body.dataset.mdColorScheme === 'slate' ? 'dark' : 'light',
|
||||
fontSize: parseFloat(getComputedStyle(frame.parentElement).fontSize),
|
||||
}, origin);
|
||||
const resize = (event) => {
|
||||
if (event.origin !== origin || event.source !== frame.contentWindow) return;
|
||||
const { type, height } = event.data ?? {};
|
||||
if (type !== 'fastapi-newsletter:resize' || !Number.isFinite(height) || height <= 0 || height > 2000) return;
|
||||
frame.style.height = `${Math.ceil(height)}px`;
|
||||
};
|
||||
window.addEventListener('message', resize);
|
||||
frame.addEventListener('load', configure);
|
||||
window.addEventListener('resize', configure);
|
||||
const themeObserver = new MutationObserver(configure);
|
||||
themeObserver.observe(document.body, { attributes: true, attributeFilter: ['data-md-color-scheme'] });
|
||||
configure();
|
||||
cleanupNewsletterEmbed = () => {
|
||||
window.removeEventListener('message', resize);
|
||||
frame.removeEventListener('load', configure);
|
||||
window.removeEventListener('resize', configure);
|
||||
themeObserver.disconnect();
|
||||
};
|
||||
}
|
||||
|
||||
async function main() {
|
||||
setupTermynal();
|
||||
showRandomAnnouncement('announce-left', 5000)
|
||||
handleSponsorImages();
|
||||
openLinksInNewTab();
|
||||
setupOpinionsTabs();
|
||||
setupNewsletterEmbed();
|
||||
}
|
||||
document$.subscribe(() => {
|
||||
main()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# FastAPI and friends newsletter
|
||||
|
||||
<iframe data-w-type="embedded" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://xr4n4.mjt.lu/wgt/xr4n4/hj5/form?c=40a44fa4" width="100%" style="height: 800px;"></iframe>
|
||||
<iframe class="newsletter-embed" src="https://fastapiandfriends.com/embed/" width="100%" height="280"></iframe>
|
||||
|
||||
<script type="text/javascript" src="https://app.mailjet.com/pas-nc-embedded-v1.js"></script>
|
||||
[Read previous issues](https://fastapiandfriends.com/newsletter) or [subscribe on the FastAPI and friends website](https://fastapiandfriends.com/#subscribe).
|
||||
|
||||
@@ -7,6 +7,83 @@ hide:
|
||||
|
||||
## Latest Changes
|
||||
|
||||
## 0.143.0 (2026-10-08)
|
||||
|
||||
Automatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from `OTEL_*` environment variables, set `FASTAPI_OTEL_AUTO_CONFIGURE=true` or use `FastAPI(telemetry={"auto_configure": True})` to retain the previous behavior.
|
||||
|
||||
Applications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* 💥 Require opt-in for automatic OpenTelemetry exporter setup. PR [#16476](https://github.com/fastapi/fastapi/pull/16476) by [@tiangolo](https://github.com/tiangolo).
|
||||
|
||||
## 0.142.4 (2026-10-07)
|
||||
|
||||
### Fixes
|
||||
|
||||
* 🐛 Isolate FastAPI telemetry for excluded requests. PR [#16470](https://github.com/fastapi/fastapi/pull/16470) by [@tiangolo](https://github.com/tiangolo).
|
||||
|
||||
## 0.142.3 (2026-10-07)
|
||||
|
||||
### Fixes
|
||||
|
||||
* 🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR [#16468](https://github.com/fastapi/fastapi/pull/16468) by [@tiangolo](https://github.com/tiangolo).
|
||||
|
||||
### Docs
|
||||
|
||||
* 📝 Remove HTML title from newsletter to avoid the tooltip. PR [#16461](https://github.com/fastapi/fastapi/pull/16461) by [@tiangolo](https://github.com/tiangolo).
|
||||
* 📝 Embed the FastAPI and friends newsletter signup form. PR [#16459](https://github.com/fastapi/fastapi/pull/16459) by [@tiangolo](https://github.com/tiangolo).
|
||||
* 📝 Update skill, use Asyncer for blocking code in threads. PR [#16420](https://github.com/fastapi/fastapi/pull/16420) by [@tiangolo](https://github.com/tiangolo).
|
||||
|
||||
### Translations
|
||||
|
||||
* 🌐 Update translations for fr (add-missing). PR [#16436](https://github.com/fastapi/fastapi/pull/16436) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for hi (add-missing). PR [#16435](https://github.com/fastapi/fastapi/pull/16435) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for tr (add-missing). PR [#16434](https://github.com/fastapi/fastapi/pull/16434) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for zh (add-missing). PR [#16433](https://github.com/fastapi/fastapi/pull/16433) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for zh-hant (add-missing). PR [#16432](https://github.com/fastapi/fastapi/pull/16432) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for pt (add-missing). PR [#16431](https://github.com/fastapi/fastapi/pull/16431) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for de (add-missing). PR [#16430](https://github.com/fastapi/fastapi/pull/16430) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for uk (add-missing). PR [#16429](https://github.com/fastapi/fastapi/pull/16429) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for ja (add-missing). PR [#16428](https://github.com/fastapi/fastapi/pull/16428) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for ko (add-missing). PR [#16425](https://github.com/fastapi/fastapi/pull/16425) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for es (add-missing). PR [#16426](https://github.com/fastapi/fastapi/pull/16426) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update translations for ru (add-missing). PR [#16427](https://github.com/fastapi/fastapi/pull/16427) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 🌐 Update Russian LLM-prompt. PR [#16449](https://github.com/fastapi/fastapi/pull/16449) by [@YuriiMotov](https://github.com/YuriiMotov).
|
||||
|
||||
### Internal
|
||||
|
||||
* 👷 Fix deprecated command in `bump-pre-commit-hooks` workflow. PR [#16463](https://github.com/fastapi/fastapi/pull/16463) by [@YuriiMotov](https://github.com/YuriiMotov).
|
||||
* 🔧 Update sponsors: remove Render. PR [#16457](https://github.com/fastapi/fastapi/pull/16457) by [@tiangolo](https://github.com/tiangolo).
|
||||
* 🔨 Use `gpt-6-astra` model for translations. PR [#16453](https://github.com/fastapi/fastapi/pull/16453) by [@YuriiMotov](https://github.com/YuriiMotov).
|
||||
* ⬆ Bump the python-packages group across 1 directory with 14 updates. PR [#16447](https://github.com/fastapi/fastapi/pull/16447) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
* ⬆ Bump starlette from 1.6.0 to 1.7.0. PR [#16440](https://github.com/fastapi/fastapi/pull/16440) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
* ⬆ Bump pyjwt from 2.13.0 to 2.15.0. PR [#16423](https://github.com/fastapi/fastapi/pull/16423) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
* ⬆ Bump gitpython from 3.1.60 to 3.1.62. PR [#16444](https://github.com/fastapi/fastapi/pull/16444) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
* 👥 Update FastAPI GitHub topic repositories. PR [#16443](https://github.com/fastapi/fastapi/pull/16443) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* 👥 Update FastAPI People - Sponsors. PR [#16437](https://github.com/fastapi/fastapi/pull/16437) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* ⬆ Bump pre-commit hooks. PR [#16442](https://github.com/fastapi/fastapi/pull/16442) by [@pr-submit[bot]](https://github.com/apps/pr-submit).
|
||||
* ⬆ Bump urllib3 from 2.7.0 to 2.8.0. PR [#16445](https://github.com/fastapi/fastapi/pull/16445) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
* ⬆ Bump the github-actions group with 3 updates. PR [#16438](https://github.com/fastapi/fastapi/pull/16438) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
|
||||
## 0.142.2 (2026-09-30)
|
||||
|
||||
### Fixes
|
||||
|
||||
* 🐛 Allow startup when automatic OpenTelemetry configuration fails. PR [#16418](https://github.com/fastapi/fastapi/pull/16418) by [@tiangolo](https://github.com/tiangolo).
|
||||
|
||||
## 0.142.1 (2026-09-29)
|
||||
|
||||
### Fixes
|
||||
|
||||
* 🐛 Fix repeated endpoint wrapping in included routers. PR [#16414](https://github.com/fastapi/fastapi/pull/16414) by [@tiangolo](https://github.com/tiangolo).
|
||||
|
||||
## 0.142.0 (2026-09-29)
|
||||
|
||||
### Features
|
||||
|
||||
* ✨ Add native OpenTelemetry support. PR [#16403](https://github.com/fastapi/fastapi/pull/16403) by [@tiangolo](https://github.com/tiangolo).
|
||||
|
||||
### Refactors
|
||||
|
||||
* 📱 Improve mobile responsiveness of conference rail. PR [#16196](https://github.com/fastapi/fastapi/pull/16196) by [@alejsdev](https://github.com/alejsdev).
|
||||
@@ -35,6 +112,9 @@ hide:
|
||||
|
||||
### Internal
|
||||
|
||||
* ✅ Fix frontend test timeout with Starlette Git. PR [#16408](https://github.com/fastapi/fastapi/pull/16408) by [@YuriiMotov](https://github.com/YuriiMotov).
|
||||
* 🔧 Update sponsors: remove Permit.io. PR [#16406](https://github.com/fastapi/fastapi/pull/16406) by [@tiangolo](https://github.com/tiangolo).
|
||||
* ⬆ Bump anyio from 4.12.1 to 4.14.2. PR [#16375](https://github.com/fastapi/fastapi/pull/16375) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
* ⬆ Bump the python-packages group across 1 directory with 15 updates. PR [#16285](https://github.com/fastapi/fastapi/pull/16285) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
* ⬆ Bump starlette from 1.3.1 to 1.6.0. PR [#16289](https://github.com/fastapi/fastapi/pull/16289) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
* ⬆ Bump annotated-doc from 0.0.4 to 0.0.5. PR [#16288](https://github.com/fastapi/fastapi/pull/16288) by [@dependabot[bot]](https://github.com/apps/dependabot).
|
||||
|
||||
@@ -159,6 +159,7 @@ nav:
|
||||
- advanced/templates.md
|
||||
- advanced/websockets.md
|
||||
- advanced/events.md
|
||||
- advanced/opentelemetry.md
|
||||
- advanced/testing-websockets.md
|
||||
- advanced/testing-events.md
|
||||
- advanced/testing-dependencies.md
|
||||
|
||||
@@ -10,12 +10,6 @@
|
||||
<img class="sponsor-image" src="/img/sponsors/propelauth-banner.png" alt="Auth, user management and more for your B2B product" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a title="Deploy & scale any full-stack web app on Render. Focus on building apps, not infra." style="display: block; position: relative;" href="https://docs.render.com/deploy-fastapi?utm_source=deploydoc&utm_medium=referral&utm_campaign=fastapi" target="_blank">
|
||||
<span class="sponsor-badge">sponsor</span>
|
||||
<img class="sponsor-image" src="/img/sponsors/render-banner.svg" alt="Deploy & scale any full-stack web app on Render. Focus on building apps, not infra." />
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a title="Cut Code Review Time & Bugs in Half with CodeRabbit" style="display: block; position: relative;" href="https://www.coderabbit.ai/?utm_source=fastapi&utm_medium=banner&utm_campaign=fastapi" target="_blank">
|
||||
<span class="sponsor-badge">sponsor</span>
|
||||
|
||||
Reference in New Issue
Block a user