diff --git a/.github/actions/notify-translations/Dockerfile b/.github/actions/notify-translations/Dockerfile
deleted file mode 100644
index b68b4bb1a..000000000
--- a/.github/actions/notify-translations/Dockerfile
+++ /dev/null
@@ -1,7 +0,0 @@
-FROM python:3.9
-
-RUN pip install httpx PyGithub "pydantic==1.5.1" "pyyaml>=5.3.1,<6.0.0"
-
-COPY ./app /app
-
-CMD ["python", "/app/main.py"]
diff --git a/.github/actions/notify-translations/action.yml b/.github/actions/notify-translations/action.yml
deleted file mode 100644
index c3579977c..000000000
--- a/.github/actions/notify-translations/action.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-name: "Notify Translations"
-description: "Notify in the issue for a translation when there's a new PR available"
-author: "Sebastiรกn Ramรญrez
-
+
@@ -62,6 +62,7 @@ The key features are:
+
diff --git a/docs/de/docs/tutorial/query-params-str-validations.md b/docs/de/docs/tutorial/query-params-str-validations.md
index f181d501c..de8879ce8 100644
--- a/docs/de/docs/tutorial/query-params-str-validations.md
+++ b/docs/de/docs/tutorial/query-params-str-validations.md
@@ -315,22 +315,6 @@ Wenn Sie einen Parameter erforderlich machen wollen, wรคhrend Sie `Query` verwen
{* ../../docs_src/query_params_str_validations/tutorial006_an_py39.py hl[9] *}
-### Erforderlich mit Ellipse (`...`)
-
-Es gibt eine Alternative, die explizit deklariert, dass ein Wert erforderlich ist. Sie kรถnnen als Default das Literal `...` setzen:
-
-{* ../../docs_src/query_params_str_validations/tutorial006b_an_py39.py hl[9] *}
-
-/// info
-
-Falls Sie das `...` bisher noch nicht gesehen haben: Es ist ein spezieller einzelner Wert, Teil von Python und wird โEllipsisโ genannt (Deutsch: Ellipse).
-
-Es wird von Pydantic und FastAPI verwendet, um explizit zu deklarieren, dass ein Wert erforderlich ist.
-
-///
-
-Dies wird **FastAPI** wissen lassen, dass dieser Parameter erforderlich ist.
-
### Erforderlich, kann `None` sein
Sie kรถnnen deklarieren, dass ein Parameter `None` akzeptiert, aber dennoch erforderlich ist. Das zwingt Clients, den Wert zu senden, selbst wenn er `None` ist.
diff --git a/docs/em/docs/tutorial/query-params-str-validations.md b/docs/em/docs/tutorial/query-params-str-validations.md
index dbaab5735..fd077bf8f 100644
--- a/docs/em/docs/tutorial/query-params-str-validations.md
+++ b/docs/em/docs/tutorial/query-params-str-validations.md
@@ -148,22 +148,6 @@ q: Union[str, None] = Query(default=None, min_length=3)
{* ../../docs_src/query_params_str_validations/tutorial006.py hl[7] *}
-### โ โฎ๏ธ โ (`...`)
-
-๐ค ๐ ๐ ๐ฏ ๐ฃ ๐ ๐ฒ โ. ๐ ๐ช โ `default` ๐ข ๐ ๐ฒ `...`:
-
-{* ../../docs_src/query_params_str_validations/tutorial006b.py hl[7] *}
-
-/// info
-
-๐ฅ ๐ ๐ซ ๐ ๐ `...` โญ: โซ๏ธ ๐ ๐ ๐ฒ, โซ๏ธ ๐ ๐ & ๐ค "โ".
-
-โซ๏ธ โ๏ธ Pydantic & FastAPI ๐ฏ ๐ฃ ๐ ๐ฒ โ.
-
-///
-
-๐ ๐ โก๏ธ **FastAPI** ๐ญ ๐ ๐ ๐ข โ.
-
### โ โฎ๏ธ `None`
๐ ๐ช ๐ฃ ๐ ๐ข ๐ช ๐ซ `None`, โ๏ธ ๐ โซ๏ธ โ. ๐ ๐ โก ๐ฉโ๐ป ๐จ ๐ฒ, ๐ฅ ๐ฒ `None`.
@@ -178,18 +162,6 @@ Pydantic, โ โซ๏ธโ ๐๏ธ ๐ ๐ฝ ๐ฌ & ๐ ๏ธ FastAPI, โ๏ธ
///
-### โ๏ธ Pydantic `Required` โฉ๏ธ โ (`...`)
-
-๐ฅ ๐ ๐ญ ๐ฌ โ๏ธ `...`, ๐ ๐ช ๐ & โ๏ธ `Required` โช๏ธโก๏ธ Pydantic:
-
-{* ../../docs_src/query_params_str_validations/tutorial006d.py hl[2,8] *}
-
-/// tip
-
-๐ญ ๐ ๐
๐ผ, ๐โ ๐ณ ๐, ๐ ๐ช ๐ฏ ๐ซ `default` ๐ข, ๐ ๐ ๐ซ โ๏ธ โ๏ธ `...` ๐ซ `Required`.
-
-///
-
## ๐ข ๐ข ๐ / ๐ ๐ฒ
๐โ ๐ ๐ฌ ๐ข ๐ข ๐ฏ โฎ๏ธ `Query` ๐ ๐ช ๐ฃ โซ๏ธ ๐จ ๐ ๐ฒ, โ๏ธ ๐โโ ๐ ๐, ๐จ ๐ ๐ฒ.
diff --git a/docs/en/data/contributors.yml b/docs/en/data/contributors.yml
index f679d7286..0e1a6505b 100644
--- a/docs/en/data/contributors.yml
+++ b/docs/en/data/contributors.yml
@@ -1,13 +1,18 @@
tiangolo:
login: tiangolo
- count: 697
+ count: 713
avatarUrl: https://avatars.githubusercontent.com/u/1326112?u=cb5d06e73a9e1998141b1641aa88e443c6717651&v=4
url: https://github.com/tiangolo
dependabot:
login: dependabot
- count: 89
+ count: 90
avatarUrl: https://avatars.githubusercontent.com/in/29110?v=4
url: https://github.com/apps/dependabot
+alejsdev:
+ login: alejsdev
+ count: 47
+ avatarUrl: https://avatars.githubusercontent.com/u/90076947?u=356f39ff3f0211c720b06d3dbb060e98884085e3&v=4
+ url: https://github.com/alejsdev
github-actions:
login: github-actions
count: 26
@@ -15,7 +20,7 @@ github-actions:
url: https://github.com/apps/github-actions
Kludex:
login: Kludex
- count: 22
+ count: 23
avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=df8a3f06ba8f55ae1967a3e2d5ed882903a4e330&v=4
url: https://github.com/Kludex
pre-commit-ci:
@@ -23,11 +28,6 @@ pre-commit-ci:
count: 22
avatarUrl: https://avatars.githubusercontent.com/in/68672?v=4
url: https://github.com/apps/pre-commit-ci
-alejsdev:
- login: alejsdev
- count: 21
- avatarUrl: https://avatars.githubusercontent.com/u/90076947?u=356f39ff3f0211c720b06d3dbb060e98884085e3&v=4
- url: https://github.com/alejsdev
dmontagu:
login: dmontagu
count: 17
@@ -108,6 +108,11 @@ hitrust:
count: 4
avatarUrl: https://avatars.githubusercontent.com/u/3360631?u=5fa1f475ad784d64eb9666bdd43cc4d285dcc773&v=4
url: https://github.com/hitrust
+ShahriyarR:
+ login: ShahriyarR
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/3852029?u=c9a1691e5ebdc94cbf543086099a6ed705cdb873&v=4
+ url: https://github.com/ShahriyarR
adriangb:
login: adriangb
count: 4
@@ -208,11 +213,6 @@ graingert:
count: 3
avatarUrl: https://avatars.githubusercontent.com/u/413772?u=64b77b6aa405c68a9c6bcf45f84257c66eea5f32&v=4
url: https://github.com/graingert
-ShahriyarR:
- login: ShahriyarR
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/3852029?u=c9a1691e5ebdc94cbf543086099a6ed705cdb873&v=4
- url: https://github.com/ShahriyarR
jaystone776:
login: jaystone776
count: 3
@@ -433,6 +433,11 @@ imba-tjd:
count: 2
avatarUrl: https://avatars.githubusercontent.com/u/24759802?u=01e901a4fe004b4b126549d3ff1c4000fe3720b5&v=4
url: https://github.com/imba-tjd
+johnthagen:
+ login: johnthagen
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/10340167?u=47147fc4e4db1f573bee3fe428deeacb3197bc5f&v=4
+ url: https://github.com/johnthagen
paxcodes:
login: paxcodes
count: 2
@@ -443,6 +448,11 @@ kaustubhgupta:
count: 2
avatarUrl: https://avatars.githubusercontent.com/u/43691873?u=8dd738718ac7ffad4ef31e86b5d780a1141c695d&v=4
url: https://github.com/kaustubhgupta
+kinuax:
+ login: kinuax
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/13321374?u=22dc9873d6d9f2c7e4fc44c6480c3505efb1531f&v=4
+ url: https://github.com/kinuax
wakabame:
login: wakabame
count: 2
@@ -503,3 +513,8 @@ AyushSinghal1794:
count: 2
avatarUrl: https://avatars.githubusercontent.com/u/89984761?v=4
url: https://github.com/AyushSinghal1794
+DanielKusyDev:
+ login: DanielKusyDev
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/36250676?u=2ea6114ff751fc48b55f231987a0e2582c6b1bd2&v=4
+ url: https://github.com/DanielKusyDev
diff --git a/docs/en/data/github_sponsors.yml b/docs/en/data/github_sponsors.yml
index 55fe3dda9..feb4e727f 100644
--- a/docs/en/data/github_sponsors.yml
+++ b/docs/en/data/github_sponsors.yml
@@ -2,6 +2,9 @@ sponsors:
- - login: bump-sh
avatarUrl: https://avatars.githubusercontent.com/u/33217836?v=4
url: https://github.com/bump-sh
+ - login: renderinc
+ avatarUrl: https://avatars.githubusercontent.com/u/36424661?v=4
+ url: https://github.com/renderinc
- login: Nixtla
avatarUrl: https://avatars.githubusercontent.com/u/79945230?v=4
url: https://github.com/Nixtla
@@ -20,9 +23,6 @@ sponsors:
- login: zuplo
avatarUrl: https://avatars.githubusercontent.com/u/85497839?v=4
url: https://github.com/zuplo
- - login: render-sponsorships
- avatarUrl: https://avatars.githubusercontent.com/u/189296666?v=4
- url: https://github.com/render-sponsorships
- login: porter-dev
avatarUrl: https://avatars.githubusercontent.com/u/62078005?v=4
url: https://github.com/porter-dev
@@ -44,6 +44,9 @@ sponsors:
- login: databento
avatarUrl: https://avatars.githubusercontent.com/u/64141749?v=4
url: https://github.com/databento
+ - login: permitio
+ avatarUrl: https://avatars.githubusercontent.com/u/71775833?v=4
+ url: https://github.com/permitio
- - login: mercedes-benz
avatarUrl: https://avatars.githubusercontent.com/u/34240465?v=4
url: https://github.com/mercedes-benz
@@ -95,9 +98,6 @@ sponsors:
- - login: samuelcolvin
avatarUrl: https://avatars.githubusercontent.com/u/4039449?u=42eb3b833047c8c4b4f647a031eaef148c16d93f&v=4
url: https://github.com/samuelcolvin
- - login: vincentkoc
- avatarUrl: https://avatars.githubusercontent.com/u/25068?u=cbf098fc04c0473523d373b0dd2145b4ec99ef93&v=4
- url: https://github.com/vincentkoc
- login: ProteinQure
avatarUrl: https://avatars.githubusercontent.com/u/33707203?v=4
url: https://github.com/ProteinQure
@@ -107,6 +107,9 @@ sponsors:
- login: otosky
avatarUrl: https://avatars.githubusercontent.com/u/42260747?u=69d089387c743d89427aa4ad8740cfb34045a9e0&v=4
url: https://github.com/otosky
+ - login: khadrawy
+ avatarUrl: https://avatars.githubusercontent.com/u/13686061?u=59f25ef42ecf04c22657aac4238ce0e2d3d30304&v=4
+ url: https://github.com/khadrawy
- login: mjohnsey
avatarUrl: https://avatars.githubusercontent.com/u/16784016?u=38fad2e6b411244560b3af99c5f5a4751bc81865&v=4
url: https://github.com/mjohnsey
@@ -215,6 +218,9 @@ sponsors:
- login: anomaly
avatarUrl: https://avatars.githubusercontent.com/u/3654837?v=4
url: https://github.com/anomaly
+ - login: vincentkoc
+ avatarUrl: https://avatars.githubusercontent.com/u/25068?u=fbd5b2d51142daa4bdbc21e21953a3b8b8188a4a&v=4
+ url: https://github.com/vincentkoc
- login: jstanden
avatarUrl: https://avatars.githubusercontent.com/u/63288?u=c3658d57d2862c607a0e19c2101c3c51876e36ad&v=4
url: https://github.com/jstanden
@@ -248,6 +254,9 @@ sponsors:
- login: TrevorBenson
avatarUrl: https://avatars.githubusercontent.com/u/9167887?u=dccbea3327a57750923333d8ebf1a0b3f1948949&v=4
url: https://github.com/TrevorBenson
+ - login: kaangiray26
+ avatarUrl: https://avatars.githubusercontent.com/u/11297495?u=e85327a77db45906d44f3ff06dd7f3303c644096&v=4
+ url: https://github.com/kaangiray26
- login: wdwinslow
avatarUrl: https://avatars.githubusercontent.com/u/11562137?u=dc01daafb354135603a263729e3d26d939c0c452&v=4
url: https://github.com/wdwinslow
@@ -263,9 +272,9 @@ sponsors:
- login: dannywade
avatarUrl: https://avatars.githubusercontent.com/u/13680237?u=418ee985bd41577b20fde81417fb2d901e875e8a&v=4
url: https://github.com/dannywade
- - login: khadrawy
- avatarUrl: https://avatars.githubusercontent.com/u/13686061?u=59f25ef42ecf04c22657aac4238ce0e2d3d30304&v=4
- url: https://github.com/khadrawy
+ - login: gorhack
+ avatarUrl: https://avatars.githubusercontent.com/u/4141690?u=ec119ebc4bdf00a7bc84657a71aa17834f4f27f3&v=4
+ url: https://github.com/gorhack
- login: Ryandaydev
avatarUrl: https://avatars.githubusercontent.com/u/4292423?u=48f68868db8886fce31a1d802c1003914c6cd7c6&v=4
url: https://github.com/Ryandaydev
@@ -314,9 +323,9 @@ sponsors:
- 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: PelicanQ
+ avatarUrl: https://avatars.githubusercontent.com/u/77930606?v=4
+ url: https://github.com/PelicanQ
- login: TheR1D
avatarUrl: https://avatars.githubusercontent.com/u/16740832?u=b0dfdbdb27b79729430c71c6128962f77b7b53f7&v=4
url: https://github.com/TheR1D
@@ -341,6 +350,9 @@ sponsors:
- login: dvlpjrs
avatarUrl: https://avatars.githubusercontent.com/u/32254642?u=fbd6ad0324d4f1eb6231cf775be1c7bd4404e961&v=4
url: https://github.com/dvlpjrs
+ - 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=4e14bd64282bad8f385eafbdb004b5a279366d6e&v=4
url: https://github.com/caviri
@@ -356,9 +368,6 @@ sponsors:
- login: PunRabbit
avatarUrl: https://avatars.githubusercontent.com/u/70463212?u=1a835cfbc99295a60c8282f6aa6199d1b42241a5&v=4
url: https://github.com/PunRabbit
- - login: PelicanQ
- avatarUrl: https://avatars.githubusercontent.com/u/77930606?v=4
- url: https://github.com/PelicanQ
- login: tochikuji
avatarUrl: https://avatars.githubusercontent.com/u/851759?v=4
url: https://github.com/tochikuji
@@ -380,9 +389,9 @@ sponsors:
- login: Alisa-lisa
avatarUrl: https://avatars.githubusercontent.com/u/4137964?u=e7e393504f554f4ff15863a1e01a5746863ef9ce&v=4
url: https://github.com/Alisa-lisa
- - login: Graeme22
- avatarUrl: https://avatars.githubusercontent.com/u/4185684?u=498182a42300d7bcd4de1215190cb17eb501136c&v=4
- url: https://github.com/Graeme22
+ - login: hcristea
+ avatarUrl: https://avatars.githubusercontent.com/u/7814406?u=61d7a4fcf846983a4606788eac25e1c6c1209ba8&v=4
+ url: https://github.com/hcristea
- login: ddanier
avatarUrl: https://avatars.githubusercontent.com/u/113563?u=ed1dc79de72f93bd78581f88ebc6952b62f472da&v=4
url: https://github.com/ddanier
@@ -434,6 +443,9 @@ sponsors:
- login: artempronevskiy
avatarUrl: https://avatars.githubusercontent.com/u/12235104?u=03df6e1e55c9c6fe5d230adabb8dd7d43d8bbe8f&v=4
url: https://github.com/artempronevskiy
+ - login: Graeme22
+ avatarUrl: https://avatars.githubusercontent.com/u/4185684?u=498182a42300d7bcd4de1215190cb17eb501136c&v=4
+ url: https://github.com/Graeme22
- login: danielunderwood
avatarUrl: https://avatars.githubusercontent.com/u/4472301?v=4
url: https://github.com/danielunderwood
@@ -458,9 +470,6 @@ sponsors:
- login: harsh183
avatarUrl: https://avatars.githubusercontent.com/u/7780198?v=4
url: https://github.com/harsh183
- - login: hcristea
- avatarUrl: https://avatars.githubusercontent.com/u/7814406?u=61d7a4fcf846983a4606788eac25e1c6c1209ba8&v=4
- url: https://github.com/hcristea
- - login: larsyngvelundin
avatarUrl: https://avatars.githubusercontent.com/u/34173819?u=74958599695bf83ac9f1addd935a51548a10c6b0&v=4
url: https://github.com/larsyngvelundin
@@ -479,9 +488,15 @@ sponsors:
- login: FabulousCodingFox
avatarUrl: https://avatars.githubusercontent.com/u/78906517?u=924a27cbee3db7e0ece5cc1509921402e1445e74&v=4
url: https://github.com/FabulousCodingFox
- - login: anqorithm
- avatarUrl: https://avatars.githubusercontent.com/u/61029571?u=468256fa4e2d9ce2870b608299724bebb7a33f18&v=4
- url: https://github.com/anqorithm
+ - login: gateremark
+ avatarUrl: https://avatars.githubusercontent.com/u/91592218?u=969314eb2cfb035196f4d19499ec6f5050d7583a&v=4
+ url: https://github.com/gateremark
+ - 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: ssbarnea
avatarUrl: https://avatars.githubusercontent.com/u/102495?u=c7bd9ddf127785286fc939dd18cb02db0a453bce&v=4
url: https://github.com/ssbarnea
diff --git a/docs/en/data/people.yml b/docs/en/data/people.yml
index 02d1779e0..7f910ab34 100644
--- a/docs/en/data/people.yml
+++ b/docs/en/data/people.yml
@@ -1,24 +1,35 @@
maintainers:
- login: tiangolo
- answers: 1885
- prs: 577
- avatarUrl: https://avatars.githubusercontent.com/u/1326112?u=740f11212a731f56798f558ceddb0bd07642afa7&v=4
+ answers: 1894
+ avatarUrl: https://avatars.githubusercontent.com/u/1326112?u=cb5d06e73a9e1998141b1641aa88e443c6717651&v=4
url: https://github.com/tiangolo
experts:
+- login: tiangolo
+ count: 1894
+ avatarUrl: https://avatars.githubusercontent.com/u/1326112?u=cb5d06e73a9e1998141b1641aa88e443c6717651&v=4
+ url: https://github.com/tiangolo
+- login: github-actions
+ count: 770
+ avatarUrl: https://avatars.githubusercontent.com/in/15368?v=4
+ url: https://github.com/apps/github-actions
- login: Kludex
- count: 608
- avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=62adc405ef418f4b6c8caa93d3eb8ab107bc4927&v=4
+ count: 645
+ avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=df8a3f06ba8f55ae1967a3e2d5ed882903a4e330&v=4
url: https://github.com/Kludex
-- login: dmontagu
- count: 241
- avatarUrl: https://avatars.githubusercontent.com/u/35119617?u=540f30c937a6450812628b9592a1dfe91bbe148e&v=4
- url: https://github.com/dmontagu
- login: jgould22
- count: 241
+ count: 250
avatarUrl: https://avatars.githubusercontent.com/u/4335847?u=ed77f67e0bb069084639b24d812dbb2a2b1dc554&v=4
url: https://github.com/jgould22
+- login: dmontagu
+ count: 240
+ avatarUrl: https://avatars.githubusercontent.com/u/35119617?u=540f30c937a6450812628b9592a1dfe91bbe148e&v=4
+ url: https://github.com/dmontagu
+- login: YuriiMotov
+ count: 223
+ avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
+ url: https://github.com/YuriiMotov
- login: Mause
- count: 220
+ count: 219
avatarUrl: https://avatars.githubusercontent.com/u/1405026?v=4
url: https://github.com/Mause
- login: ycd
@@ -26,7 +37,7 @@ experts:
avatarUrl: https://avatars.githubusercontent.com/u/62724709?u=29682e4b6ac7d5293742ccf818188394b9a82972&v=4
url: https://github.com/ycd
- login: JarroVGIT
- count: 193
+ count: 192
avatarUrl: https://avatars.githubusercontent.com/u/13659033?u=e8bea32d07a5ef72f7dde3b2079ceb714923ca05&v=4
url: https://github.com/JarroVGIT
- login: euri10
@@ -41,72 +52,76 @@ experts:
count: 126
avatarUrl: https://avatars.githubusercontent.com/u/331403?v=4
url: https://github.com/phy25
-- login: YuriiMotov
- count: 104
- avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
- url: https://github.com/YuriiMotov
+- login: JavierSanchezCastro
+ count: 85
+ avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
+ url: https://github.com/JavierSanchezCastro
- login: raphaelauv
count: 83
avatarUrl: https://avatars.githubusercontent.com/u/10202690?u=e6f86f5c0c3026a15d6b51792fa3e532b12f1371&v=4
url: https://github.com/raphaelauv
-- login: ArcLightSlavik
- count: 71
- avatarUrl: https://avatars.githubusercontent.com/u/31127044?u=b0f2c37142f4b762e41ad65dc49581813422bd71&v=4
- url: https://github.com/ArcLightSlavik
- login: ghandic
count: 71
avatarUrl: https://avatars.githubusercontent.com/u/23500353?u=e2e1d736f924d9be81e8bfc565b6d8836ba99773&v=4
url: https://github.com/ghandic
-- login: JavierSanchezCastro
- count: 64
- avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
- url: https://github.com/JavierSanchezCastro
+- login: ArcLightSlavik
+ count: 71
+ avatarUrl: https://avatars.githubusercontent.com/u/31127044?u=b0f2c37142f4b762e41ad65dc49581813422bd71&v=4
+ url: https://github.com/ArcLightSlavik
+- login: n8sty
+ count: 66
+ avatarUrl: https://avatars.githubusercontent.com/u/2964996?v=4
+ url: https://github.com/n8sty
- login: falkben
count: 59
avatarUrl: https://avatars.githubusercontent.com/u/653031?u=ad9838e089058c9e5a0bab94c0eec7cc181e0cd0&v=4
url: https://github.com/falkben
-- login: n8sty
- count: 56
- avatarUrl: https://avatars.githubusercontent.com/u/2964996?v=4
- url: https://github.com/n8sty
- login: acidjunk
count: 50
avatarUrl: https://avatars.githubusercontent.com/u/685002?u=b5094ab4527fc84b006c0ac9ff54367bdebb2267&v=4
url: https://github.com/acidjunk
-- login: yinziyan1206
- count: 49
- avatarUrl: https://avatars.githubusercontent.com/u/37829370?u=da44ca53aefd5c23f346fab8e9fd2e108294c179&v=4
- url: https://github.com/yinziyan1206
- login: sm-Fifteen
count: 49
avatarUrl: https://avatars.githubusercontent.com/u/516999?u=437c0c5038558c67e887ccd863c1ba0f846c03da&v=4
url: https://github.com/sm-Fifteen
-- login: insomnes
- count: 45
- avatarUrl: https://avatars.githubusercontent.com/u/16958893?u=f8be7088d5076d963984a21f95f44e559192d912&v=4
- url: https://github.com/insomnes
+- login: yinziyan1206
+ count: 49
+ avatarUrl: https://avatars.githubusercontent.com/u/37829370?u=da44ca53aefd5c23f346fab8e9fd2e108294c179&v=4
+ url: https://github.com/yinziyan1206
+- login: adriangb
+ count: 46
+ avatarUrl: https://avatars.githubusercontent.com/u/1755071?u=612704256e38d6ac9cbed24f10e4b6ac2da74ecb&v=4
+ url: https://github.com/adriangb
- login: Dustyposa
count: 45
avatarUrl: https://avatars.githubusercontent.com/u/27180793?u=5cf2877f50b3eb2bc55086089a78a36f07042889&v=4
url: https://github.com/Dustyposa
-- login: adriangb
+- login: insomnes
count: 45
- avatarUrl: https://avatars.githubusercontent.com/u/1755071?u=612704256e38d6ac9cbed24f10e4b6ac2da74ecb&v=4
- url: https://github.com/adriangb
-- login: frankie567
- count: 43
- avatarUrl: https://avatars.githubusercontent.com/u/1144727?u=c159fe047727aedecbbeeaa96a1b03ceb9d39add&v=4
- url: https://github.com/frankie567
+ avatarUrl: https://avatars.githubusercontent.com/u/16958893?u=f8be7088d5076d963984a21f95f44e559192d912&v=4
+ url: https://github.com/insomnes
- login: odiseo0
count: 43
avatarUrl: https://avatars.githubusercontent.com/u/87550035?u=241a71f6b7068738b81af3e57f45ffd723538401&v=4
url: https://github.com/odiseo0
+- login: frankie567
+ count: 43
+ avatarUrl: https://avatars.githubusercontent.com/u/1144727?u=c159fe047727aedecbbeeaa96a1b03ceb9d39add&v=4
+ url: https://github.com/frankie567
- login: includeamin
count: 40
avatarUrl: https://avatars.githubusercontent.com/u/11836741?u=8bd5ef7e62fe6a82055e33c4c0e0a7879ff8cfb6&v=4
url: https://github.com/includeamin
+- login: sinisaos
+ count: 39
+ avatarUrl: https://avatars.githubusercontent.com/u/30960668?v=4
+ url: https://github.com/sinisaos
+- login: luzzodev
+ count: 37
+ avatarUrl: https://avatars.githubusercontent.com/u/27291415?v=4
+ url: https://github.com/luzzodev
- login: chbndrhnns
- count: 38
+ count: 37
avatarUrl: https://avatars.githubusercontent.com/u/7534547?v=4
url: https://github.com/chbndrhnns
- login: STeveShary
@@ -123,7 +138,7 @@ experts:
url: https://github.com/panla
- login: prostomarkeloff
count: 28
- avatarUrl: https://avatars.githubusercontent.com/u/28061158?u=72309cc1f2e04e40fa38b29969cb4e9d3f722e7b&v=4
+ avatarUrl: https://avatars.githubusercontent.com/u/28061158?u=6918e39a1224194ba636e897461a02a20126d7ad&v=4
url: https://github.com/prostomarkeloff
- login: hasansezertasan
count: 27
@@ -137,10 +152,6 @@ experts:
count: 25
avatarUrl: https://avatars.githubusercontent.com/u/365303?u=07ca03c5ee811eb0920e633cc3c3db73dbec1aa5&v=4
url: https://github.com/wshayes
-- login: acnebs
- count: 23
- avatarUrl: https://avatars.githubusercontent.com/u/9054108?v=4
- url: https://github.com/acnebs
- login: SirTelemak
count: 23
avatarUrl: https://avatars.githubusercontent.com/u/9435877?u=719327b7d2c4c62212456d771bfa7c6b8dbb9eac&v=4
@@ -149,6 +160,10 @@ experts:
count: 22
avatarUrl: https://avatars.githubusercontent.com/u/4216559?u=360a36fb602cded27273cbfc0afc296eece90662&v=4
url: https://github.com/nymous
+- login: acnebs
+ count: 22
+ avatarUrl: https://avatars.githubusercontent.com/u/9054108?v=4
+ url: https://github.com/acnebs
- login: chrisK824
count: 22
avatarUrl: https://avatars.githubusercontent.com/u/79946379?u=03d85b22d696a58a9603e55fbbbe2de6b0f4face&v=4
@@ -157,30 +172,38 @@ experts:
count: 21
avatarUrl: https://avatars.githubusercontent.com/u/51059348?u=5fe59a56e1f2f9ccd8005d71752a8276f133ae1a&v=4
url: https://github.com/rafsaf
+- login: ebottos94
+ count: 20
+ avatarUrl: https://avatars.githubusercontent.com/u/100039558?u=8b91053b3abe4a9209375e3651e1c1ef192d884b&v=4
+ url: https://github.com/ebottos94
- login: nsidnev
count: 20
avatarUrl: https://avatars.githubusercontent.com/u/22559461?u=a9cc3238217e21dc8796a1a500f01b722adb082c&v=4
url: https://github.com/nsidnev
-- login: ebottos94
- count: 20
- avatarUrl: https://avatars.githubusercontent.com/u/100039558?u=e2c672da5a7977fd24d87ce6ab35f8bf5b1ed9fa&v=4
- url: https://github.com/ebottos94
- login: chris-allnutt
count: 20
avatarUrl: https://avatars.githubusercontent.com/u/565544?v=4
url: https://github.com/chris-allnutt
-- login: retnikt
+- login: estebanx64
+ count: 19
+ avatarUrl: https://avatars.githubusercontent.com/u/10840422?u=45f015f95e1c0f06df602be4ab688d4b854cc8a8&v=4
+ url: https://github.com/estebanx64
+- login: sehraramiz
count: 18
- avatarUrl: https://avatars.githubusercontent.com/u/24581770?v=4
- url: https://github.com/retnikt
+ avatarUrl: https://avatars.githubusercontent.com/u/14166324?u=8fac65e84dfff24245d304a5b5b09f7b5bd69dc9&v=4
+ url: https://github.com/sehraramiz
- login: zoliknemet
count: 18
avatarUrl: https://avatars.githubusercontent.com/u/22326718?u=31ba446ac290e23e56eea8e4f0c558aaf0b40779&v=4
url: https://github.com/zoliknemet
-- login: nkhitrov
+- login: retnikt
+ count: 18
+ avatarUrl: https://avatars.githubusercontent.com/u/24581770?v=4
+ url: https://github.com/retnikt
+- login: caeser1996
count: 17
- avatarUrl: https://avatars.githubusercontent.com/u/28262306?u=66ee21316275ef356081c2efc4ed7a4572e690dc&v=4
- url: https://github.com/nkhitrov
+ avatarUrl: https://avatars.githubusercontent.com/u/16540232?u=05d2beb8e034d584d0a374b99d8826327bd7f614&v=4
+ url: https://github.com/caeser1996
- login: Hultner
count: 17
avatarUrl: https://avatars.githubusercontent.com/u/2669034?u=115e53df959309898ad8dc9443fbb35fee71df07&v=4
@@ -189,1170 +212,659 @@ experts:
count: 17
avatarUrl: https://avatars.githubusercontent.com/u/1765494?u=5b1ab7c582db4b4016fa31affe977d10af108ad4&v=4
url: https://github.com/harunyasar
-- login: caeser1996
+- login: nkhitrov
count: 17
- avatarUrl: https://avatars.githubusercontent.com/u/16540232?u=05d2beb8e034d584d0a374b99d8826327bd7f614&v=4
- url: https://github.com/caeser1996
+ avatarUrl: https://avatars.githubusercontent.com/u/28262306?u=e19427d8dc296d6950e9c424adacc92d37496fe9&v=4
+ url: https://github.com/nkhitrov
+- login: jonatasoli
+ count: 16
+ avatarUrl: https://avatars.githubusercontent.com/u/26334101?u=071c062d2861d3dd127f6b4a5258cd8ef55d4c50&v=4
+ url: https://github.com/jonatasoli
- login: dstlny
count: 16
avatarUrl: https://avatars.githubusercontent.com/u/41964673?u=9f2174f9d61c15c6e3a4c9e3aeee66f711ce311f&v=4
url: https://github.com/dstlny
-last_month_experts:
-- login: YuriiMotov
- count: 29
- avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
- url: https://github.com/YuriiMotov
-- login: killjoy1221
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/3409962?u=723662989f2027755e67d200137c13c53ae154ac&v=4
- url: https://github.com/killjoy1221
-- login: Kludex
- count: 7
- avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=62adc405ef418f4b6c8caa93d3eb8ab107bc4927&v=4
- url: https://github.com/Kludex
-- login: JavierSanchezCastro
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
- url: https://github.com/JavierSanchezCastro
-- login: hasansezertasan
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4
- url: https://github.com/hasansezertasan
-- login: PhysicallyActive
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/160476156?u=7a8e44f4a43d3bba636f795bb7d9476c9233b4d8&v=4
- url: https://github.com/PhysicallyActive
-- login: n8sty
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/2964996?v=4
- url: https://github.com/n8sty
-- login: pedroconceicao
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/32837064?u=5a0e6559bc391442629a28b6923790b54deb4464&v=4
- url: https://github.com/pedroconceicao
-- login: PREPONDERANCE
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/112809059?u=30ab12dc9ddba2f94ab90e6ad4ad8bc5cfa7fccd&v=4
- url: https://github.com/PREPONDERANCE
-- login: aanchlia
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/2835374?u=3c3ed29aa8b09ccaf8d66def0ce82bc2f7e5aab6&v=4
- url: https://github.com/aanchlia
-- login: 0sahil
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/58521386?u=ac00b731c07c712d0baa57b8b70ac8422acf183c&v=4
- url: https://github.com/0sahil
-- login: jgould22
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/4335847?u=ed77f67e0bb069084639b24d812dbb2a2b1dc554&v=4
- url: https://github.com/jgould22
-three_months_experts:
-- login: YuriiMotov
- count: 101
- avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
- url: https://github.com/YuriiMotov
-- login: JavierSanchezCastro
- count: 20
- avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
- url: https://github.com/JavierSanchezCastro
-- login: Kludex
- count: 17
- avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=62adc405ef418f4b6c8caa93d3eb8ab107bc4927&v=4
- url: https://github.com/Kludex
-- login: jgould22
- count: 14
- avatarUrl: https://avatars.githubusercontent.com/u/4335847?u=ed77f67e0bb069084639b24d812dbb2a2b1dc554&v=4
- url: https://github.com/jgould22
-- login: killjoy1221
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/3409962?u=723662989f2027755e67d200137c13c53ae154ac&v=4
- url: https://github.com/killjoy1221
-- login: hasansezertasan
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4
- url: https://github.com/hasansezertasan
-- login: PhysicallyActive
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/160476156?u=7a8e44f4a43d3bba636f795bb7d9476c9233b4d8&v=4
- url: https://github.com/PhysicallyActive
-- login: n8sty
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/2964996?v=4
- url: https://github.com/n8sty
-- login: sehraramiz
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/14166324?v=4
- url: https://github.com/sehraramiz
-- login: acidjunk
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/685002?u=b5094ab4527fc84b006c0ac9ff54367bdebb2267&v=4
- url: https://github.com/acidjunk
-- login: estebanx64
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/10840422?u=45f015f95e1c0f06df602be4ab688d4b854cc8a8&v=4
- url: https://github.com/estebanx64
-- login: PREPONDERANCE
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/112809059?u=30ab12dc9ddba2f94ab90e6ad4ad8bc5cfa7fccd&v=4
- url: https://github.com/PREPONDERANCE
-- login: chrisK824
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/79946379?u=03d85b22d696a58a9603e55fbbbe2de6b0f4face&v=4
- url: https://github.com/chrisK824
-- login: ryanisn
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/53449841?v=4
- url: https://github.com/ryanisn
-- login: pythonweb2
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/32141163?v=4
- url: https://github.com/pythonweb2
-- login: omarcruzpantoja
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/15116058?u=4b64c643fad49225d854e1aaecd1ffc6f9071a1b&v=4
- url: https://github.com/omarcruzpantoja
-- login: mskrip
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/17459600?u=10019d5c38ae3374dd4a6743b0223e56a78d4855&v=4
- url: https://github.com/mskrip
-- login: pedroconceicao
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/32837064?u=5a0e6559bc391442629a28b6923790b54deb4464&v=4
- url: https://github.com/pedroconceicao
-- login: Jackiexiao
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/18050469?u=a2003e21a7780477ba00bf87a9abef8af58e91d1&v=4
- url: https://github.com/Jackiexiao
-- login: aanchlia
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/2835374?u=3c3ed29aa8b09ccaf8d66def0ce82bc2f7e5aab6&v=4
- url: https://github.com/aanchlia
-- login: moreno-p
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/164261630?v=4
- url: https://github.com/moreno-p
-- login: 0sahil
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/58521386?u=ac00b731c07c712d0baa57b8b70ac8422acf183c&v=4
- url: https://github.com/0sahil
-- login: patrick91
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/667029?u=e35958a75ac1f99c81b4bc99e22db8cd665ae7f0&v=4
- url: https://github.com/patrick91
-- login: pprunty
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/58374462?u=5736576e586429abc97a803b8bcd4a6d828b8a2f&v=4
- url: https://github.com/pprunty
-- login: angely-dev
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/4362224?v=4
- url: https://github.com/angely-dev
-- login: mastizada
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/1975818?u=0751a06d7271c8bf17cb73b1b845644ab4d2c6dc&v=4
- url: https://github.com/mastizada
-- login: sm-Fifteen
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/516999?u=437c0c5038558c67e887ccd863c1ba0f846c03da&v=4
- url: https://github.com/sm-Fifteen
-- login: methane
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/199592?v=4
- url: https://github.com/methane
-- login: konstantinos1981
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/39465388?v=4
- url: https://github.com/konstantinos1981
-- login: druidance
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/160344534?v=4
- url: https://github.com/druidance
-- login: fabianfalon
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/3700760?u=95f69e31280b17ac22299cdcd345323b142fe0af&v=4
- url: https://github.com/fabianfalon
-- login: VatsalJagani
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/20964366?u=43552644be05c9107c029e26d5ab3be5a1920f45&v=4
- url: https://github.com/VatsalJagani
-- login: khaledadrani
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/45245894?u=49ed5056426a149a5af29d385d8bd3847101d3a4&v=4
- url: https://github.com/khaledadrani
-- login: ThirVondukr
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/50728601?u=167c0bd655e52817082e50979a86d2f98f95b1a3&v=4
- url: https://github.com/ThirVondukr
-six_months_experts:
-- login: YuriiMotov
- count: 104
- avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
- url: https://github.com/YuriiMotov
-- login: Kludex
- count: 104
- avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=62adc405ef418f4b6c8caa93d3eb8ab107bc4927&v=4
- url: https://github.com/Kludex
-- login: JavierSanchezCastro
- count: 40
- avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
- url: https://github.com/JavierSanchezCastro
-- login: jgould22
- count: 40
- avatarUrl: https://avatars.githubusercontent.com/u/4335847?u=ed77f67e0bb069084639b24d812dbb2a2b1dc554&v=4
- url: https://github.com/jgould22
-- login: hasansezertasan
- count: 21
- avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4
- url: https://github.com/hasansezertasan
-- login: n8sty
- count: 19
- avatarUrl: https://avatars.githubusercontent.com/u/2964996?v=4
- url: https://github.com/n8sty
-- login: killjoy1221
- count: 9
- avatarUrl: https://avatars.githubusercontent.com/u/3409962?u=723662989f2027755e67d200137c13c53ae154ac&v=4
- url: https://github.com/killjoy1221
-- login: aanchlia
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/2835374?u=3c3ed29aa8b09ccaf8d66def0ce82bc2f7e5aab6&v=4
- url: https://github.com/aanchlia
-- login: estebanx64
- count: 7
- avatarUrl: https://avatars.githubusercontent.com/u/10840422?u=45f015f95e1c0f06df602be4ab688d4b854cc8a8&v=4
- url: https://github.com/estebanx64
-- login: PhysicallyActive
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/160476156?u=7a8e44f4a43d3bba636f795bb7d9476c9233b4d8&v=4
- url: https://github.com/PhysicallyActive
-- login: dolfinus
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/4661021?u=a51b39001a2e5e7529b45826980becf786de2327&v=4
- url: https://github.com/dolfinus
-- login: Ventura94
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/43103937?u=ccb837005aaf212a449c374618c4339089e2f733&v=4
- url: https://github.com/Ventura94
-- login: sehraramiz
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/14166324?v=4
- url: https://github.com/sehraramiz
-- login: acidjunk
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/685002?u=b5094ab4527fc84b006c0ac9ff54367bdebb2267&v=4
- url: https://github.com/acidjunk
-- login: shashstormer
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/90090313?v=4
- url: https://github.com/shashstormer
-- login: GodMoonGoodman
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/29688727?u=7b251da620d999644c37c1feeb292d033eed7ad6&v=4
- url: https://github.com/GodMoonGoodman
-- login: flo-at
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/564288?v=4
- url: https://github.com/flo-at
-- login: PREPONDERANCE
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/112809059?u=30ab12dc9ddba2f94ab90e6ad4ad8bc5cfa7fccd&v=4
- url: https://github.com/PREPONDERANCE
-- login: chrisK824
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/79946379?u=03d85b22d696a58a9603e55fbbbe2de6b0f4face&v=4
- url: https://github.com/chrisK824
-- login: angely-dev
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/4362224?v=4
- url: https://github.com/angely-dev
-- login: fmelihh
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/99879453?u=671117dba9022db2237e3da7a39cbc2efc838db0&v=4
- url: https://github.com/fmelihh
-- login: ryanisn
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/53449841?v=4
- url: https://github.com/ryanisn
-- login: JoshYuJump
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/5901894?u=cdbca6296ac4cdcdf6945c112a1ce8d5342839ea&v=4
- url: https://github.com/JoshYuJump
-- login: pythonweb2
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/32141163?v=4
- url: https://github.com/pythonweb2
-- login: omarcruzpantoja
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/15116058?u=4b64c643fad49225d854e1aaecd1ffc6f9071a1b&v=4
- url: https://github.com/omarcruzpantoja
-- login: bogdan-coman-uv
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/92912507?v=4
- url: https://github.com/bogdan-coman-uv
-- login: ahmedabdou14
- count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/104530599?u=05365b155a1ff911532e8be316acfad2e0736f98&v=4
- url: https://github.com/ahmedabdou14
-- login: mskrip
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/17459600?u=10019d5c38ae3374dd4a6743b0223e56a78d4855&v=4
- url: https://github.com/mskrip
-- login: leonidktoto
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/159561986?v=4
- url: https://github.com/leonidktoto
-- login: pedroconceicao
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/32837064?u=5a0e6559bc391442629a28b6923790b54deb4464&v=4
- url: https://github.com/pedroconceicao
-- login: hwong557
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/460259?u=7d2f1b33ea5bda4d8e177ab3cb924a673d53087e&v=4
- url: https://github.com/hwong557
-- login: Jackiexiao
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/18050469?u=a2003e21a7780477ba00bf87a9abef8af58e91d1&v=4
- url: https://github.com/Jackiexiao
-- login: admo1
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/14835916?v=4
- url: https://github.com/admo1
-- login: binbjz
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/8213913?u=22b68b7a0d5bf5e09c02084c0f5f53d7503114cd&v=4
- url: https://github.com/binbjz
-- login: nameer
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/3931725?u=6199fb065df098fc13ac0a5e649f89672b586732&v=4
- url: https://github.com/nameer
-- login: moreno-p
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/164261630?v=4
- url: https://github.com/moreno-p
-- login: 0sahil
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/58521386?u=ac00b731c07c712d0baa57b8b70ac8422acf183c&v=4
- url: https://github.com/0sahil
-- login: nymous
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/4216559?u=360a36fb602cded27273cbfc0afc296eece90662&v=4
- url: https://github.com/nymous
-- login: patrick91
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/667029?u=e35958a75ac1f99c81b4bc99e22db8cd665ae7f0&v=4
- url: https://github.com/patrick91
-- login: pprunty
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/58374462?u=5736576e586429abc97a803b8bcd4a6d828b8a2f&v=4
- url: https://github.com/pprunty
-- login: JonnyBootsNpants
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/155071540?u=2d3a72b74a2c4c8eaacdb625c7ac850369579352&v=4
- url: https://github.com/JonnyBootsNpants
-- login: richin13
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/8370058?u=8e37a4cdbc78983a5f4b4847f6d1879fb39c851c&v=4
- url: https://github.com/richin13
-- login: mastizada
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/1975818?u=0751a06d7271c8bf17cb73b1b845644ab4d2c6dc&v=4
- url: https://github.com/mastizada
-- login: sm-Fifteen
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/516999?u=437c0c5038558c67e887ccd863c1ba0f846c03da&v=4
- url: https://github.com/sm-Fifteen
-- login: amacfie
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/889657?u=d70187989940b085bcbfa3bedad8dbc5f3ab1fe7&v=4
- url: https://github.com/amacfie
-- login: garg10may
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/8787120?u=7028d2b3a2a26534c1806eb76c7425a3fac9732f&v=4
- url: https://github.com/garg10may
-- login: methane
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/199592?v=4
- url: https://github.com/methane
-- login: konstantinos1981
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/39465388?v=4
- url: https://github.com/konstantinos1981
-- login: druidance
- count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/160344534?v=4
- url: https://github.com/druidance
-one_year_experts:
-- login: Kludex
- count: 207
- avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=62adc405ef418f4b6c8caa93d3eb8ab107bc4927&v=4
- url: https://github.com/Kludex
-- login: jgould22
- count: 118
- avatarUrl: https://avatars.githubusercontent.com/u/4335847?u=ed77f67e0bb069084639b24d812dbb2a2b1dc554&v=4
- url: https://github.com/jgould22
-- login: YuriiMotov
- count: 104
- avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
- url: https://github.com/YuriiMotov
-- login: JavierSanchezCastro
- count: 59
- avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
- url: https://github.com/JavierSanchezCastro
-- login: n8sty
- count: 40
- avatarUrl: https://avatars.githubusercontent.com/u/2964996?v=4
- url: https://github.com/n8sty
-- login: hasansezertasan
- count: 27
- avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4
- url: https://github.com/hasansezertasan
-- login: chrisK824
- count: 16
- avatarUrl: https://avatars.githubusercontent.com/u/79946379?u=03d85b22d696a58a9603e55fbbbe2de6b0f4face&v=4
- url: https://github.com/chrisK824
-- login: ahmedabdou14
- count: 13
- avatarUrl: https://avatars.githubusercontent.com/u/104530599?u=05365b155a1ff911532e8be316acfad2e0736f98&v=4
- url: https://github.com/ahmedabdou14
-- login: arjwilliams
- count: 12
- avatarUrl: https://avatars.githubusercontent.com/u/22227620?v=4
- url: https://github.com/arjwilliams
-- login: killjoy1221
- count: 10
- avatarUrl: https://avatars.githubusercontent.com/u/3409962?u=723662989f2027755e67d200137c13c53ae154ac&v=4
- url: https://github.com/killjoy1221
-- login: WilliamStam
- count: 10
- avatarUrl: https://avatars.githubusercontent.com/u/182800?v=4
- url: https://github.com/WilliamStam
-- login: iudeen
- count: 10
- avatarUrl: https://avatars.githubusercontent.com/u/10519440?u=2843b3303282bff8b212dcd4d9d6689452e4470c&v=4
- url: https://github.com/iudeen
-- login: nymous
- count: 9
- avatarUrl: https://avatars.githubusercontent.com/u/4216559?u=360a36fb602cded27273cbfc0afc296eece90662&v=4
- url: https://github.com/nymous
-- login: aanchlia
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/2835374?u=3c3ed29aa8b09ccaf8d66def0ce82bc2f7e5aab6&v=4
- url: https://github.com/aanchlia
-- login: estebanx64
- count: 7
- avatarUrl: https://avatars.githubusercontent.com/u/10840422?u=45f015f95e1c0f06df602be4ab688d4b854cc8a8&v=4
- url: https://github.com/estebanx64
-- login: pythonweb2
- count: 7
- avatarUrl: https://avatars.githubusercontent.com/u/32141163?v=4
- url: https://github.com/pythonweb2
-- login: romabozhanovgithub
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/67696229?u=e4b921eef096415300425aca249348f8abb78ad7&v=4
- url: https://github.com/romabozhanovgithub
-- login: PhysicallyActive
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/160476156?u=7a8e44f4a43d3bba636f795bb7d9476c9233b4d8&v=4
- url: https://github.com/PhysicallyActive
-- login: mikeedjones
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/4087139?u=cc4a242896ac2fcf88a53acfaf190d0fe0a1f0c9&v=4
- url: https://github.com/mikeedjones
-- login: dolfinus
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/4661021?u=a51b39001a2e5e7529b45826980becf786de2327&v=4
- url: https://github.com/dolfinus
-- login: ebottos94
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/100039558?u=e2c672da5a7977fd24d87ce6ab35f8bf5b1ed9fa&v=4
- url: https://github.com/ebottos94
-- login: Ventura94
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/43103937?u=ccb837005aaf212a449c374618c4339089e2f733&v=4
- url: https://github.com/Ventura94
-- login: White-Mask
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/31826970?u=8625355dc25ddf9c85a8b2b0b9932826c4c8f44c&v=4
- url: https://github.com/White-Mask
-- login: sehraramiz
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/14166324?v=4
- url: https://github.com/sehraramiz
-- login: acidjunk
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/685002?u=b5094ab4527fc84b006c0ac9ff54367bdebb2267&v=4
- url: https://github.com/acidjunk
-- login: JoshYuJump
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/5901894?u=cdbca6296ac4cdcdf6945c112a1ce8d5342839ea&v=4
- url: https://github.com/JoshYuJump
-- login: alex-pobeditel-2004
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/14791483?v=4
- url: https://github.com/alex-pobeditel-2004
-- login: shashstormer
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/90090313?v=4
- url: https://github.com/shashstormer
-- login: wu-clan
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/52145145?u=f8c9e5c8c259d248e1683fedf5027b4ee08a0967&v=4
- url: https://github.com/wu-clan
+- login: ceb10n
+ count: 15
+ avatarUrl: https://avatars.githubusercontent.com/u/235213?u=edcce471814a1eba9f0cdaa4cd0de18921a940a6&v=4
+ url: https://github.com/ceb10n
+- login: jorgerpo
+ count: 15
+ avatarUrl: https://avatars.githubusercontent.com/u/12537771?u=7444d20019198e34911082780cc7ad73f2b97cb3&v=4
+ url: https://github.com/jorgerpo
+- login: simondale00
+ count: 15
+ avatarUrl: https://avatars.githubusercontent.com/u/33907262?u=2721fb37014d50daf473267c808aa678ecaefe09&v=4
+ url: https://github.com/simondale00
+- login: ghost
+ count: 15
+ avatarUrl: https://avatars.githubusercontent.com/u/10137?u=b1951d34a583cf12ec0d3b0781ba19be97726318&v=4
+ url: https://github.com/ghost
- login: abhint
- count: 5
+ count: 15
avatarUrl: https://avatars.githubusercontent.com/u/25699289?u=b5d219277b4d001ac26fb8be357fddd88c29d51b&v=4
url: https://github.com/abhint
-- login: anthonycepeda
+last_month_experts:
+- login: Kludex
+ count: 14
+ avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=df8a3f06ba8f55ae1967a3e2d5ed882903a4e330&v=4
+ url: https://github.com/Kludex
+- login: YuriiMotov
+ count: 10
+ avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
+ url: https://github.com/YuriiMotov
+- login: sehraramiz
+ count: 7
+ avatarUrl: https://avatars.githubusercontent.com/u/14166324?u=8fac65e84dfff24245d304a5b5b09f7b5bd69dc9&v=4
+ url: https://github.com/sehraramiz
+- login: luzzodev
+ count: 5
+ avatarUrl: https://avatars.githubusercontent.com/u/27291415?v=4
+ url: https://github.com/luzzodev
+- login: yokwejuste
count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/72019805?u=60bdf46240cff8fca482ff0fc07d963fd5e1a27c&v=4
- url: https://github.com/anthonycepeda
-- login: GodMoonGoodman
+ avatarUrl: https://avatars.githubusercontent.com/u/71908316?u=592c1e42aa0ee5cb94890e0b863e2acc78cc3bbc&v=4
+ url: https://github.com/yokwejuste
+- login: alv2017
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4
+ url: https://github.com/alv2017
+- login: Trinkes
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/9466879?v=4
+ url: https://github.com/Trinkes
+- login: PREPONDERANCE
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/112809059?u=30ab12dc9ddba2f94ab90e6ad4ad8bc5cfa7fccd&v=4
+ url: https://github.com/PREPONDERANCE
+- login: nbx3
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/34649527?u=943812f69e0d40adbd3fa1c9b8ef50dd971a2a45&v=4
+ url: https://github.com/nbx3
+- login: XiaoXinYo
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/56395004?u=b3b7cb758997f283c271a581833e407229dab82c&v=4
+ url: https://github.com/XiaoXinYo
+- login: iloveitaly
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/150855?v=4
+ url: https://github.com/iloveitaly
+three_months_experts:
+- login: luzzodev
+ count: 33
+ avatarUrl: https://avatars.githubusercontent.com/u/27291415?v=4
+ url: https://github.com/luzzodev
+- login: YuriiMotov
+ count: 31
+ avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
+ url: https://github.com/YuriiMotov
+- login: Kludex
+ count: 24
+ avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=df8a3f06ba8f55ae1967a3e2d5ed882903a4e330&v=4
+ url: https://github.com/Kludex
+- login: sehraramiz
+ count: 11
+ avatarUrl: https://avatars.githubusercontent.com/u/14166324?u=8fac65e84dfff24245d304a5b5b09f7b5bd69dc9&v=4
+ url: https://github.com/sehraramiz
+- login: estebanx64
+ count: 7
+ avatarUrl: https://avatars.githubusercontent.com/u/10840422?u=45f015f95e1c0f06df602be4ab688d4b854cc8a8&v=4
+ url: https://github.com/estebanx64
+- login: yvallois
+ count: 6
+ avatarUrl: https://avatars.githubusercontent.com/u/36999744?v=4
+ url: https://github.com/yvallois
+- login: yokwejuste
count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/29688727?u=7b251da620d999644c37c1feeb292d033eed7ad6&v=4
- url: https://github.com/GodMoonGoodman
+ avatarUrl: https://avatars.githubusercontent.com/u/71908316?u=592c1e42aa0ee5cb94890e0b863e2acc78cc3bbc&v=4
+ url: https://github.com/yokwejuste
+- login: jgould22
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/4335847?u=ed77f67e0bb069084639b24d812dbb2a2b1dc554&v=4
+ url: https://github.com/jgould22
+- login: alv2017
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4
+ url: https://github.com/alv2017
+- login: viniciusCalcantara
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/108818737?u=3d7ffe5808843ee4372f9cc5a559ff1674cf1792&v=4
+ url: https://github.com/viniciusCalcantara
+- login: Trinkes
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/9466879?v=4
+ url: https://github.com/Trinkes
+- login: PREPONDERANCE
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/112809059?u=30ab12dc9ddba2f94ab90e6ad4ad8bc5cfa7fccd&v=4
+ url: https://github.com/PREPONDERANCE
+- login: nbx3
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/34649527?u=943812f69e0d40adbd3fa1c9b8ef50dd971a2a45&v=4
+ url: https://github.com/nbx3
+- login: XiaoXinYo
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/56395004?u=b3b7cb758997f283c271a581833e407229dab82c&v=4
+ url: https://github.com/XiaoXinYo
+- login: JavierSanchezCastro
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
+ url: https://github.com/JavierSanchezCastro
+- login: iloveitaly
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/150855?v=4
+ url: https://github.com/iloveitaly
+- login: LincolnPuzey
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/18750802?v=4
+ url: https://github.com/LincolnPuzey
+- login: Knighthawk-Leo
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/72437494?u=27c68db94a3107b605e603cc136f4ba83f0106d5&v=4
+ url: https://github.com/Knighthawk-Leo
+- login: gelezo43
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/40732698?u=611f39d3c1d2f4207a590937a78c1f10eed6232c&v=4
+ url: https://github.com/gelezo43
+- login: AliYmn
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/18416653?u=98c1fca46c7e4dabe8c39d17b5e55d1511d41cf9&v=4
+ url: https://github.com/AliYmn
+- login: RichieB2B
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/1461970?u=edaa57d1077705244ea5c9244f4783d94ff11f12&v=4
+ url: https://github.com/RichieB2B
+- login: Synrom
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/30272537?v=4
+ url: https://github.com/Synrom
+- login: iiotsrc
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/131771119?u=bcaf2559ef6266af70b151b7fda31a1ee3dbecb3&v=4
+ url: https://github.com/iiotsrc
+- login: Kfir-G
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/57500876?u=0cd29db046a17f12f382d398141319fca7ff230a&v=4
+ url: https://github.com/Kfir-G
+six_months_experts:
+- login: YuriiMotov
+ count: 72
+ avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
+ url: https://github.com/YuriiMotov
+- login: Kludex
+ count: 40
+ avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=df8a3f06ba8f55ae1967a3e2d5ed882903a4e330&v=4
+ url: https://github.com/Kludex
+- login: luzzodev
+ count: 37
+ avatarUrl: https://avatars.githubusercontent.com/u/27291415?v=4
+ url: https://github.com/luzzodev
+- login: sinisaos
+ count: 37
+ avatarUrl: https://avatars.githubusercontent.com/u/30960668?v=4
+ url: https://github.com/sinisaos
+- login: JavierSanchezCastro
+ count: 16
+ avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
+ url: https://github.com/JavierSanchezCastro
+- login: Kfir-G
+ count: 13
+ avatarUrl: https://avatars.githubusercontent.com/u/57500876?u=0cd29db046a17f12f382d398141319fca7ff230a&v=4
+ url: https://github.com/Kfir-G
+- login: tiangolo
+ count: 12
+ avatarUrl: https://avatars.githubusercontent.com/u/1326112?u=cb5d06e73a9e1998141b1641aa88e443c6717651&v=4
+ url: https://github.com/tiangolo
+- login: sehraramiz
+ count: 11
+ avatarUrl: https://avatars.githubusercontent.com/u/14166324?u=8fac65e84dfff24245d304a5b5b09f7b5bd69dc9&v=4
+ url: https://github.com/sehraramiz
+- login: ceb10n
+ count: 10
+ avatarUrl: https://avatars.githubusercontent.com/u/235213?u=edcce471814a1eba9f0cdaa4cd0de18921a940a6&v=4
+ url: https://github.com/ceb10n
+- login: estebanx64
+ count: 7
+ avatarUrl: https://avatars.githubusercontent.com/u/10840422?u=45f015f95e1c0f06df602be4ab688d4b854cc8a8&v=4
+ url: https://github.com/estebanx64
+- login: yvallois
+ count: 6
+ avatarUrl: https://avatars.githubusercontent.com/u/36999744?v=4
+ url: https://github.com/yvallois
+- login: n8sty
+ count: 5
+ avatarUrl: https://avatars.githubusercontent.com/u/2964996?v=4
+ url: https://github.com/n8sty
+- login: TomFaulkner
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/14956620?v=4
+ url: https://github.com/TomFaulkner
+- login: yokwejuste
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/71908316?u=592c1e42aa0ee5cb94890e0b863e2acc78cc3bbc&v=4
+ url: https://github.com/yokwejuste
+- login: jgould22
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/4335847?u=ed77f67e0bb069084639b24d812dbb2a2b1dc554&v=4
+ url: https://github.com/jgould22
+- login: alv2017
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4
+ url: https://github.com/alv2017
+- login: viniciusCalcantara
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/108818737?u=3d7ffe5808843ee4372f9cc5a559ff1674cf1792&v=4
+ url: https://github.com/viniciusCalcantara
+- login: pawelad
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/7062874?u=d27dc220545a8401ad21840590a97d474d7101e6&v=4
+ url: https://github.com/pawelad
+- login: dbfreem
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/9778569?u=f2f1e9135b5e4f1b0c6821a548b17f97572720fc&v=4
+ url: https://github.com/dbfreem
+- login: Isuxiz
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/48672727?u=34d7b4ade252687d22a27cf53037b735b244bfc1&v=4
+ url: https://github.com/Isuxiz
+- login: bertomaniac
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/10235051?u=14484a96833228a7b29fee4a7916d411c242c4f6&v=4
+ url: https://github.com/bertomaniac
+- login: PhysicallyActive
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/160476156?u=7a8e44f4a43d3bba636f795bb7d9476c9233b4d8&v=4
+ url: https://github.com/PhysicallyActive
+- login: Minibrams
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/8108085?u=b028dbc308fa8485e0e2e9402b3d03d8deb22bf9&v=4
+ url: https://github.com/Minibrams
+- login: AIdjis
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/88404339?u=2a80d80b054e9228391e32fb9bb39571509dab6a&v=4
+ url: https://github.com/AIdjis
+- login: svlandeg
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/8796347?u=556c97650c27021911b0b9447ec55e75987b0e8a&v=4
+ url: https://github.com/svlandeg
+- login: Trinkes
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/9466879?v=4
+ url: https://github.com/Trinkes
+- login: PREPONDERANCE
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/112809059?u=30ab12dc9ddba2f94ab90e6ad4ad8bc5cfa7fccd&v=4
+ url: https://github.com/PREPONDERANCE
+- login: nbx3
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/34649527?u=943812f69e0d40adbd3fa1c9b8ef50dd971a2a45&v=4
+ url: https://github.com/nbx3
+- login: yanggeorge
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/2434407?v=4
+ url: https://github.com/yanggeorge
+- login: XiaoXinYo
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/56395004?u=b3b7cb758997f283c271a581833e407229dab82c&v=4
+ url: https://github.com/XiaoXinYo
+- login: pythonweb2
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/32141163?v=4
+ url: https://github.com/pythonweb2
+- login: slafs
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/210173?v=4
+ url: https://github.com/slafs
+- login: AmirHmZz
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/38752106?u=07f80e451bda00a9492bbc764e49d24ad3ada8cc&v=4
+ url: https://github.com/AmirHmZz
+- login: iloveitaly
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/150855?v=4
+ url: https://github.com/iloveitaly
+- login: LincolnPuzey
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/18750802?v=4
+ url: https://github.com/LincolnPuzey
+- login: alejsdev
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/90076947?u=356f39ff3f0211c720b06d3dbb060e98884085e3&v=4
+ url: https://github.com/alejsdev
+- login: Knighthawk-Leo
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/72437494?u=27c68db94a3107b605e603cc136f4ba83f0106d5&v=4
+ url: https://github.com/Knighthawk-Leo
+- login: gelezo43
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/40732698?u=611f39d3c1d2f4207a590937a78c1f10eed6232c&v=4
+ url: https://github.com/gelezo43
+- login: christiansicari
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/29756552?v=4
+ url: https://github.com/christiansicari
+- login: 1001pepi
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/82064861?u=8c6ffdf2275d6970a07294752c545cd2702c57d3&v=4
+ url: https://github.com/1001pepi
+- login: AliYmn
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/18416653?u=98c1fca46c7e4dabe8c39d17b5e55d1511d41cf9&v=4
+ url: https://github.com/AliYmn
+- login: RichieB2B
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/1461970?u=edaa57d1077705244ea5c9244f4783d94ff11f12&v=4
+ url: https://github.com/RichieB2B
+- login: Synrom
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/30272537?v=4
+ url: https://github.com/Synrom
+- login: ecly
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/8410422?v=4
+ url: https://github.com/ecly
+- login: iiotsrc
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/131771119?u=bcaf2559ef6266af70b151b7fda31a1ee3dbecb3&v=4
+ url: https://github.com/iiotsrc
+- login: simondale00
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/33907262?u=2721fb37014d50daf473267c808aa678ecaefe09&v=4
+ url: https://github.com/simondale00
+- login: jd-solanki
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/47495003?u=6e225cb42c688d0cd70e65c6baedb9f5922b1178&v=4
+ url: https://github.com/jd-solanki
+- login: AumGupta
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/86357151?u=7d05aa606c0611a18f4db16cf26361ce10a6e195&v=4
+ url: https://github.com/AumGupta
+- login: DeoLeung
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/3764720?u=4c222ef513814de4c7fb3736d0a7adf11d953d43&v=4
+ url: https://github.com/DeoLeung
+- login: Reemyos
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/44867003?v=4
+ url: https://github.com/Reemyos
+- login: deight93
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/37678115?u=a608798b5bd0034183a9c430ebb42fb266db86ce&v=4
+ url: https://github.com/deight93
+- login: Jkrox
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/83181939?u=d6a922d97129f7f3916d6a1c166bc011b3a72b7f&v=4
+ url: https://github.com/Jkrox
+- login: mmzeynalli
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/33568903?u=19efd0c0722730b83a70b7c86c36e5b7d83e07d2&v=4
+ url: https://github.com/mmzeynalli
+- login: ddahan
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/1933516?u=1d200a620e8d6841df017e9f2bb7efb58b580f40&v=4
+ url: https://github.com/ddahan
+- login: jfeaver
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/1091338?u=0bcba366447d8fadad63f6705a52d128da4c7ec2&v=4
+ url: https://github.com/jfeaver
+- login: Wurstnase
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/8709415?u=f479af475a97aee9a1dab302cfc35d07e9ea245f&v=4
+ url: https://github.com/Wurstnase
+- login: tristan
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/1412?u=aab8aaa4cc0f1210ac45fc93873a5909d314c965&v=4
+ url: https://github.com/tristan
+- login: chandanch
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/8663552?u=afc484bc0a952c83f1fb6a1583cda443f807cd66&v=4
+ url: https://github.com/chandanch
+- login: rvishruth
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/79176273?v=4
+ url: https://github.com/rvishruth
+- login: mattmess1221
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/3409962?u=723662989f2027755e67d200137c13c53ae154ac&v=4
+ url: https://github.com/mattmess1221
+one_year_experts:
+- login: YuriiMotov
+ count: 223
+ avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
+ url: https://github.com/YuriiMotov
+- login: Kludex
+ count: 81
+ avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=df8a3f06ba8f55ae1967a3e2d5ed882903a4e330&v=4
+ url: https://github.com/Kludex
+- login: JavierSanchezCastro
+ count: 47
+ avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
+ url: https://github.com/JavierSanchezCastro
+- login: jgould22
+ count: 42
+ avatarUrl: https://avatars.githubusercontent.com/u/4335847?u=ed77f67e0bb069084639b24d812dbb2a2b1dc554&v=4
+ url: https://github.com/jgould22
+- login: sinisaos
+ count: 39
+ avatarUrl: https://avatars.githubusercontent.com/u/30960668?v=4
+ url: https://github.com/sinisaos
+- login: luzzodev
+ count: 37
+ avatarUrl: https://avatars.githubusercontent.com/u/27291415?v=4
+ url: https://github.com/luzzodev
+- login: tiangolo
+ count: 24
+ avatarUrl: https://avatars.githubusercontent.com/u/1326112?u=cb5d06e73a9e1998141b1641aa88e443c6717651&v=4
+ url: https://github.com/tiangolo
+- login: n8sty
+ count: 23
+ avatarUrl: https://avatars.githubusercontent.com/u/2964996?v=4
+ url: https://github.com/n8sty
+- login: estebanx64
+ count: 19
+ avatarUrl: https://avatars.githubusercontent.com/u/10840422?u=45f015f95e1c0f06df602be4ab688d4b854cc8a8&v=4
+ url: https://github.com/estebanx64
+- login: ceb10n
+ count: 15
+ avatarUrl: https://avatars.githubusercontent.com/u/235213?u=edcce471814a1eba9f0cdaa4cd0de18921a940a6&v=4
+ url: https://github.com/ceb10n
+- login: sehraramiz
+ count: 15
+ avatarUrl: https://avatars.githubusercontent.com/u/14166324?u=8fac65e84dfff24245d304a5b5b09f7b5bd69dc9&v=4
+ url: https://github.com/sehraramiz
+- login: PhysicallyActive
+ count: 14
+ avatarUrl: https://avatars.githubusercontent.com/u/160476156?u=7a8e44f4a43d3bba636f795bb7d9476c9233b4d8&v=4
+ url: https://github.com/PhysicallyActive
+- login: Kfir-G
+ count: 13
+ avatarUrl: https://avatars.githubusercontent.com/u/57500876?u=0cd29db046a17f12f382d398141319fca7ff230a&v=4
+ url: https://github.com/Kfir-G
+- login: mattmess1221
+ count: 11
+ avatarUrl: https://avatars.githubusercontent.com/u/3409962?u=723662989f2027755e67d200137c13c53ae154ac&v=4
+ url: https://github.com/mattmess1221
+- login: hasansezertasan
+ count: 10
+ avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4
+ url: https://github.com/hasansezertasan
+- login: AIdjis
+ count: 8
+ avatarUrl: https://avatars.githubusercontent.com/u/88404339?u=2a80d80b054e9228391e32fb9bb39571509dab6a&v=4
+ url: https://github.com/AIdjis
+- login: yvallois
+ count: 6
+ avatarUrl: https://avatars.githubusercontent.com/u/36999744?v=4
+ url: https://github.com/yvallois
+- login: PREPONDERANCE
+ count: 5
+ avatarUrl: https://avatars.githubusercontent.com/u/112809059?u=30ab12dc9ddba2f94ab90e6ad4ad8bc5cfa7fccd&v=4
+ url: https://github.com/PREPONDERANCE
+- login: pythonweb2
+ count: 5
+ avatarUrl: https://avatars.githubusercontent.com/u/32141163?v=4
+ url: https://github.com/pythonweb2
+- login: acidjunk
+ count: 5
+ avatarUrl: https://avatars.githubusercontent.com/u/685002?u=b5094ab4527fc84b006c0ac9ff54367bdebb2267&v=4
+ url: https://github.com/acidjunk
+- login: gustavosett
+ count: 5
+ avatarUrl: https://avatars.githubusercontent.com/u/99373133?u=1739ca547c3d200f1b72450520bce46a97aab184&v=4
+ url: https://github.com/gustavosett
+- login: binbjz
+ count: 5
+ avatarUrl: https://avatars.githubusercontent.com/u/8213913?u=22b68b7a0d5bf5e09c02084c0f5f53d7503114cd&v=4
+ url: https://github.com/binbjz
+- login: chyok
+ count: 5
+ avatarUrl: https://avatars.githubusercontent.com/u/32629225?u=3b7c30e8a09426a1b9284f6e8a0ae53a525596bf&v=4
+ url: https://github.com/chyok
+- login: TomFaulkner
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/14956620?v=4
+ url: https://github.com/TomFaulkner
+- login: yokwejuste
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/71908316?u=592c1e42aa0ee5cb94890e0b863e2acc78cc3bbc&v=4
+ url: https://github.com/yokwejuste
+- login: DeoLeung
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/3764720?u=4c222ef513814de4c7fb3736d0a7adf11d953d43&v=4
+ url: https://github.com/DeoLeung
- login: flo-at
count: 4
avatarUrl: https://avatars.githubusercontent.com/u/564288?v=4
url: https://github.com/flo-at
-- login: yinziyan1206
+- login: GodMoonGoodman
count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/37829370?u=da44ca53aefd5c23f346fab8e9fd2e108294c179&v=4
- url: https://github.com/yinziyan1206
-- login: amacfie
+ avatarUrl: https://avatars.githubusercontent.com/u/29688727?u=7b251da620d999644c37c1feeb292d033eed7ad6&v=4
+ url: https://github.com/GodMoonGoodman
+- login: bertomaniac
count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/889657?u=d70187989940b085bcbfa3bedad8dbc5f3ab1fe7&v=4
- url: https://github.com/amacfie
-- login: commonism
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/164513?v=4
- url: https://github.com/commonism
-- login: dmontagu
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/35119617?u=540f30c937a6450812628b9592a1dfe91bbe148e&v=4
- url: https://github.com/dmontagu
-- login: sanzoghenzo
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/977953?v=4
- url: https://github.com/sanzoghenzo
-- login: lucasgadams
+ avatarUrl: https://avatars.githubusercontent.com/u/10235051?u=14484a96833228a7b29fee4a7916d411c242c4f6&v=4
+ url: https://github.com/bertomaniac
+- login: alv2017
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/36425095?v=4
- url: https://github.com/lucasgadams
-- login: NeilBotelho
+ avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4
+ url: https://github.com/alv2017
+- login: msehnout
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/39030675?u=16fea2ff90a5c67b974744528a38832a6d1bb4f7&v=4
- url: https://github.com/NeilBotelho
-- login: hhartzer
+ avatarUrl: https://avatars.githubusercontent.com/u/9369632?u=8c988f1b008a3f601385a3616f9327820f66e3a5&v=4
+ url: https://github.com/msehnout
+- login: viniciusCalcantara
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/100533792?v=4
- url: https://github.com/hhartzer
-- login: binbjz
+ avatarUrl: https://avatars.githubusercontent.com/u/108818737?u=3d7ffe5808843ee4372f9cc5a559ff1674cf1792&v=4
+ url: https://github.com/viniciusCalcantara
+- login: pawelad
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/8213913?u=22b68b7a0d5bf5e09c02084c0f5f53d7503114cd&v=4
- url: https://github.com/binbjz
-- login: PREPONDERANCE
+ avatarUrl: https://avatars.githubusercontent.com/u/7062874?u=d27dc220545a8401ad21840590a97d474d7101e6&v=4
+ url: https://github.com/pawelad
+- login: ThirVondukr
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/112809059?u=30ab12dc9ddba2f94ab90e6ad4ad8bc5cfa7fccd&v=4
- url: https://github.com/PREPONDERANCE
-- login: nameer
+ avatarUrl: https://avatars.githubusercontent.com/u/50728601?u=167c0bd655e52817082e50979a86d2f98f95b1a3&v=4
+ url: https://github.com/ThirVondukr
+- login: dbfreem
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/3931725?u=6199fb065df098fc13ac0a5e649f89672b586732&v=4
- url: https://github.com/nameer
+ avatarUrl: https://avatars.githubusercontent.com/u/9778569?u=f2f1e9135b5e4f1b0c6821a548b17f97572720fc&v=4
+ url: https://github.com/dbfreem
+- login: Isuxiz
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/48672727?u=34d7b4ade252687d22a27cf53037b735b244bfc1&v=4
+ url: https://github.com/Isuxiz
- login: angely-dev
count: 3
avatarUrl: https://avatars.githubusercontent.com/u/4362224?v=4
url: https://github.com/angely-dev
-- login: fmelihh
+- login: deight93
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/99879453?u=671117dba9022db2237e3da7a39cbc2efc838db0&v=4
- url: https://github.com/fmelihh
+ avatarUrl: https://avatars.githubusercontent.com/u/37678115?u=a608798b5bd0034183a9c430ebb42fb266db86ce&v=4
+ url: https://github.com/deight93
+- login: mmzeynalli
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/33568903?u=19efd0c0722730b83a70b7c86c36e5b7d83e07d2&v=4
+ url: https://github.com/mmzeynalli
+- login: Minibrams
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/8108085?u=b028dbc308fa8485e0e2e9402b3d03d8deb22bf9&v=4
+ url: https://github.com/Minibrams
- login: ryanisn
count: 3
avatarUrl: https://avatars.githubusercontent.com/u/53449841?v=4
url: https://github.com/ryanisn
-- login: theobouwman
+- login: svlandeg
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/16098190?u=dc70db88a7a99b764c9a89a6e471e0b7ca478a35&v=4
- url: https://github.com/theobouwman
-- login: methane
+ avatarUrl: https://avatars.githubusercontent.com/u/8796347?u=556c97650c27021911b0b9447ec55e75987b0e8a&v=4
+ url: https://github.com/svlandeg
+- login: alexandercronin
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/199592?v=4
- url: https://github.com/methane
-top_contributors:
-- login: nilslindemann
- count: 130
- avatarUrl: https://avatars.githubusercontent.com/u/6892179?u=1dca6a22195d6cd1ab20737c0e19a4c55d639472&v=4
- url: https://github.com/nilslindemann
-- login: jaystone776
- count: 49
- avatarUrl: https://avatars.githubusercontent.com/u/11191137?u=299205a95e9b6817a43144a48b643346a5aac5cc&v=4
- url: https://github.com/jaystone776
-- login: waynerv
- count: 25
- avatarUrl: https://avatars.githubusercontent.com/u/39515546?u=ec35139777597cdbbbddda29bf8b9d4396b429a9&v=4
- url: https://github.com/waynerv
-- login: tokusumi
- count: 24
- avatarUrl: https://avatars.githubusercontent.com/u/41147016?u=55010621aece725aa702270b54fed829b6a1fe60&v=4
- url: https://github.com/tokusumi
-- login: SwftAlpc
- count: 23
- avatarUrl: https://avatars.githubusercontent.com/u/52768429?u=6a3aa15277406520ad37f6236e89466ed44bc5b8&v=4
- url: https://github.com/SwftAlpc
-- login: Kludex
- count: 22
- avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=62adc405ef418f4b6c8caa93d3eb8ab107bc4927&v=4
- url: https://github.com/Kludex
-- login: hasansezertasan
- count: 22
- avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4
- url: https://github.com/hasansezertasan
-- login: dmontagu
- count: 17
- avatarUrl: https://avatars.githubusercontent.com/u/35119617?u=540f30c937a6450812628b9592a1dfe91bbe148e&v=4
- url: https://github.com/dmontagu
-- login: Xewus
- count: 14
- avatarUrl: https://avatars.githubusercontent.com/u/85196001?u=f8e2dc7e5104f109cef944af79050ea8d1b8f914&v=4
- url: https://github.com/Xewus
-- login: euri10
- count: 13
- avatarUrl: https://avatars.githubusercontent.com/u/1104190?u=321a2e953e6645a7d09b732786c7a8061e0f8a8b&v=4
- url: https://github.com/euri10
-- login: mariacamilagl
- count: 12
- avatarUrl: https://avatars.githubusercontent.com/u/11489395?u=4adb6986bf3debfc2b8216ae701f2bd47d73da7d&v=4
- url: https://github.com/mariacamilagl
-- login: AlertRED
- count: 12
- avatarUrl: https://avatars.githubusercontent.com/u/15695000?u=f5a4944c6df443030409c88da7d7fa0b7ead985c&v=4
- url: https://github.com/AlertRED
-- login: Smlep
- count: 11
- avatarUrl: https://avatars.githubusercontent.com/u/16785985?v=4
- url: https://github.com/Smlep
-- login: alejsdev
- count: 11
- avatarUrl: https://avatars.githubusercontent.com/u/90076947?u=9ca449ad5161af12766ddd1a22988e9b14315f5c&v=4
- url: https://github.com/alejsdev
-- login: hard-coders
- count: 10
- avatarUrl: https://avatars.githubusercontent.com/u/9651103?u=95db33927bbff1ed1c07efddeb97ac2ff33068ed&v=4
- url: https://github.com/hard-coders
-- login: KaniKim
- count: 10
- avatarUrl: https://avatars.githubusercontent.com/u/19832624?u=40f8f7f3f36d5f2365ba2ad0b40693e60958ce70&v=4
- url: https://github.com/KaniKim
-- login: xzmeng
- count: 9
- avatarUrl: https://avatars.githubusercontent.com/u/40202897?v=4
- url: https://github.com/xzmeng
-- login: Serrones
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/22691749?u=4795b880e13ca33a73e52fc0ef7dc9c60c8fce47&v=4
- url: https://github.com/Serrones
-- login: rjNemo
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/56785022?u=d5c3a02567c8649e146fcfc51b6060ccaf8adef8&v=4
- url: https://github.com/rjNemo
-- login: pablocm83
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/28315068?u=3310fbb05bb8bfc50d2c48b6cb64ac9ee4a14549&v=4
- url: https://github.com/pablocm83
-- login: RunningIkkyu
- count: 7
- avatarUrl: https://avatars.githubusercontent.com/u/31848542?u=494ecc298e3f26197495bb357ad0f57cfd5f7a32&v=4
- url: https://github.com/RunningIkkyu
-- login: Alexandrhub
- count: 7
- avatarUrl: https://avatars.githubusercontent.com/u/119126536?u=9fc0d48f3307817bafecc5861eb2168401a6cb04&v=4
- url: https://github.com/Alexandrhub
-- login: NinaHwang
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/79563565?u=eee6bfe9224c71193025ab7477f4f96ceaa05c62&v=4
- url: https://github.com/NinaHwang
-- login: batlopes
- count: 6
- avatarUrl: https://avatars.githubusercontent.com/u/33462923?u=0fb3d7acb316764616f11e4947faf080e49ad8d9&v=4
- url: https://github.com/batlopes
-- login: wshayes
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/365303?u=07ca03c5ee811eb0920e633cc3c3db73dbec1aa5&v=4
- url: https://github.com/wshayes
-- login: samuelcolvin
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/4039449?u=42eb3b833047c8c4b4f647a031eaef148c16d93f&v=4
- url: https://github.com/samuelcolvin
-- login: Attsun1031
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/1175560?v=4
- url: https://github.com/Attsun1031
-- login: ComicShrimp
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/43503750?u=d2fbf412e7730183ce91686ca48d4147e1b7dc74&v=4
- url: https://github.com/ComicShrimp
-- login: rostik1410
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/11443899?u=e26a635c2ba220467b308a326a579b8ccf4a8701&v=4
- url: https://github.com/rostik1410
-- login: tamtam-fitness
- count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/62091034?u=8da19a6bd3d02f5d6ba30c7247d5b46c98dd1403&v=4
- url: https://github.com/tamtam-fitness
-- login: jekirl
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/2546697?u=a027452387d85bd4a14834e19d716c99255fb3b7&v=4
- url: https://github.com/jekirl
-- login: jfunez
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/805749?v=4
- url: https://github.com/jfunez
-- login: ycd
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/62724709?u=29682e4b6ac7d5293742ccf818188394b9a82972&v=4
- url: https://github.com/ycd
-- login: komtaki
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/39375566?u=260ad6b1a4b34c07dbfa728da5e586f16f6d1824&v=4
- url: https://github.com/komtaki
-- login: hitrust
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/3360631?u=5fa1f475ad784d64eb9666bdd43cc4d285dcc773&v=4
- url: https://github.com/hitrust
-- login: JulianMaurin
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/63545168?u=b7d15ac865268cbefc2d739e2f23d9aeeac1a622&v=4
- url: https://github.com/JulianMaurin
-- login: lsglucas
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/61513630?u=320e43fe4dc7bc6efc64e9b8f325f8075634fd20&v=4
- url: https://github.com/lsglucas
-- login: BilalAlpaslan
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/47563997?u=63ed66e304fe8d765762c70587d61d9196e5c82d&v=4
- url: https://github.com/BilalAlpaslan
-- login: adriangb
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/1755071?u=612704256e38d6ac9cbed24f10e4b6ac2da74ecb&v=4
- url: https://github.com/adriangb
-- login: iudeen
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/10519440?u=2843b3303282bff8b212dcd4d9d6689452e4470c&v=4
- url: https://github.com/iudeen
-- login: axel584
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/1334088?u=9667041f5b15dc002b6f9665fda8c0412933ac04&v=4
- url: https://github.com/axel584
-- login: ivan-abc
- count: 4
- avatarUrl: https://avatars.githubusercontent.com/u/36765187?u=c6e0ba571c1ccb6db9d94e62e4b8b5eda811a870&v=4
- url: https://github.com/ivan-abc
-- login: divums
+ avatarUrl: https://avatars.githubusercontent.com/u/8014288?u=69580504c51a0cdd756fc47b23bb7f404bd694e7&v=4
+ url: https://github.com/alexandercronin
+- login: aanchlia
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/1397556?v=4
- url: https://github.com/divums
-- login: prostomarkeloff
+ avatarUrl: https://avatars.githubusercontent.com/u/2835374?u=3c3ed29aa8b09ccaf8d66def0ce82bc2f7e5aab6&v=4
+ url: https://github.com/aanchlia
+- login: chrisK824
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/28061158?u=72309cc1f2e04e40fa38b29969cb4e9d3f722e7b&v=4
- url: https://github.com/prostomarkeloff
-- login: nsidnev
+ avatarUrl: https://avatars.githubusercontent.com/u/79946379?u=03d85b22d696a58a9603e55fbbbe2de6b0f4face&v=4
+ url: https://github.com/chrisK824
+- login: omarcruzpantoja
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/22559461?u=a9cc3238217e21dc8796a1a500f01b722adb082c&v=4
- url: https://github.com/nsidnev
-- login: pawamoy
+ avatarUrl: https://avatars.githubusercontent.com/u/15116058?u=4b64c643fad49225d854e1aaecd1ffc6f9071a1b&v=4
+ url: https://github.com/omarcruzpantoja
+- login: ahmedabdou14
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/3999221?u=b030e4c89df2f3a36bc4710b925bdeb6745c9856&v=4
- url: https://github.com/pawamoy
-top_reviewers:
-- login: Kludex
- count: 158
- avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=62adc405ef418f4b6c8caa93d3eb8ab107bc4927&v=4
- url: https://github.com/Kludex
-- login: BilalAlpaslan
- count: 86
- avatarUrl: https://avatars.githubusercontent.com/u/47563997?u=63ed66e304fe8d765762c70587d61d9196e5c82d&v=4
- url: https://github.com/BilalAlpaslan
-- login: yezz123
- count: 85
- avatarUrl: https://avatars.githubusercontent.com/u/52716203?u=d7062cbc6eb7671d5dc9cc0e32a24ae335e0f225&v=4
- url: https://github.com/yezz123
-- login: iudeen
- count: 55
- avatarUrl: https://avatars.githubusercontent.com/u/10519440?u=2843b3303282bff8b212dcd4d9d6689452e4470c&v=4
- url: https://github.com/iudeen
-- login: tokusumi
- count: 51
- avatarUrl: https://avatars.githubusercontent.com/u/41147016?u=55010621aece725aa702270b54fed829b6a1fe60&v=4
- url: https://github.com/tokusumi
-- login: Xewus
- count: 50
- avatarUrl: https://avatars.githubusercontent.com/u/85196001?u=f8e2dc7e5104f109cef944af79050ea8d1b8f914&v=4
- url: https://github.com/Xewus
-- login: hasansezertasan
- count: 50
- avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4
- url: https://github.com/hasansezertasan
-- login: waynerv
- count: 47
- avatarUrl: https://avatars.githubusercontent.com/u/39515546?u=ec35139777597cdbbbddda29bf8b9d4396b429a9&v=4
- url: https://github.com/waynerv
-- login: Laineyzhang55
- count: 47
- avatarUrl: https://avatars.githubusercontent.com/u/59285379?v=4
- url: https://github.com/Laineyzhang55
-- login: ycd
- count: 45
- avatarUrl: https://avatars.githubusercontent.com/u/62724709?u=29682e4b6ac7d5293742ccf818188394b9a82972&v=4
- url: https://github.com/ycd
-- login: cikay
- count: 41
- avatarUrl: https://avatars.githubusercontent.com/u/24587499?u=e772190a051ab0eaa9c8542fcff1892471638f2b&v=4
- url: https://github.com/cikay
-- login: alejsdev
- count: 38
- avatarUrl: https://avatars.githubusercontent.com/u/90076947?u=9ca449ad5161af12766ddd1a22988e9b14315f5c&v=4
- url: https://github.com/alejsdev
-- login: JarroVGIT
- count: 34
- avatarUrl: https://avatars.githubusercontent.com/u/13659033?u=e8bea32d07a5ef72f7dde3b2079ceb714923ca05&v=4
- url: https://github.com/JarroVGIT
-- login: AdrianDeAnda
- count: 33
- avatarUrl: https://avatars.githubusercontent.com/u/1024932?u=b2ea249c6b41ddf98679c8d110d0f67d4a3ebf93&v=4
- url: https://github.com/AdrianDeAnda
-- login: ArcLightSlavik
- count: 31
- avatarUrl: https://avatars.githubusercontent.com/u/31127044?u=b0f2c37142f4b762e41ad65dc49581813422bd71&v=4
- url: https://github.com/ArcLightSlavik
-- login: cassiobotaro
- count: 28
- avatarUrl: https://avatars.githubusercontent.com/u/3127847?u=a08022b191ddbd0a6159b2981d9d878b6d5bb71f&v=4
- url: https://github.com/cassiobotaro
-- login: lsglucas
- count: 27
- avatarUrl: https://avatars.githubusercontent.com/u/61513630?u=320e43fe4dc7bc6efc64e9b8f325f8075634fd20&v=4
- url: https://github.com/lsglucas
-- login: komtaki
- count: 27
- avatarUrl: https://avatars.githubusercontent.com/u/39375566?u=260ad6b1a4b34c07dbfa728da5e586f16f6d1824&v=4
- url: https://github.com/komtaki
-- login: YuriiMotov
- count: 25
- avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4
- url: https://github.com/YuriiMotov
-- login: Ryandaydev
- count: 25
- avatarUrl: https://avatars.githubusercontent.com/u/4292423?u=48f68868db8886fce31a1d802c1003914c6cd7c6&v=4
- url: https://github.com/Ryandaydev
-- login: LorhanSohaky
- count: 24
- avatarUrl: https://avatars.githubusercontent.com/u/16273730?u=095b66f243a2cd6a0aadba9a095009f8aaf18393&v=4
- url: https://github.com/LorhanSohaky
-- login: dmontagu
- count: 23
- avatarUrl: https://avatars.githubusercontent.com/u/35119617?u=540f30c937a6450812628b9592a1dfe91bbe148e&v=4
- url: https://github.com/dmontagu
-- login: nilslindemann
- count: 23
- avatarUrl: https://avatars.githubusercontent.com/u/6892179?u=1dca6a22195d6cd1ab20737c0e19a4c55d639472&v=4
- url: https://github.com/nilslindemann
-- login: hard-coders
- count: 23
- avatarUrl: https://avatars.githubusercontent.com/u/9651103?u=95db33927bbff1ed1c07efddeb97ac2ff33068ed&v=4
- url: https://github.com/hard-coders
-- login: rjNemo
- count: 21
- avatarUrl: https://avatars.githubusercontent.com/u/56785022?u=d5c3a02567c8649e146fcfc51b6060ccaf8adef8&v=4
- url: https://github.com/rjNemo
-- login: odiseo0
- count: 20
- avatarUrl: https://avatars.githubusercontent.com/u/87550035?u=241a71f6b7068738b81af3e57f45ffd723538401&v=4
- url: https://github.com/odiseo0
-- login: 0417taehyun
- count: 19
- avatarUrl: https://avatars.githubusercontent.com/u/63915557?u=47debaa860fd52c9b98c97ef357ddcec3b3fb399&v=4
- url: https://github.com/0417taehyun
-- login: JavierSanchezCastro
- count: 19
- avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
- url: https://github.com/JavierSanchezCastro
-- login: Smlep
- count: 17
- avatarUrl: https://avatars.githubusercontent.com/u/16785985?v=4
- url: https://github.com/Smlep
-- login: zy7y
- count: 17
- avatarUrl: https://avatars.githubusercontent.com/u/67154681?u=5d634834cc514028ea3f9115f7030b99a1f4d5a4&v=4
- url: https://github.com/zy7y
-- login: junah201
- count: 17
- avatarUrl: https://avatars.githubusercontent.com/u/75025529?u=2451c256e888fa2a06bcfc0646d09b87ddb6a945&v=4
- url: https://github.com/junah201
-- login: peidrao
- count: 17
- avatarUrl: https://avatars.githubusercontent.com/u/32584628?u=a66902b40c13647d0ed0e573d598128240a4dd04&v=4
- url: https://github.com/peidrao
-- login: yanever
- count: 16
- avatarUrl: https://avatars.githubusercontent.com/u/21978760?v=4
- url: https://github.com/yanever
-- login: SwftAlpc
- count: 16
- avatarUrl: https://avatars.githubusercontent.com/u/52768429?u=6a3aa15277406520ad37f6236e89466ed44bc5b8&v=4
- url: https://github.com/SwftAlpc
-- login: axel584
- count: 16
- avatarUrl: https://avatars.githubusercontent.com/u/1334088?u=9667041f5b15dc002b6f9665fda8c0412933ac04&v=4
- url: https://github.com/axel584
-- login: codespearhead
- count: 16
- avatarUrl: https://avatars.githubusercontent.com/u/72931357?u=0fce6b82219b604d58adb614a761556425579cb5&v=4
- url: https://github.com/codespearhead
-- login: Alexandrhub
- count: 16
- avatarUrl: https://avatars.githubusercontent.com/u/119126536?u=9fc0d48f3307817bafecc5861eb2168401a6cb04&v=4
- url: https://github.com/Alexandrhub
-- login: DevDae
- count: 16
- avatarUrl: https://avatars.githubusercontent.com/u/87962045?u=08e10fa516e844934f4b3fc7c38b33c61697e4a1&v=4
- url: https://github.com/DevDae
-- login: Aruelius
- count: 16
- avatarUrl: https://avatars.githubusercontent.com/u/25380989?u=574f8cfcda3ea77a3f81884f6b26a97068e36a9d&v=4
- url: https://github.com/Aruelius
-- login: OzgunCaglarArslan
- count: 16
- avatarUrl: https://avatars.githubusercontent.com/u/86166426?v=4
- url: https://github.com/OzgunCaglarArslan
-- login: pedabraham
- count: 15
- avatarUrl: https://avatars.githubusercontent.com/u/16860088?u=abf922a7b920bf8fdb7867d8b43e091f1e796178&v=4
- url: https://github.com/pedabraham
-- login: delhi09
- count: 15
- avatarUrl: https://avatars.githubusercontent.com/u/63476957?u=6c86e59b48e0394d4db230f37fc9ad4d7e2c27c7&v=4
- url: https://github.com/delhi09
-- login: wdh99
- count: 14
- avatarUrl: https://avatars.githubusercontent.com/u/108172295?u=8a8fb95d5afe3e0fa33257b2aecae88d436249eb&v=4
- url: https://github.com/wdh99
-- login: sh0nk
- count: 13
- avatarUrl: https://avatars.githubusercontent.com/u/6478810?u=af15d724875cec682ed8088a86d36b2798f981c0&v=4
- url: https://github.com/sh0nk
-- login: r0b2g1t
- count: 13
- avatarUrl: https://avatars.githubusercontent.com/u/5357541?u=6428442d875d5d71aaa1bb38bb11c4be1a526bc2&v=4
- url: https://github.com/r0b2g1t
-- login: RunningIkkyu
- count: 12
- avatarUrl: https://avatars.githubusercontent.com/u/31848542?u=494ecc298e3f26197495bb357ad0f57cfd5f7a32&v=4
- url: https://github.com/RunningIkkyu
-- login: ivan-abc
- count: 12
- avatarUrl: https://avatars.githubusercontent.com/u/36765187?u=c6e0ba571c1ccb6db9d94e62e4b8b5eda811a870&v=4
- url: https://github.com/ivan-abc
-- login: AlertRED
- count: 12
- avatarUrl: https://avatars.githubusercontent.com/u/15695000?u=f5a4944c6df443030409c88da7d7fa0b7ead985c&v=4
- url: https://github.com/AlertRED
-- login: solomein-sv
- count: 11
- avatarUrl: https://avatars.githubusercontent.com/u/46193920?u=789927ee09cfabd752d3bd554fa6baf4850d2777&v=4
- url: https://github.com/solomein-sv
-top_translations_reviewers:
-- login: s111d
- count: 146
- avatarUrl: https://avatars.githubusercontent.com/u/4954856?v=4
- url: https://github.com/s111d
-- login: Xewus
- count: 128
- avatarUrl: https://avatars.githubusercontent.com/u/85196001?u=f8e2dc7e5104f109cef944af79050ea8d1b8f914&v=4
- url: https://github.com/Xewus
-- login: tokusumi
- count: 104
- avatarUrl: https://avatars.githubusercontent.com/u/41147016?u=55010621aece725aa702270b54fed829b6a1fe60&v=4
- url: https://github.com/tokusumi
-- login: hasansezertasan
- count: 91
- avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4
- url: https://github.com/hasansezertasan
-- login: AlertRED
- count: 70
- avatarUrl: https://avatars.githubusercontent.com/u/15695000?u=f5a4944c6df443030409c88da7d7fa0b7ead985c&v=4
- url: https://github.com/AlertRED
-- login: Alexandrhub
- count: 68
- avatarUrl: https://avatars.githubusercontent.com/u/119126536?u=9fc0d48f3307817bafecc5861eb2168401a6cb04&v=4
- url: https://github.com/Alexandrhub
-- login: waynerv
- count: 63
- avatarUrl: https://avatars.githubusercontent.com/u/39515546?u=ec35139777597cdbbbddda29bf8b9d4396b429a9&v=4
- url: https://github.com/waynerv
-- login: hard-coders
- count: 53
- avatarUrl: https://avatars.githubusercontent.com/u/9651103?u=95db33927bbff1ed1c07efddeb97ac2ff33068ed&v=4
- url: https://github.com/hard-coders
-- login: Laineyzhang55
- count: 48
- avatarUrl: https://avatars.githubusercontent.com/u/59285379?v=4
- url: https://github.com/Laineyzhang55
-- login: Kludex
- count: 46
- avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=62adc405ef418f4b6c8caa93d3eb8ab107bc4927&v=4
- url: https://github.com/Kludex
-- login: komtaki
- count: 45
- avatarUrl: https://avatars.githubusercontent.com/u/39375566?u=260ad6b1a4b34c07dbfa728da5e586f16f6d1824&v=4
- url: https://github.com/komtaki
-- login: alperiox
- count: 42
- avatarUrl: https://avatars.githubusercontent.com/u/34214152?u=2c5acad3461d4dbc2d48371ba86cac56ae9b25cc&v=4
- url: https://github.com/alperiox
-- login: Winand
- count: 40
- avatarUrl: https://avatars.githubusercontent.com/u/53390?u=bb0e71a2fc3910a8e0ee66da67c33de40ea695f8&v=4
- url: https://github.com/Winand
-- login: solomein-sv
- count: 38
- avatarUrl: https://avatars.githubusercontent.com/u/46193920?u=789927ee09cfabd752d3bd554fa6baf4850d2777&v=4
- url: https://github.com/solomein-sv
-- login: lsglucas
- count: 36
- avatarUrl: https://avatars.githubusercontent.com/u/61513630?u=320e43fe4dc7bc6efc64e9b8f325f8075634fd20&v=4
- url: https://github.com/lsglucas
-- login: SwftAlpc
- count: 36
- avatarUrl: https://avatars.githubusercontent.com/u/52768429?u=6a3aa15277406520ad37f6236e89466ed44bc5b8&v=4
- url: https://github.com/SwftAlpc
-- login: nilslindemann
- count: 35
- avatarUrl: https://avatars.githubusercontent.com/u/6892179?u=1dca6a22195d6cd1ab20737c0e19a4c55d639472&v=4
- url: https://github.com/nilslindemann
-- login: rjNemo
- count: 34
- avatarUrl: https://avatars.githubusercontent.com/u/56785022?u=d5c3a02567c8649e146fcfc51b6060ccaf8adef8&v=4
- url: https://github.com/rjNemo
-- login: akarev0
- count: 33
- avatarUrl: https://avatars.githubusercontent.com/u/53393089?u=6e528bb4789d56af887ce6fe237bea4010885406&v=4
- url: https://github.com/akarev0
-- login: romashevchenko
- count: 32
- avatarUrl: https://avatars.githubusercontent.com/u/132477732?v=4
- url: https://github.com/romashevchenko
-- login: wdh99
- count: 31
- avatarUrl: https://avatars.githubusercontent.com/u/108172295?u=8a8fb95d5afe3e0fa33257b2aecae88d436249eb&v=4
- url: https://github.com/wdh99
-- login: LorhanSohaky
- count: 30
- avatarUrl: https://avatars.githubusercontent.com/u/16273730?u=095b66f243a2cd6a0aadba9a095009f8aaf18393&v=4
- url: https://github.com/LorhanSohaky
-- login: cassiobotaro
- count: 29
- avatarUrl: https://avatars.githubusercontent.com/u/3127847?u=a08022b191ddbd0a6159b2981d9d878b6d5bb71f&v=4
- url: https://github.com/cassiobotaro
-- login: pedabraham
- count: 28
- avatarUrl: https://avatars.githubusercontent.com/u/16860088?u=abf922a7b920bf8fdb7867d8b43e091f1e796178&v=4
- url: https://github.com/pedabraham
-- login: Smlep
- count: 28
- avatarUrl: https://avatars.githubusercontent.com/u/16785985?v=4
- url: https://github.com/Smlep
-- login: dedkot01
- count: 28
- avatarUrl: https://avatars.githubusercontent.com/u/26196675?u=e2966887124e67932853df4f10f86cb526edc7b0&v=4
- url: https://github.com/dedkot01
-- login: hsuanchi
- count: 28
- avatarUrl: https://avatars.githubusercontent.com/u/24913710?u=0b094ae292292fee093818e37ceb645c114d2bff&v=4
- url: https://github.com/hsuanchi
-- login: dpinezich
- count: 28
- avatarUrl: https://avatars.githubusercontent.com/u/3204540?u=a2e1465e3ee10d537614d513589607eddefde09f&v=4
- url: https://github.com/dpinezich
-- login: maoyibo
- count: 27
- avatarUrl: https://avatars.githubusercontent.com/u/7887703?v=4
- url: https://github.com/maoyibo
-- login: 0417taehyun
- count: 27
- avatarUrl: https://avatars.githubusercontent.com/u/63915557?u=47debaa860fd52c9b98c97ef357ddcec3b3fb399&v=4
- url: https://github.com/0417taehyun
-- login: BilalAlpaslan
- count: 26
- avatarUrl: https://avatars.githubusercontent.com/u/47563997?u=63ed66e304fe8d765762c70587d61d9196e5c82d&v=4
- url: https://github.com/BilalAlpaslan
-- login: zy7y
- count: 25
- avatarUrl: https://avatars.githubusercontent.com/u/67154681?u=5d634834cc514028ea3f9115f7030b99a1f4d5a4&v=4
- url: https://github.com/zy7y
-- login: mycaule
- count: 25
- avatarUrl: https://avatars.githubusercontent.com/u/6161385?u=e3cec75bd6d938a0d73fae0dc5534d1ab2ed1b0e&v=4
- url: https://github.com/mycaule
-- login: sh0nk
- count: 23
- avatarUrl: https://avatars.githubusercontent.com/u/6478810?u=af15d724875cec682ed8088a86d36b2798f981c0&v=4
- url: https://github.com/sh0nk
-- login: axel584
- count: 23
- avatarUrl: https://avatars.githubusercontent.com/u/1334088?u=9667041f5b15dc002b6f9665fda8c0412933ac04&v=4
- url: https://github.com/axel584
-- login: AGolicyn
- count: 21
- avatarUrl: https://avatars.githubusercontent.com/u/86262613?u=3c21606ab8d210a061a1673decff1e7d5592b380&v=4
- url: https://github.com/AGolicyn
-- login: OzgunCaglarArslan
- count: 21
- avatarUrl: https://avatars.githubusercontent.com/u/86166426?v=4
- url: https://github.com/OzgunCaglarArslan
-- login: Attsun1031
- count: 20
- avatarUrl: https://avatars.githubusercontent.com/u/1175560?v=4
- url: https://github.com/Attsun1031
-- login: ycd
- count: 20
- avatarUrl: https://avatars.githubusercontent.com/u/62724709?u=29682e4b6ac7d5293742ccf818188394b9a82972&v=4
- url: https://github.com/ycd
-- login: delhi09
- count: 20
- avatarUrl: https://avatars.githubusercontent.com/u/63476957?u=6c86e59b48e0394d4db230f37fc9ad4d7e2c27c7&v=4
- url: https://github.com/delhi09
-- login: rogerbrinkmann
- count: 20
- avatarUrl: https://avatars.githubusercontent.com/u/5690226?v=4
- url: https://github.com/rogerbrinkmann
-- login: DevDae
- count: 20
- avatarUrl: https://avatars.githubusercontent.com/u/87962045?u=08e10fa516e844934f4b3fc7c38b33c61697e4a1&v=4
- url: https://github.com/DevDae
-- login: sattosan
- count: 19
- avatarUrl: https://avatars.githubusercontent.com/u/20574756?u=b0d8474d2938189c6954423ae8d81d91013f80a8&v=4
- url: https://github.com/sattosan
-- login: ComicShrimp
- count: 18
- avatarUrl: https://avatars.githubusercontent.com/u/43503750?u=d2fbf412e7730183ce91686ca48d4147e1b7dc74&v=4
- url: https://github.com/ComicShrimp
-- login: junah201
- count: 18
- avatarUrl: https://avatars.githubusercontent.com/u/75025529?u=2451c256e888fa2a06bcfc0646d09b87ddb6a945&v=4
- url: https://github.com/junah201
-- login: simatheone
- count: 18
- avatarUrl: https://avatars.githubusercontent.com/u/78508673?u=1b9658d9ee0bde33f56130dd52275493ddd38690&v=4
- url: https://github.com/simatheone
-- login: ivan-abc
- count: 18
- avatarUrl: https://avatars.githubusercontent.com/u/36765187?u=c6e0ba571c1ccb6db9d94e62e4b8b5eda811a870&v=4
- url: https://github.com/ivan-abc
-- login: JavierSanchezCastro
- count: 18
- avatarUrl: https://avatars.githubusercontent.com/u/72013291?u=ae5679e6bd971d9d98cd5e76e8683f83642ba950&v=4
- url: https://github.com/JavierSanchezCastro
-- login: bezaca
- count: 17
- avatarUrl: https://avatars.githubusercontent.com/u/69092910?u=4ac58eab99bd37d663f3d23551df96d4fbdbf760&v=4
- url: https://github.com/bezaca
+ avatarUrl: https://avatars.githubusercontent.com/u/104530599?u=d87b866e7c1db970d6f8e8031643818349b046d5&v=4
+ url: https://github.com/ahmedabdou14
+- login: Trinkes
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/9466879?v=4
+ url: https://github.com/Trinkes
+- login: Leon0824
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/1922026?v=4
+ url: https://github.com/Leon0824
+- login: CarlosOliveira-23
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/102637302?u=cf350a4db956f30cbb2c27d3be0d15c282e32b14&v=4
+ url: https://github.com/CarlosOliveira-23
+- login: nbx3
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/34649527?u=943812f69e0d40adbd3fa1c9b8ef50dd971a2a45&v=4
+ url: https://github.com/nbx3
+- login: yanggeorge
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/2434407?v=4
+ url: https://github.com/yanggeorge
+- login: XiaoXinYo
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/56395004?u=b3b7cb758997f283c271a581833e407229dab82c&v=4
+ url: https://github.com/XiaoXinYo
+- login: anantgupta129
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/66518357?u=6e25dcd84638f17d2c6df5dc26f07fd7c6dc118e&v=4
+ url: https://github.com/anantgupta129
+- login: slafs
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/210173?v=4
+ url: https://github.com/slafs
+- login: monchin
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/18521800?v=4
+ url: https://github.com/monchin
+- login: AmirHmZz
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/38752106?u=07f80e451bda00a9492bbc764e49d24ad3ada8cc&v=4
+ url: https://github.com/AmirHmZz
+- login: iloveitaly
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/150855?v=4
+ url: https://github.com/iloveitaly
+- login: msukmanowsky
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/362755?u=782e6bf5b9f0356c3f74b4d894fda9f179252086&v=4
+ url: https://github.com/msukmanowsky
+- login: shurshilov
+ count: 2
+ avatarUrl: https://avatars.githubusercontent.com/u/11828278?u=6bcadc5ce4f2f56a514331c9f68eb987d4afe29a&v=4
+ url: https://github.com/shurshilov
diff --git a/docs/en/data/sponsors.yml b/docs/en/data/sponsors.yml
index 4231452e4..91b23937c 100644
--- a/docs/en/data/sponsors.yml
+++ b/docs/en/data/sponsors.yml
@@ -48,6 +48,9 @@ silver:
- url: https://www.stainlessapi.com/?utm_source=fastapi&utm_medium=referral
title: Stainless | Generate best-in-class SDKs
img: https://fastapi.tiangolo.com/img/sponsors/stainless.png
+ - 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: https://fastapi.tiangolo.com/img/sponsors/permit.png
bronze:
- url: https://www.exoflare.com/open-source/?utm_source=FastAPI&utm_campaign=open_source
title: Biosecurity risk assessments made easy.
@@ -55,3 +58,6 @@ bronze:
- url: https://testdriven.io/courses/tdd-fastapi/
title: Learn to build high-quality web apps with best practices
img: https://fastapi.tiangolo.com/img/sponsors/testdriven.svg
+ - url: https://lambdatest.com/?utm_source=fastapi&utm_medium=partner&utm_campaign=sponsor&utm_term=opensource&utm_content=webpage
+ title: LambdaTest, AI-Powered Cloud-based Test Orchestration Platform
+ img: https://fastapi.tiangolo.com/img/sponsors/lambdatest.png
diff --git a/docs/en/data/sponsors_badge.yml b/docs/en/data/sponsors_badge.yml
index 3e885a2f7..d507a500f 100644
--- a/docs/en/data/sponsors_badge.yml
+++ b/docs/en/data/sponsors_badge.yml
@@ -29,7 +29,12 @@ logins:
- andrew-propelauth
- svix
- zuplo-oss
+ - zuplo
- Kong
- speakeasy-api
- jess-render
- blockbee-io
+ - liblaber
+ - render-sponsorships
+ - renderinc
+ - stainless-api
diff --git a/docs/en/data/topic_repos.yml b/docs/en/data/topic_repos.yml
index c1176e55c..302dc3bb5 100644
--- a/docs/en/data/topic_repos.yml
+++ b/docs/en/data/topic_repos.yml
@@ -1,495 +1,495 @@
- name: full-stack-fastapi-template
html_url: https://github.com/fastapi/full-stack-fastapi-template
- stars: 28796
+ stars: 29409
owner_login: fastapi
owner_html_url: https://github.com/fastapi
- name: Hello-Python
html_url: https://github.com/mouredev/Hello-Python
- stars: 27554
+ stars: 28113
owner_login: mouredev
owner_html_url: https://github.com/mouredev
- name: serve
html_url: https://github.com/jina-ai/serve
- stars: 21225
+ stars: 21264
owner_login: jina-ai
owner_html_url: https://github.com/jina-ai
- name: sqlmodel
html_url: https://github.com/fastapi/sqlmodel
- stars: 14921
+ stars: 15109
owner_login: fastapi
owner_html_url: https://github.com/fastapi
- name: HivisionIDPhotos
html_url: https://github.com/Zeyi-Lin/HivisionIDPhotos
- stars: 14025
+ stars: 14564
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: 10001
+ stars: 10701
owner_login: Evil0ctal
owner_html_url: https://github.com/Evil0ctal
- name: fastapi-best-practices
html_url: https://github.com/zhanymkanov/fastapi-best-practices
- stars: 9820
+ stars: 10180
owner_login: zhanymkanov
owner_html_url: https://github.com/zhanymkanov
- name: awesome-fastapi
html_url: https://github.com/mjhea0/awesome-fastapi
- stars: 8899
+ stars: 9061
owner_login: mjhea0
owner_html_url: https://github.com/mjhea0
- name: FastUI
html_url: https://github.com/pydantic/FastUI
- stars: 8400
+ stars: 8644
owner_login: pydantic
owner_html_url: https://github.com/pydantic
- name: nonebot2
html_url: https://github.com/nonebot/nonebot2
- stars: 6235
+ stars: 6312
owner_login: nonebot
owner_html_url: https://github.com/nonebot
- name: serge
html_url: https://github.com/serge-chat/serge
- stars: 5685
+ stars: 5686
owner_login: serge-chat
owner_html_url: https://github.com/serge-chat
-- name: fastapi-users
- html_url: https://github.com/fastapi-users/fastapi-users
- stars: 4787
- owner_login: fastapi-users
- owner_html_url: https://github.com/fastapi-users
- name: FileCodeBox
html_url: https://github.com/vastsa/FileCodeBox
- stars: 4479
+ stars: 4933
owner_login: vastsa
owner_html_url: https://github.com/vastsa
+- name: fastapi-users
+ html_url: https://github.com/fastapi-users/fastapi-users
+ stars: 4849
+ owner_login: fastapi-users
+ owner_html_url: https://github.com/fastapi-users
- name: hatchet
html_url: https://github.com/hatchet-dev/hatchet
- stars: 4413
+ stars: 4514
owner_login: hatchet-dev
owner_html_url: https://github.com/hatchet-dev
- name: chatgpt-web-share
html_url: https://github.com/chatpire/chatgpt-web-share
- stars: 4322
+ stars: 4319
owner_login: chatpire
owner_html_url: https://github.com/chatpire
-- name: atrilabs-engine
- html_url: https://github.com/Atri-Labs/atrilabs-engine
- stars: 4115
- owner_login: Atri-Labs
- owner_html_url: https://github.com/Atri-Labs
+- name: polar
+ html_url: https://github.com/polarsource/polar
+ stars: 4216
+ owner_login: polarsource
+ owner_html_url: https://github.com/polarsource
- name: strawberry
html_url: https://github.com/strawberry-graphql/strawberry
- stars: 4084
+ stars: 4126
owner_login: strawberry-graphql
owner_html_url: https://github.com/strawberry-graphql
+- name: atrilabs-engine
+ html_url: https://github.com/Atri-Labs/atrilabs-engine
+ stars: 4114
+ owner_login: Atri-Labs
+ owner_html_url: https://github.com/Atri-Labs
- name: dynaconf
html_url: https://github.com/dynaconf/dynaconf
- stars: 3844
+ stars: 3874
owner_login: dynaconf
owner_html_url: https://github.com/dynaconf
- name: poem
html_url: https://github.com/poem-web/poem
- stars: 3698
+ stars: 3746
owner_login: poem-web
owner_html_url: https://github.com/poem-web
-- name: polar
- html_url: https://github.com/polarsource/polar
- stars: 3355
- owner_login: polarsource
- owner_html_url: https://github.com/polarsource
- name: opyrator
html_url: https://github.com/ml-tooling/opyrator
- stars: 3114
+ stars: 3117
owner_login: ml-tooling
owner_html_url: https://github.com/ml-tooling
- name: farfalle
html_url: https://github.com/rashadphz/farfalle
- stars: 3022
+ stars: 3094
owner_login: rashadphz
owner_html_url: https://github.com/rashadphz
- name: fastapi-admin
html_url: https://github.com/fastapi-admin/fastapi-admin
- stars: 3002
+ stars: 3040
owner_login: fastapi-admin
owner_html_url: https://github.com/fastapi-admin
- name: docarray
html_url: https://github.com/docarray/docarray
- stars: 2998
+ stars: 3007
owner_login: docarray
owner_html_url: https://github.com/docarray
- name: datamodel-code-generator
html_url: https://github.com/koxudaxi/datamodel-code-generator
- stars: 2845
+ stars: 2914
owner_login: koxudaxi
owner_html_url: https://github.com/koxudaxi
- name: fastapi-realworld-example-app
html_url: https://github.com/nsidnev/fastapi-realworld-example-app
- stars: 2832
+ stars: 2840
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: 2727
- owner_login: tiangolo
- owner_html_url: https://github.com/tiangolo
-- name: WrenAI
- html_url: https://github.com/Canner/WrenAI
- stars: 2699
- owner_login: Canner
- owner_html_url: https://github.com/Canner
- name: LitServe
html_url: https://github.com/Lightning-AI/LitServe
- stars: 2664
+ stars: 2804
owner_login: Lightning-AI
owner_html_url: https://github.com/Lightning-AI
+- name: uvicorn-gunicorn-fastapi-docker
+ html_url: https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker
+ stars: 2730
+ owner_login: tiangolo
+ owner_html_url: https://github.com/tiangolo
- name: logfire
html_url: https://github.com/pydantic/logfire
- stars: 2495
+ stars: 2620
owner_login: pydantic
owner_html_url: https://github.com/pydantic
- name: huma
html_url: https://github.com/danielgtaylor/huma
- stars: 2479
+ stars: 2567
owner_login: danielgtaylor
owner_html_url: https://github.com/danielgtaylor
- name: tracecat
html_url: https://github.com/TracecatHQ/tracecat
- stars: 2446
+ stars: 2494
owner_login: TracecatHQ
owner_html_url: https://github.com/TracecatHQ
-- name: RasaGPT
- html_url: https://github.com/paulpierre/RasaGPT
- stars: 2378
- owner_login: paulpierre
- owner_html_url: https://github.com/paulpierre
- name: best-of-web-python
html_url: https://github.com/ml-tooling/best-of-web-python
- stars: 2374
+ stars: 2433
owner_login: ml-tooling
owner_html_url: https://github.com/ml-tooling
+- name: RasaGPT
+ html_url: https://github.com/paulpierre/RasaGPT
+ stars: 2386
+ owner_login: paulpierre
+ owner_html_url: https://github.com/paulpierre
- name: fastapi-react
html_url: https://github.com/Buuntu/fastapi-react
- stars: 2274
+ stars: 2293
owner_login: Buuntu
owner_html_url: https://github.com/Buuntu
- name: nextpy
html_url: https://github.com/dot-agent/nextpy
- stars: 2244
+ stars: 2256
owner_login: dot-agent
owner_html_url: https://github.com/dot-agent
- name: 30-Days-of-Python
html_url: https://github.com/codingforentrepreneurs/30-Days-of-Python
- stars: 2154
+ stars: 2155
owner_login: codingforentrepreneurs
owner_html_url: https://github.com/codingforentrepreneurs
- name: FastAPI-template
html_url: https://github.com/s3rius/FastAPI-template
- stars: 2067
+ stars: 2121
owner_login: s3rius
owner_html_url: https://github.com/s3rius
-- name: langserve
- html_url: https://github.com/langchain-ai/langserve
- stars: 1980
- owner_login: langchain-ai
- owner_html_url: https://github.com/langchain-ai
- name: sqladmin
html_url: https://github.com/aminalaee/sqladmin
- stars: 1980
+ stars: 2021
owner_login: aminalaee
owner_html_url: https://github.com/aminalaee
+- name: langserve
+ html_url: https://github.com/langchain-ai/langserve
+ stars: 2006
+ owner_login: langchain-ai
+ owner_html_url: https://github.com/langchain-ai
- name: fastapi-utils
html_url: https://github.com/fastapiutils/fastapi-utils
- stars: 1970
+ stars: 2002
owner_login: fastapiutils
owner_html_url: https://github.com/fastapiutils
- name: solara
html_url: https://github.com/widgetti/solara
- stars: 1950
+ stars: 1967
owner_login: widgetti
owner_html_url: https://github.com/widgetti
-- name: python-week-2022
- html_url: https://github.com/rochacbruno/python-week-2022
- stars: 1836
- owner_login: rochacbruno
- owner_html_url: https://github.com/rochacbruno
- name: supabase-py
html_url: https://github.com/supabase/supabase-py
- stars: 1803
+ stars: 1848
owner_login: supabase
owner_html_url: https://github.com/supabase
+- name: python-week-2022
+ html_url: https://github.com/rochacbruno/python-week-2022
+ stars: 1832
+ owner_login: rochacbruno
+ owner_html_url: https://github.com/rochacbruno
- name: mangum
html_url: https://github.com/Kludex/mangum
- stars: 1760
+ stars: 1789
owner_login: Kludex
owner_html_url: https://github.com/Kludex
- name: manage-fastapi
html_url: https://github.com/ycd/manage-fastapi
- stars: 1704
+ stars: 1711
owner_login: ycd
owner_html_url: https://github.com/ycd
- name: ormar
html_url: https://github.com/collerek/ormar
- stars: 1688
+ stars: 1701
owner_login: collerek
owner_html_url: https://github.com/collerek
- name: agentkit
html_url: https://github.com/BCG-X-Official/agentkit
- stars: 1615
+ stars: 1630
owner_login: BCG-X-Official
owner_html_url: https://github.com/BCG-X-Official
- name: langchain-serve
html_url: https://github.com/jina-ai/langchain-serve
- stars: 1615
+ stars: 1617
owner_login: jina-ai
owner_html_url: https://github.com/jina-ai
- name: termpair
html_url: https://github.com/cs01/termpair
- stars: 1613
+ stars: 1612
owner_login: cs01
owner_html_url: https://github.com/cs01
- name: coronavirus-tracker-api
html_url: https://github.com/ExpDev07/coronavirus-tracker-api
- stars: 1591
+ stars: 1590
owner_login: ExpDev07
owner_html_url: https://github.com/ExpDev07
- name: piccolo
html_url: https://github.com/piccolo-orm/piccolo
- stars: 1477
+ stars: 1519
owner_login: piccolo-orm
owner_html_url: https://github.com/piccolo-orm
- name: fastapi-crudrouter
html_url: https://github.com/awtkns/fastapi-crudrouter
- stars: 1435
+ stars: 1449
owner_login: awtkns
owner_html_url: https://github.com/awtkns
- name: fastapi-cache
html_url: https://github.com/long2ice/fastapi-cache
- stars: 1412
+ stars: 1447
owner_login: long2ice
owner_html_url: https://github.com/long2ice
- name: openapi-python-client
html_url: https://github.com/openapi-generators/openapi-python-client
- stars: 1398
+ stars: 1434
owner_login: openapi-generators
owner_html_url: https://github.com/openapi-generators
- name: awesome-fastapi-projects
html_url: https://github.com/Kludex/awesome-fastapi-projects
- stars: 1386
+ stars: 1398
owner_login: Kludex
owner_html_url: https://github.com/Kludex
- name: awesome-python-resources
html_url: https://github.com/DjangoEx/awesome-python-resources
- stars: 1371
+ stars: 1380
owner_login: DjangoEx
owner_html_url: https://github.com/DjangoEx
- name: budgetml
html_url: https://github.com/ebhy/budgetml
- stars: 1342
+ stars: 1344
owner_login: ebhy
owner_html_url: https://github.com/ebhy
- name: slowapi
html_url: https://github.com/laurentS/slowapi
- stars: 1289
+ stars: 1339
owner_login: laurentS
owner_html_url: https://github.com/laurentS
- name: fastapi-pagination
html_url: https://github.com/uriyyo/fastapi-pagination
- stars: 1240
+ stars: 1263
owner_login: uriyyo
owner_html_url: https://github.com/uriyyo
- name: fastapi-boilerplate
html_url: https://github.com/teamhide/fastapi-boilerplate
- stars: 1173
+ stars: 1206
owner_login: teamhide
owner_html_url: https://github.com/teamhide
- name: fastapi-tutorial
html_url: https://github.com/liaogx/fastapi-tutorial
- stars: 1162
+ stars: 1178
owner_login: liaogx
owner_html_url: https://github.com/liaogx
- name: fastapi-amis-admin
html_url: https://github.com/amisadmin/fastapi-amis-admin
- stars: 1118
+ stars: 1142
owner_login: amisadmin
owner_html_url: https://github.com/amisadmin
- name: fastapi-code-generator
html_url: https://github.com/koxudaxi/fastapi-code-generator
- stars: 1095
+ stars: 1119
owner_login: koxudaxi
owner_html_url: https://github.com/koxudaxi
- name: bolt-python
html_url: https://github.com/slackapi/bolt-python
- stars: 1086
+ stars: 1116
owner_login: slackapi
owner_html_url: https://github.com/slackapi
- name: odmantic
html_url: https://github.com/art049/odmantic
- stars: 1085
+ stars: 1096
owner_login: art049
owner_html_url: https://github.com/art049
- name: langchain-extract
html_url: https://github.com/langchain-ai/langchain-extract
- stars: 1068
+ stars: 1093
owner_login: langchain-ai
owner_html_url: https://github.com/langchain-ai
- name: fastapi_production_template
html_url: https://github.com/zhanymkanov/fastapi_production_template
- stars: 1059
+ stars: 1078
owner_login: zhanymkanov
owner_html_url: https://github.com/zhanymkanov
- name: fastapi-alembic-sqlmodel-async
html_url: https://github.com/jonra1993/fastapi-alembic-sqlmodel-async
- stars: 1031
+ stars: 1055
owner_login: jonra1993
owner_html_url: https://github.com/jonra1993
+- name: Kokoro-FastAPI
+ html_url: https://github.com/remsky/Kokoro-FastAPI
+ stars: 1047
+ owner_login: remsky
+ owner_html_url: https://github.com/remsky
- name: prometheus-fastapi-instrumentator
html_url: https://github.com/trallnag/prometheus-fastapi-instrumentator
- stars: 1013
+ stars: 1036
owner_login: trallnag
owner_html_url: https://github.com/trallnag
+- name: SurfSense
+ html_url: https://github.com/MODSetter/SurfSense
+ stars: 1018
+ owner_login: MODSetter
+ owner_html_url: https://github.com/MODSetter
+- name: bedrock-claude-chat
+ html_url: https://github.com/aws-samples/bedrock-claude-chat
+ stars: 1010
+ owner_login: aws-samples
+ owner_html_url: https://github.com/aws-samples
- name: runhouse
html_url: https://github.com/run-house/runhouse
- stars: 988
+ stars: 1000
owner_login: run-house
owner_html_url: https://github.com/run-house
- name: lanarky
html_url: https://github.com/ajndkr/lanarky
- stars: 982
+ stars: 986
owner_login: ajndkr
owner_html_url: https://github.com/ajndkr
- name: autollm
html_url: https://github.com/viddexa/autollm
- stars: 981
+ stars: 982
owner_login: viddexa
owner_html_url: https://github.com/viddexa
-- name: bedrock-claude-chat
- html_url: https://github.com/aws-samples/bedrock-claude-chat
- stars: 977
- owner_login: aws-samples
- owner_html_url: https://github.com/aws-samples
-- name: SurfSense
- html_url: https://github.com/MODSetter/SurfSense
- stars: 971
- owner_login: MODSetter
- owner_html_url: https://github.com/MODSetter
- name: restish
html_url: https://github.com/danielgtaylor/restish
- stars: 954
+ stars: 970
owner_login: danielgtaylor
owner_html_url: https://github.com/danielgtaylor
+- name: fastcrud
+ html_url: https://github.com/igorbenav/fastcrud
+ stars: 929
+ owner_login: igorbenav
+ owner_html_url: https://github.com/igorbenav
- name: secure
html_url: https://github.com/TypeError/secure
- stars: 911
+ stars: 921
owner_login: TypeError
owner_html_url: https://github.com/TypeError
- name: langcorn
html_url: https://github.com/msoedov/langcorn
- stars: 909
+ stars: 915
owner_login: msoedov
owner_html_url: https://github.com/msoedov
-- name: energy-forecasting
- html_url: https://github.com/iusztinpaul/energy-forecasting
- stars: 884
- owner_login: iusztinpaul
- owner_html_url: https://github.com/iusztinpaul
- name: vue-fastapi-admin
html_url: https://github.com/mizhexiaoxiao/vue-fastapi-admin
- stars: 863
+ stars: 915
owner_login: mizhexiaoxiao
owner_html_url: https://github.com/mizhexiaoxiao
+- name: energy-forecasting
+ html_url: https://github.com/iusztinpaul/energy-forecasting
+ stars: 891
+ owner_login: iusztinpaul
+ owner_html_url: https://github.com/iusztinpaul
- name: authx
html_url: https://github.com/yezz123/authx
- stars: 850
+ stars: 862
owner_login: yezz123
owner_html_url: https://github.com/yezz123
- name: titiler
html_url: https://github.com/developmentseed/titiler
- stars: 809
+ stars: 823
owner_login: developmentseed
owner_html_url: https://github.com/developmentseed
- name: marker-api
html_url: https://github.com/adithya-s-k/marker-api
- stars: 792
+ stars: 798
owner_login: adithya-s-k
owner_html_url: https://github.com/adithya-s-k
+- name: FastAPI-boilerplate
+ html_url: https://github.com/igorbenav/FastAPI-boilerplate
+ stars: 774
+ owner_login: igorbenav
+ owner_html_url: https://github.com/igorbenav
- name: fastapi_best_architecture
html_url: https://github.com/fastapi-practices/fastapi_best_architecture
- stars: 742
+ stars: 766
owner_login: fastapi-practices
owner_html_url: https://github.com/fastapi-practices
- name: fastapi-mail
html_url: https://github.com/sabuhish/fastapi-mail
- stars: 728
+ stars: 735
owner_login: sabuhish
owner_html_url: https://github.com/sabuhish
-- name: fastcrud
- html_url: https://github.com/igorbenav/fastcrud
- stars: 727
- owner_login: igorbenav
- owner_html_url: https://github.com/igorbenav
- name: annotated-py-projects
html_url: https://github.com/hhstore/annotated-py-projects
- stars: 722
+ stars: 725
owner_login: hhstore
owner_html_url: https://github.com/hhstore
-- name: FastAPI-boilerplate
- html_url: https://github.com/igorbenav/FastAPI-boilerplate
- stars: 716
- owner_login: igorbenav
- owner_html_url: https://github.com/igorbenav
-- name: lccn_predictor
- html_url: https://github.com/baoliay2008/lccn_predictor
- stars: 707
- owner_login: baoliay2008
- owner_html_url: https://github.com/baoliay2008
-- name: chatGPT-web
- html_url: https://github.com/mic1on/chatGPT-web
- stars: 706
- owner_login: mic1on
- owner_html_url: https://github.com/mic1on
- name: fastapi-do-zero
html_url: https://github.com/dunossauro/fastapi-do-zero
- stars: 702
+ stars: 723
owner_login: dunossauro
owner_html_url: https://github.com/dunossauro
-- name: linbing
- html_url: https://github.com/taomujian/linbing
- stars: 699
- owner_login: taomujian
- owner_html_url: https://github.com/taomujian
+- name: lccn_predictor
+ html_url: https://github.com/baoliay2008/lccn_predictor
+ stars: 718
+ owner_login: baoliay2008
+ owner_html_url: https://github.com/baoliay2008
- name: fastapi-observability
html_url: https://github.com/blueswen/fastapi-observability
- stars: 698
+ stars: 718
owner_login: blueswen
owner_html_url: https://github.com/blueswen
-- name: FastAPI-Backend-Template
- html_url: https://github.com/Aeternalis-Ingenium/FastAPI-Backend-Template
- stars: 682
- owner_login: Aeternalis-Ingenium
- owner_html_url: https://github.com/Aeternalis-Ingenium
+- name: chatGPT-web
+ html_url: https://github.com/mic1on/chatGPT-web
+ stars: 708
+ owner_login: mic1on
+ owner_html_url: https://github.com/mic1on
- name: learn-generative-ai
html_url: https://github.com/panaverse/learn-generative-ai
- stars: 673
+ stars: 701
owner_login: panaverse
owner_html_url: https://github.com/panaverse
+- name: linbing
+ html_url: https://github.com/taomujian/linbing
+ stars: 700
+ owner_login: taomujian
+ owner_html_url: https://github.com/taomujian
+- name: FastAPI-Backend-Template
+ html_url: https://github.com/Aeternalis-Ingenium/FastAPI-Backend-Template
+ stars: 692
+ owner_login: Aeternalis-Ingenium
+ owner_html_url: https://github.com/Aeternalis-Ingenium
+- name: starlette-admin
+ html_url: https://github.com/jowilf/starlette-admin
+ stars: 692
+ owner_login: jowilf
+ owner_html_url: https://github.com/jowilf
- name: fastapi-jwt-auth
html_url: https://github.com/IndominusByte/fastapi-jwt-auth
- stars: 668
+ stars: 674
owner_login: IndominusByte
owner_html_url: https://github.com/IndominusByte
- name: pity
html_url: https://github.com/wuranxu/pity
- stars: 660
+ stars: 663
owner_login: wuranxu
owner_html_url: https://github.com/wuranxu
-- name: starlette-admin
- html_url: https://github.com/jowilf/starlette-admin
- stars: 653
- owner_login: jowilf
- owner_html_url: https://github.com/jowilf
- name: fastapi_login
html_url: https://github.com/MushroomMaula/fastapi_login
- stars: 650
+ stars: 656
owner_login: MushroomMaula
owner_html_url: https://github.com/MushroomMaula
diff --git a/docs/en/data/translation_reviewers.yml b/docs/en/data/translation_reviewers.yml
index 6cc09a7c1..6f16893ba 100644
--- a/docs/en/data/translation_reviewers.yml
+++ b/docs/en/data/translation_reviewers.yml
@@ -5,12 +5,12 @@ s111d:
url: https://github.com/s111d
Xewus:
login: Xewus
- count: 139
+ count: 140
avatarUrl: https://avatars.githubusercontent.com/u/85196001?u=f8e2dc7e5104f109cef944af79050ea8d1b8f914&v=4
url: https://github.com/Xewus
ceb10n:
login: ceb10n
- count: 108
+ count: 110
avatarUrl: https://avatars.githubusercontent.com/u/235213?u=edcce471814a1eba9f0cdaa4cd0de18921a940a6&v=4
url: https://github.com/ceb10n
tokusumi:
@@ -33,21 +33,26 @@ AlertRED:
count: 81
avatarUrl: https://avatars.githubusercontent.com/u/15695000?u=f5a4944c6df443030409c88da7d7fa0b7ead985c&v=4
url: https://github.com/AlertRED
+nazarepiedady:
+ login: nazarepiedady
+ count: 81
+ avatarUrl: https://avatars.githubusercontent.com/u/31008635?u=8dc25777dc9cb51fb0dbba2f137988953d330b78&v=4
+ url: https://github.com/nazarepiedady
sodaMelon:
login: sodaMelon
count: 81
avatarUrl: https://avatars.githubusercontent.com/u/66295123?u=be939db90f1119efee9e6110cc05066ff1f40f00&v=4
url: https://github.com/sodaMelon
-nazarepiedady:
- login: nazarepiedady
- count: 78
- avatarUrl: https://avatars.githubusercontent.com/u/31008635?u=8dc25777dc9cb51fb0dbba2f137988953d330b78&v=4
- url: https://github.com/nazarepiedady
Alexandrhub:
login: Alexandrhub
count: 68
avatarUrl: https://avatars.githubusercontent.com/u/119126536?u=9fc0d48f3307817bafecc5861eb2168401a6cb04&v=4
url: https://github.com/Alexandrhub
+alv2017:
+ login: alv2017
+ count: 64
+ avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4
+ url: https://github.com/alv2017
waynerv:
login: waynerv
count: 63
@@ -55,7 +60,7 @@ waynerv:
url: https://github.com/waynerv
cassiobotaro:
login: cassiobotaro
- count: 61
+ count: 62
avatarUrl: https://avatars.githubusercontent.com/u/3127847?u=a08022b191ddbd0a6159b2981d9d878b6d5bb71f&v=4
url: https://github.com/cassiobotaro
mattwang44:
@@ -138,26 +143,21 @@ romashevchenko:
count: 32
avatarUrl: https://avatars.githubusercontent.com/u/132477732?v=4
url: https://github.com/romashevchenko
+alejsdev:
+ login: alejsdev
+ count: 32
+ avatarUrl: https://avatars.githubusercontent.com/u/90076947?u=356f39ff3f0211c720b06d3dbb060e98884085e3&v=4
+ url: https://github.com/alejsdev
wdh99:
login: wdh99
count: 31
avatarUrl: https://avatars.githubusercontent.com/u/108172295?u=8a8fb95d5afe3e0fa33257b2aecae88d436249eb&v=4
url: https://github.com/wdh99
-alv2017:
- login: alv2017
- count: 31
- avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4
- url: https://github.com/alv2017
LorhanSohaky:
login: LorhanSohaky
count: 30
avatarUrl: https://avatars.githubusercontent.com/u/16273730?u=095b66f243a2cd6a0aadba9a095009f8aaf18393&v=4
url: https://github.com/LorhanSohaky
-alejsdev:
- login: alejsdev
- count: 30
- avatarUrl: https://avatars.githubusercontent.com/u/90076947?u=356f39ff3f0211c720b06d3dbb060e98884085e3&v=4
- url: https://github.com/alejsdev
black-redoc:
login: black-redoc
count: 29
@@ -246,7 +246,7 @@ axel584:
wisderfin:
login: wisderfin
count: 23
- avatarUrl: https://avatars.githubusercontent.com/u/77553770?u=94478d3e1ef7d36d70479c5bd35d8de28b071c10&v=4
+ avatarUrl: https://avatars.githubusercontent.com/u/77553770?u=f3b00a26736ba664e9927a1116c6e8088295e073&v=4
url: https://github.com/wisderfin
rostik1410:
login: rostik1410
@@ -353,6 +353,11 @@ mastizada:
count: 16
avatarUrl: https://avatars.githubusercontent.com/u/1975818?u=0751a06d7271c8bf17cb73b1b845644ab4d2c6dc&v=4
url: https://github.com/mastizada
+Joao-Pedro-P-Holanda:
+ login: Joao-Pedro-P-Holanda
+ count: 16
+ avatarUrl: https://avatars.githubusercontent.com/u/110267046?u=331bd016326dac4cf3df4848f6db2dbbf8b5f978&v=4
+ url: https://github.com/Joao-Pedro-P-Holanda
JaeHyuckSa:
login: JaeHyuckSa
count: 16
@@ -363,11 +368,6 @@ Jedore:
count: 15
avatarUrl: https://avatars.githubusercontent.com/u/17944025?u=81d503e1c800eb666b3861ca47a3a773bbc3f539&v=4
url: https://github.com/Jedore
-Joao-Pedro-P-Holanda:
- login: Joao-Pedro-P-Holanda
- count: 15
- avatarUrl: https://avatars.githubusercontent.com/u/110267046?u=331bd016326dac4cf3df4848f6db2dbbf8b5f978&v=4
- url: https://github.com/Joao-Pedro-P-Holanda
kim-sangah:
login: kim-sangah
count: 15
@@ -386,7 +386,7 @@ dukkee:
mkdir700:
login: mkdir700
count: 14
- avatarUrl: https://avatars.githubusercontent.com/u/56359329?u=0ba13427420e7f6e4c83947736de247326f2c292&v=4
+ avatarUrl: https://avatars.githubusercontent.com/u/56359329?u=3d6ea8714f5000829b60dcf7b13a75b1e73aaf47&v=4
url: https://github.com/mkdir700
BORA040126:
login: BORA040126
@@ -473,6 +473,11 @@ kwang1215:
count: 12
avatarUrl: https://avatars.githubusercontent.com/u/74170199?u=2a63ff6692119dde3f5e5693365b9fcd6f977b08&v=4
url: https://github.com/kwang1215
+Rishat-F:
+ login: Rishat-F
+ count: 12
+ avatarUrl: https://avatars.githubusercontent.com/u/66554797?v=4
+ url: https://github.com/Rishat-F
AdrianDeAnda:
login: AdrianDeAnda
count: 11
@@ -513,6 +518,11 @@ KNChiu:
count: 11
avatarUrl: https://avatars.githubusercontent.com/u/36751646?v=4
url: https://github.com/KNChiu
+gitgernit:
+ login: gitgernit
+ count: 11
+ avatarUrl: https://avatars.githubusercontent.com/u/129539613?u=d04f10143ab32c93f563ea14bf242d1d2bc991b0&v=4
+ url: https://github.com/gitgernit
mariacamilagl:
login: mariacamilagl
count: 10
@@ -538,6 +548,11 @@ RobotToI:
count: 10
avatarUrl: https://avatars.githubusercontent.com/u/44951382?u=e41dbc19191ce7abed86694b1a44ea0523e1c60e&v=4
url: https://github.com/RobotToI
+vitumenezes:
+ login: vitumenezes
+ count: 10
+ avatarUrl: https://avatars.githubusercontent.com/u/9680878?u=05fd25cfafdc09382bf8907c37293a696c205754&v=4
+ url: https://github.com/vitumenezes
fcrozetta:
login: fcrozetta
count: 10
@@ -626,7 +641,7 @@ marcelomarkus:
JoaoGustavoRogel:
login: JoaoGustavoRogel
count: 9
- avatarUrl: https://avatars.githubusercontent.com/u/29525510?u=1dd3096c6c2be2576fd5e818b1be15b2c9768aa5&v=4
+ avatarUrl: https://avatars.githubusercontent.com/u/29525510?u=a0a91251f5e43e132608d55d28ccb8645c5ea405&v=4
url: https://github.com/JoaoGustavoRogel
Zhongheng-Cheng:
login: Zhongheng-Cheng
@@ -673,11 +688,6 @@ camigomezdev:
count: 8
avatarUrl: https://avatars.githubusercontent.com/u/16061815?u=25b5ebc042fff53fa03dc107ded10e36b1b7a5b9&v=4
url: https://github.com/camigomezdev
-gitgernit:
- login: gitgernit
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/129539613?u=d04f10143ab32c93f563ea14bf242d1d2bc991b0&v=4
- url: https://github.com/gitgernit
Serrones:
login: Serrones
count: 7
@@ -698,11 +708,6 @@ anthonycepeda:
count: 7
avatarUrl: https://avatars.githubusercontent.com/u/72019805?u=60bdf46240cff8fca482ff0fc07d963fd5e1a27c&v=4
url: https://github.com/anthonycepeda
-vitumenezes:
- login: vitumenezes
- count: 7
- avatarUrl: https://avatars.githubusercontent.com/u/9680878?u=e7c6865aec49c3c94b8c8edc1198d1eac3e50b26&v=4
- url: https://github.com/vitumenezes
fabioueno:
login: fabioueno
count: 7
@@ -956,7 +961,7 @@ devluisrodrigues:
timothy-jeong:
login: timothy-jeong
count: 5
- avatarUrl: https://avatars.githubusercontent.com/u/53824764?u=659311b6f6aeb0fbb8b527723fd4c83642f04327&v=4
+ avatarUrl: https://avatars.githubusercontent.com/u/53824764?u=db3d0cea2f5fab64d810113c5039a369699a2774&v=4
url: https://github.com/timothy-jeong
lpdswing:
login: lpdswing
@@ -1053,6 +1058,11 @@ matiasbertani:
count: 4
avatarUrl: https://avatars.githubusercontent.com/u/65260383?u=d5edd86a6e2ab4fb1aab7751931fe045a963afd7&v=4
url: https://github.com/matiasbertani
+k94-ishi:
+ login: k94-ishi
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/32672580?u=bc7c5c07af0656be9fe4f1784a444af8d81ded89&v=4
+ url: https://github.com/k94-ishi
javillegasna:
login: javillegasna
count: 4
@@ -1063,6 +1073,16 @@ javillegasna:
count: 4
avatarUrl: https://avatars.githubusercontent.com/u/174453744?v=4
url: https://github.com/9zimin9
+ilhamfadillah:
+ login: ilhamfadillah
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/20577838?u=c56192cf99b55affcaad408b240259c62e633450&v=4
+ url: https://github.com/ilhamfadillah
+Yarous:
+ login: Yarous
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/61277193?u=5b462347458a373b2d599c6f416d2b75eddbffad&v=4
+ url: https://github.com/Yarous
tyronedamasceno:
login: tyronedamasceno
count: 3
@@ -1151,7 +1171,7 @@ rafsaf:
frnsimoes:
login: frnsimoes
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/66239468?u=771c4b0c403a42ccf2676ac987ac4999e5ad09bc&v=4
+ avatarUrl: https://avatars.githubusercontent.com/u/66239468?u=a405e8f10654251e239a4a1d9dd5bda59216727d&v=4
url: https://github.com/frnsimoes
lieryan:
login: lieryan
@@ -1283,11 +1303,16 @@ celestywang:
count: 3
avatarUrl: https://avatars.githubusercontent.com/u/184830753?v=4
url: https://github.com/celestywang
-ilhamfadillah:
- login: ilhamfadillah
+RyaWcksn:
+ login: RyaWcksn
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/20577838?u=c56192cf99b55affcaad408b240259c62e633450&v=4
- url: https://github.com/ilhamfadillah
+ avatarUrl: https://avatars.githubusercontent.com/u/42831964?u=0cb4265faf3e3425a89e59b6fddd3eb2de180af0&v=4
+ url: https://github.com/RyaWcksn
+gerry-sabar:
+ login: gerry-sabar
+ count: 3
+ avatarUrl: https://avatars.githubusercontent.com/u/1120123?v=4
+ url: https://github.com/gerry-sabar
blaisep:
login: blaisep
count: 2
@@ -1633,13 +1658,13 @@ logan2d5:
count: 2
avatarUrl: https://avatars.githubusercontent.com/u/146642263?u=dbd6621f8b0330d6919f6a7131277b92e26fbe87&v=4
url: https://github.com/logan2d5
-RyaWcksn:
- login: RyaWcksn
+tiaggo16:
+ login: tiaggo16
count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/42831964?u=0cb4265faf3e3425a89e59b6fddd3eb2de180af0&v=4
- url: https://github.com/RyaWcksn
-gerry-sabar:
- login: gerry-sabar
+ avatarUrl: https://avatars.githubusercontent.com/u/62227573?u=359f4e2c51a4b13c8553ac5af405d635b07bb61f&v=4
+ url: https://github.com/tiaggo16
+kiharito:
+ login: kiharito
count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/1120123?v=4
- url: https://github.com/gerry-sabar
+ avatarUrl: https://avatars.githubusercontent.com/u/38311245?v=4
+ url: https://github.com/kiharito
diff --git a/docs/en/data/translators.yml b/docs/en/data/translators.yml
index 7b199dc08..13859044d 100644
--- a/docs/en/data/translators.yml
+++ b/docs/en/data/translators.yml
@@ -8,6 +8,11 @@ jaystone776:
count: 46
avatarUrl: https://avatars.githubusercontent.com/u/11191137?u=299205a95e9b6817a43144a48b643346a5aac5cc&v=4
url: https://github.com/jaystone776
+ceb10n:
+ login: ceb10n
+ count: 26
+ avatarUrl: https://avatars.githubusercontent.com/u/235213?u=edcce471814a1eba9f0cdaa4cd0de18921a940a6&v=4
+ url: https://github.com/ceb10n
tokusumi:
login: tokusumi
count: 23
@@ -23,11 +28,6 @@ hasansezertasan:
count: 22
avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4
url: https://github.com/hasansezertasan
-ceb10n:
- login: ceb10n
- count: 22
- avatarUrl: https://avatars.githubusercontent.com/u/235213?u=edcce471814a1eba9f0cdaa4cd0de18921a940a6&v=4
- url: https://github.com/ceb10n
waynerv:
login: waynerv
count: 20
@@ -55,7 +55,7 @@ Xewus:
url: https://github.com/Xewus
Joao-Pedro-P-Holanda:
login: Joao-Pedro-P-Holanda
- count: 12
+ count: 13
avatarUrl: https://avatars.githubusercontent.com/u/110267046?u=331bd016326dac4cf3df4848f6db2dbbf8b5f978&v=4
url: https://github.com/Joao-Pedro-P-Holanda
Smlep:
@@ -78,6 +78,11 @@ Vincy1230:
count: 9
avatarUrl: https://avatars.githubusercontent.com/u/81342412?u=ab5e256a4077a4a91f3f9cd2115ba80780454cbe&v=4
url: https://github.com/Vincy1230
+Zhongheng-Cheng:
+ login: Zhongheng-Cheng
+ count: 9
+ avatarUrl: https://avatars.githubusercontent.com/u/95612344?u=a0f7730a3cc7486827965e01a119ad610bda4b0a&v=4
+ url: https://github.com/Zhongheng-Cheng
rjNemo:
login: rjNemo
count: 8
@@ -93,11 +98,6 @@ pablocm83:
count: 8
avatarUrl: https://avatars.githubusercontent.com/u/28315068?u=3310fbb05bb8bfc50d2c48b6cb64ac9ee4a14549&v=4
url: https://github.com/pablocm83
-Zhongheng-Cheng:
- login: Zhongheng-Cheng
- count: 8
- avatarUrl: https://avatars.githubusercontent.com/u/95612344?u=a0f7730a3cc7486827965e01a119ad610bda4b0a&v=4
- url: https://github.com/Zhongheng-Cheng
batlopes:
login: batlopes
count: 6
@@ -188,6 +188,11 @@ kwang1215:
count: 4
avatarUrl: https://avatars.githubusercontent.com/u/74170199?u=2a63ff6692119dde3f5e5693365b9fcd6f977b08&v=4
url: https://github.com/kwang1215
+alv2017:
+ login: alv2017
+ count: 4
+ avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4
+ url: https://github.com/alv2017
jfunez:
login: jfunez
count: 3
@@ -313,11 +318,11 @@ nahyunkeem:
count: 3
avatarUrl: https://avatars.githubusercontent.com/u/174440096?u=e12401d492eee58570f8914d0872b52e421a776e&v=4
url: https://github.com/nahyunkeem
-alv2017:
- login: alv2017
+gerry-sabar:
+ login: gerry-sabar
count: 3
- avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4
- url: https://github.com/alv2017
+ avatarUrl: https://avatars.githubusercontent.com/u/1120123?v=4
+ url: https://github.com/gerry-sabar
izaguerreiro:
login: izaguerreiro
count: 2
@@ -481,10 +486,10 @@ saeye:
timothy-jeong:
login: timothy-jeong
count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/53824764?u=659311b6f6aeb0fbb8b527723fd4c83642f04327&v=4
+ avatarUrl: https://avatars.githubusercontent.com/u/53824764?u=db3d0cea2f5fab64d810113c5039a369699a2774&v=4
url: https://github.com/timothy-jeong
-gerry-sabar:
- login: gerry-sabar
+Rishat-F:
+ login: Rishat-F
count: 2
- avatarUrl: https://avatars.githubusercontent.com/u/1120123?v=4
- url: https://github.com/gerry-sabar
+ avatarUrl: https://avatars.githubusercontent.com/u/66554797?v=4
+ url: https://github.com/Rishat-F
diff --git a/docs/en/docs/fastapi-people.md b/docs/en/docs/fastapi-people.md
index ffc579b10..f2ca26013 100644
--- a/docs/en/docs/fastapi-people.md
+++ b/docs/en/docs/fastapi-people.md
@@ -47,9 +47,11 @@ This is the current list of team members. ๐
They have different levels of involvement and permissions, they can perform [repository management tasks](./management-tasks.md){.internal-link target=_blank} and together we [manage the FastAPI repository](./management.md){.internal-link target=_blank}.
-
+
diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md
index a242407ea..5f3d98e5c 100644
--- a/docs/en/docs/release-notes.md
+++ b/docs/en/docs/release-notes.md
@@ -9,6 +9,95 @@ hide:
### Refactors
+* โ
Simplify tests for `query_params_str_validations`. PR [#13218](https://github.com/fastapi/fastapi/pull/13218) by [@alv2017](https://github.com/alv2017).
+* โ
Simplify tests for `app_testing`. PR [#13220](https://github.com/fastapi/fastapi/pull/13220) by [@alv2017](https://github.com/alv2017).
+* โ
Simplify tests for `dependency_testing`. PR [#13223](https://github.com/fastapi/fastapi/pull/13223) by [@alv2017](https://github.com/alv2017).
+
+### Docs
+
+* ๐ Fix issue with Swagger theme change example in the official tutorial. PR [#13289](https://github.com/fastapi/fastapi/pull/13289) by [@Zerohertz](https://github.com/Zerohertz).
+* ๐ Add more precise description of HTTP status code range in docs. PR [#13347](https://github.com/fastapi/fastapi/pull/13347) by [@DanielYang59](https://github.com/DanielYang59).
+* ๐ฅ Remove manual type annotations in JWT tutorial to avoid typing expectations (JWT doesn't provide more types). PR [#13378](https://github.com/fastapi/fastapi/pull/13378) by [@tiangolo](https://github.com/tiangolo).
+* ๐ Update docs for Query Params and String Validations, remove obsolete Ellipsis docs (`...`). PR [#13377](https://github.com/fastapi/fastapi/pull/13377) by [@tiangolo](https://github.com/tiangolo).
+* โ๏ธ Remove duplicate title in docs `body-multiple-params`. PR [#13345](https://github.com/fastapi/fastapi/pull/13345) by [@DanielYang59](https://github.com/DanielYang59).
+* ๐ Fix test badge. PR [#13313](https://github.com/fastapi/fastapi/pull/13313) by [@esadek](https://github.com/esadek).
+
+### Translations
+
+* ๐ Update Korean translation for `docs/ko/docs/help-fastapi.md`. PR [#13262](https://github.com/fastapi/fastapi/pull/13262) by [@Zerohertz](https://github.com/Zerohertz).
+* ๐ Add Korean translation for `docs/ko/docs/advanced/custom-response.md`. PR [#13265](https://github.com/fastapi/fastapi/pull/13265) by [@11kkw](https://github.com/11kkw).
+* ๐ Update Korean translation for `docs/ko/docs/tutorial/security/simple-oauth2.md`. PR [#13335](https://github.com/fastapi/fastapi/pull/13335) by [@yes0ng](https://github.com/yes0ng).
+* ๐ Add Russian translation for `docs/ru/docs/advanced/response-cookies.md`. PR [#13327](https://github.com/fastapi/fastapi/pull/13327) by [@Stepakinoyan](https://github.com/Stepakinoyan).
+* ๐ Add Vietnamese translation for `docs/vi/docs/tutorial/static-files.md`. PR [#11291](https://github.com/fastapi/fastapi/pull/11291) by [@ptt3199](https://github.com/ptt3199).
+* ๐ Add Korean translation for `docs/ko/docs/tutorial/dependencies/dependencies-with-yield.md`. PR [#13257](https://github.com/fastapi/fastapi/pull/13257) by [@11kkw](https://github.com/11kkw).
+* ๐ Add Vietnamese translation for `docs/vi/docs/virtual-environments.md`. PR [#13282](https://github.com/fastapi/fastapi/pull/13282) by [@ptt3199](https://github.com/ptt3199).
+* ๐ Add Ukrainian translation for `docs/uk/docs/tutorial/static-files.md`. PR [#13285](https://github.com/fastapi/fastapi/pull/13285) by [@valentinDruzhinin](https://github.com/valentinDruzhinin).
+* ๐ Add Vietnamese translation for `docs/vi/docs/environment-variables.md`. PR [#13287](https://github.com/fastapi/fastapi/pull/13287) by [@ptt3199](https://github.com/ptt3199).
+* ๐ Add Vietnamese translation for `docs/vi/docs/fastapi-cli.md`. PR [#13294](https://github.com/fastapi/fastapi/pull/13294) by [@ptt3199](https://github.com/ptt3199).
+* ๐ Add Ukrainian translation for `docs/uk/docs/features.md`. PR [#13308](https://github.com/fastapi/fastapi/pull/13308) by [@valentinDruzhinin](https://github.com/valentinDruzhinin).
+* ๐ Add Ukrainian translation for `docs/uk/docs/learn/index.md`. PR [#13306](https://github.com/fastapi/fastapi/pull/13306) by [@valentinDruzhinin](https://github.com/valentinDruzhinin).
+* ๐ Update Portuguese Translation for `docs/pt/docs/deployment/https.md`. PR [#13317](https://github.com/fastapi/fastapi/pull/13317) by [@Joao-Pedro-P-Holanda](https://github.com/Joao-Pedro-P-Holanda).
+* ๐ Update Portuguese Translation for `docs/pt/docs/index.md`. PR [#13328](https://github.com/fastapi/fastapi/pull/13328) by [@ceb10n](https://github.com/ceb10n).
+* ๐ Add Russian translation for `docs/ru/docs/advanced/websockets.md`. PR [#13279](https://github.com/fastapi/fastapi/pull/13279) by [@Rishat-F](https://github.com/Rishat-F).
+
+### Internal
+
+* ๐ง Update sponsors: Add LambdaTest. PR [#13389](https://github.com/fastapi/fastapi/pull/13389) by [@tiangolo](https://github.com/tiangolo).
+* โฌ Bump cloudflare/wrangler-action from 3.13 to 3.14. PR [#13350](https://github.com/fastapi/fastapi/pull/13350) by [@dependabot[bot]](https://github.com/apps/dependabot).
+* โฌ Bump mkdocs-material from 9.5.18 to 9.6.1. PR [#13301](https://github.com/fastapi/fastapi/pull/13301) by [@dependabot[bot]](https://github.com/apps/dependabot).
+* โฌ Bump pillow from 11.0.0 to 11.1.0. PR [#13300](https://github.com/fastapi/fastapi/pull/13300) by [@dependabot[bot]](https://github.com/apps/dependabot).
+* ๐ฅ Update FastAPI People - Sponsors. PR [#13295](https://github.com/fastapi/fastapi/pull/13295) by [@tiangolo](https://github.com/tiangolo).
+* ๐ฅ Update FastAPI People - Experts. PR [#13303](https://github.com/fastapi/fastapi/pull/13303) by [@tiangolo](https://github.com/tiangolo).
+* ๐ฅ Update FastAPI GitHub topic repositories. PR [#13302](https://github.com/fastapi/fastapi/pull/13302) by [@tiangolo](https://github.com/tiangolo).
+* ๐ฅ Update FastAPI People - Contributors and Translators. PR [#13293](https://github.com/fastapi/fastapi/pull/13293) by [@tiangolo](https://github.com/tiangolo).
+* โฌ Bump inline-snapshot from 0.18.1 to 0.19.3. PR [#13298](https://github.com/fastapi/fastapi/pull/13298) by [@dependabot[bot]](https://github.com/apps/dependabot).
+* ๐ง Update sponsors, add Permit. PR [#13288](https://github.com/fastapi/fastapi/pull/13288) by [@tiangolo](https://github.com/tiangolo).
+
+## 0.115.8
+
+### Fixes
+
+* ๐ Fix `OAuth2PasswordRequestForm` and `OAuth2PasswordRequestFormStrict` fixed `grant_type` "password" RegEx. PR [#9783](https://github.com/fastapi/fastapi/pull/9783) by [@skarfie123](https://github.com/skarfie123).
+
+### Refactors
+
+* โ
Simplify tests for body_multiple_params . PR [#13237](https://github.com/fastapi/fastapi/pull/13237) by [@alejsdev](https://github.com/alejsdev).
+* โป๏ธ Move duplicated code portion to a static method in the `APIKeyBase` super class. PR [#3142](https://github.com/fastapi/fastapi/pull/3142) by [@ShahriyarR](https://github.com/ShahriyarR).
+* โ
Simplify tests for request_files. PR [#13182](https://github.com/fastapi/fastapi/pull/13182) by [@alejsdev](https://github.com/alejsdev).
+
+### Docs
+
+* ๐ Change the word "unwrap" to "unpack" in `docs/en/docs/tutorial/extra-models.md`. PR [#13061](https://github.com/fastapi/fastapi/pull/13061) by [@timothy-jeong](https://github.com/timothy-jeong).
+* ๐ Update Request Body's `tutorial002` to deal with `tax=0` case. PR [#13230](https://github.com/fastapi/fastapi/pull/13230) by [@togogh](https://github.com/togogh).
+* ๐ฅ Update FastAPI People - Experts. PR [#13269](https://github.com/fastapi/fastapi/pull/13269) by [@tiangolo](https://github.com/tiangolo).
+
+### Translations
+
+* ๐ Add Japanese translation for `docs/ja/docs/environment-variables.md`. PR [#13226](https://github.com/fastapi/fastapi/pull/13226) by [@k94-ishi](https://github.com/k94-ishi).
+* ๐ Add Russian translation for `docs/ru/docs/advanced/async-tests.md`. PR [#13227](https://github.com/fastapi/fastapi/pull/13227) by [@Rishat-F](https://github.com/Rishat-F).
+* ๐ Update Russian translation for `docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md`. PR [#13252](https://github.com/fastapi/fastapi/pull/13252) by [@Rishat-F](https://github.com/Rishat-F).
+* ๐ Add Russian translation for `docs/ru/docs/tutorial/bigger-applications.md`. PR [#13154](https://github.com/fastapi/fastapi/pull/13154) by [@alv2017](https://github.com/alv2017).
+
+### Internal
+
+* โฌ๏ธ Add support for Python 3.13. PR [#13274](https://github.com/fastapi/fastapi/pull/13274) by [@tiangolo](https://github.com/tiangolo).
+* โฌ๏ธ Upgrade AnyIO max version for tests, new range: `>=3.2.1,<5.0.0`. PR [#13273](https://github.com/fastapi/fastapi/pull/13273) by [@tiangolo](https://github.com/tiangolo).
+* ๐ง Update Sponsors badges. PR [#13271](https://github.com/fastapi/fastapi/pull/13271) by [@tiangolo](https://github.com/tiangolo).
+* โป๏ธ Fix `notify_translations.py` empty env var handling for PR label events vs workflow_dispatch. PR [#13272](https://github.com/fastapi/fastapi/pull/13272) by [@tiangolo](https://github.com/tiangolo).
+* โป๏ธ Refactor and move `scripts/notify_translations.py`, no need for a custom GitHub Action. PR [#13270](https://github.com/fastapi/fastapi/pull/13270) by [@tiangolo](https://github.com/tiangolo).
+* ๐จ Update FastAPI People Experts script, refactor and optimize data fetching to handle rate limits. PR [#13267](https://github.com/fastapi/fastapi/pull/13267) by [@tiangolo](https://github.com/tiangolo).
+* โฌ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4. PR [#13251](https://github.com/fastapi/fastapi/pull/13251) by [@dependabot[bot]](https://github.com/apps/dependabot).
+
+## 0.115.7
+
+### Upgrades
+
+* โฌ๏ธ Upgrade `python-multipart` to >=0.0.18. PR [#13219](https://github.com/fastapi/fastapi/pull/13219) by [@DanielKusyDev](https://github.com/DanielKusyDev).
+* โฌ๏ธ Bump Starlette to allow up to 0.45.0: `>=0.40.0,<0.46.0`. PR [#13117](https://github.com/fastapi/fastapi/pull/13117) by [@Kludex](https://github.com/Kludex).
+* โฌ๏ธ Upgrade `jinja2` to >=3.1.5. PR [#13194](https://github.com/fastapi/fastapi/pull/13194) by [@DanielKusyDev](https://github.com/DanielKusyDev).
+
+### Refactors
+
* โ
Simplify tests for websockets. PR [#13202](https://github.com/fastapi/fastapi/pull/13202) by [@alejsdev](https://github.com/alejsdev).
* โ
Simplify tests for request_form_models . PR [#13183](https://github.com/fastapi/fastapi/pull/13183) by [@alejsdev](https://github.com/alejsdev).
* โ
Simplify tests for separate_openapi_schemas. PR [#13201](https://github.com/fastapi/fastapi/pull/13201) by [@alejsdev](https://github.com/alejsdev).
@@ -49,6 +138,7 @@ hide:
### Translations
+* ๐ Update Portuguese Translation for `docs/pt/docs/tutorial/request-forms.md`. PR [#13216](https://github.com/fastapi/fastapi/pull/13216) by [@Joao-Pedro-P-Holanda](https://github.com/Joao-Pedro-P-Holanda).
* ๐ Update Portuguese translation for `docs/pt/docs/advanced/settings.md`. PR [#13209](https://github.com/fastapi/fastapi/pull/13209) by [@ceb10n](https://github.com/ceb10n).
* ๐ Add Portuguese translation for `docs/pt/docs/tutorial/security/oauth2-jwt.md`. PR [#13205](https://github.com/fastapi/fastapi/pull/13205) by [@ceb10n](https://github.com/ceb10n).
* ๐ Add Indonesian translation for `docs/id/docs/index.md`. PR [#13191](https://github.com/fastapi/fastapi/pull/13191) by [@gerry-sabar](https://github.com/gerry-sabar).
@@ -103,6 +193,7 @@ hide:
### Internal
+* ๐ง Add Pydantic 2 trove classifier. PR [#13199](https://github.com/fastapi/fastapi/pull/13199) by [@johnthagen](https://github.com/johnthagen).
* ๐ฅ Update FastAPI People - Sponsors. PR [#13231](https://github.com/fastapi/fastapi/pull/13231) by [@tiangolo](https://github.com/tiangolo).
* ๐ท Refactor FastAPI People Sponsors to use 2 tokens. PR [#13228](https://github.com/fastapi/fastapi/pull/13228) by [@tiangolo](https://github.com/tiangolo).
* ๐ท Update token for FastAPI People - Sponsors. PR [#13225](https://github.com/fastapi/fastapi/pull/13225) by [@tiangolo](https://github.com/tiangolo).
diff --git a/docs/en/docs/tutorial/body-multiple-params.md b/docs/en/docs/tutorial/body-multiple-params.md
index 9fced9652..71b308bb4 100644
--- a/docs/en/docs/tutorial/body-multiple-params.md
+++ b/docs/en/docs/tutorial/body-multiple-params.md
@@ -10,8 +10,6 @@ And you can also declare body parameters as optional, by setting the default to
{* ../../docs_src/body_multiple_params/tutorial001_an_py310.py hl[18:20] *}
-## Multiple body parameters
-
/// note
Notice that, in this case, the `item` that would be taken from the body is optional. As it has a `None` default value.
diff --git a/docs/en/docs/tutorial/extra-models.md b/docs/en/docs/tutorial/extra-models.md
index 5fac3f69e..ed1590ece 100644
--- a/docs/en/docs/tutorial/extra-models.md
+++ b/docs/en/docs/tutorial/extra-models.md
@@ -70,9 +70,9 @@ we would get a Python `dict` with:
}
```
-#### Unwrapping a `dict`
+#### Unpacking a `dict`
-If we take a `dict` like `user_dict` and pass it to a function (or class) with `**user_dict`, Python will "unwrap" it. It will pass the keys and values of the `user_dict` directly as key-value arguments.
+If we take a `dict` like `user_dict` and pass it to a function (or class) with `**user_dict`, Python will "unpack" it. It will pass the keys and values of the `user_dict` directly as key-value arguments.
So, continuing with the `user_dict` from above, writing:
@@ -117,11 +117,11 @@ would be equivalent to:
UserInDB(**user_in.dict())
```
-...because `user_in.dict()` is a `dict`, and then we make Python "unwrap" it by passing it to `UserInDB` prefixed with `**`.
+...because `user_in.dict()` is a `dict`, and then we make Python "unpack" it by passing it to `UserInDB` prefixed with `**`.
So, we get a Pydantic model from the data in another Pydantic model.
-#### Unwrapping a `dict` and extra keywords
+#### Unpacking a `dict` and extra keywords
And then adding the extra keyword argument `hashed_password=hashed_password`, like in:
diff --git a/docs/en/docs/tutorial/query-params-str-validations.md b/docs/en/docs/tutorial/query-params-str-validations.md
index 1bf16334d..511099186 100644
--- a/docs/en/docs/tutorial/query-params-str-validations.md
+++ b/docs/en/docs/tutorial/query-params-str-validations.md
@@ -6,13 +6,13 @@ Let's take this application as example:
{* ../../docs_src/query_params_str_validations/tutorial001_py310.py hl[7] *}
-The query parameter `q` is of type `Union[str, None]` (or `str | None` in Python 3.10), that means that it's of type `str` but could also be `None`, and indeed, the default value is `None`, so FastAPI will know it's not required.
+The query parameter `q` is of type `str | None`, that means that it's of type `str` but could also be `None`, and indeed, the default value is `None`, so FastAPI will know it's not required.
/// note
FastAPI will know that the value of `q` is not required because of the default value `= None`.
-The `Union` in `Union[str, None]` will allow your editor to give you better support and detect errors.
+Having `str | None` will allow your editor to give you better support and detect errors.
///
@@ -25,29 +25,9 @@ We are going to enforce that even though `q` is optional, whenever it is provide
To achieve that, first import:
* `Query` from `fastapi`
-* `Annotated` from `typing` (or from `typing_extensions` in Python below 3.9)
+* `Annotated` from `typing`
-//// tab | Python 3.10+
-
-In Python 3.9 or above, `Annotated` is part of the standard library, so you can import it from `typing`.
-
-```Python hl_lines="1 3"
-{!> ../../docs_src/query_params_str_validations/tutorial002_an_py310.py!}
-```
-
-////
-
-//// tab | Python 3.8+
-
-In versions of Python below Python 3.9 you import `Annotated` from `typing_extensions`.
-
-It will already be installed with FastAPI.
-
-```Python hl_lines="3-4"
-{!> ../../docs_src/query_params_str_validations/tutorial002_an.py!}
-```
-
-////
+{* ../../docs_src/query_params_str_validations/tutorial002_an_py310.py hl[1,3] *}
/// info
@@ -145,54 +125,23 @@ As in this case (without using `Annotated`) we have to replace the default value
So:
-```Python
-q: Union[str, None] = Query(default=None)
-```
-
-...makes the parameter optional, with a default value of `None`, the same as:
-
-```Python
-q: Union[str, None] = None
-```
-
-And in Python 3.10 and above:
-
```Python
q: str | None = Query(default=None)
```
...makes the parameter optional, with a default value of `None`, the same as:
+
```Python
q: str | None = None
```
-But the `Query` versions declare it explicitly as being a query parameter.
-
-/// info
-
-Keep in mind that the most important part to make a parameter optional is the part:
-
-```Python
-= None
-```
-
-or the:
-
-```Python
-= Query(default=None)
-```
-
-as it will use that `None` as the default value, and that way make the parameter **not required**.
-
-The `Union[str, None]` part allows your editor to provide better support, but it is not what tells FastAPI that this parameter is not required.
-
-///
+But the `Query` version declares it explicitly as being a query parameter.
Then, we can pass more parameters to `Query`. In this case, the `max_length` parameter that applies to strings:
```Python
-q: Union[str, None] = Query(default=None, max_length=50)
+q: str | None = Query(default=None, max_length=50)
```
This will validate the data, show a clear error when the data is not valid, and document the parameter in the OpenAPI schema *path operation*.
@@ -201,7 +150,7 @@ This will validate the data, show a clear error when the data is not valid, and
Keep in mind that when using `Query` inside of `Annotated` you cannot use the `default` parameter for `Query`.
-Instead use the actual default value of the function parameter. Otherwise, it would be inconsistent.
+Instead, use the actual default value of the function parameter. Otherwise, it would be inconsistent.
For example, this is not allowed:
@@ -255,7 +204,7 @@ This specific regular expression pattern checks that the received parameter valu
If you feel lost with all these **"regular expression"** ideas, don't worry. They are a hard topic for many people. You can still do a lot of stuff without needing regular expressions yet.
-But whenever you need them and go and learn them, know that you can already use them directly in **FastAPI**.
+Now you know that whenever you need them you can use them in **FastAPI**.
### Pydantic v1 `regex` instead of `pattern`
@@ -296,7 +245,7 @@ q: str
instead of:
```Python
-q: Union[str, None] = None
+q: str | None = None
```
But we are now declaring it with `Query`, for example like:
@@ -304,15 +253,7 @@ But we are now declaring it with `Query`, for example like:
//// tab | Annotated
```Python
-q: Annotated[Union[str, None], Query(min_length=3)] = None
-```
-
-////
-
-//// tab | non-Annotated
-
-```Python
-q: Union[str, None] = Query(default=None, min_length=3)
+q: Annotated[str | None, Query(min_length=3)] = None
```
////
@@ -321,42 +262,14 @@ So, when you need to declare a value as required while using `Query`, you can si
{* ../../docs_src/query_params_str_validations/tutorial006_an_py39.py hl[9] *}
-### Required with Ellipsis (`...`)
-
-There's an alternative way to explicitly declare that a value is required. You can set the default to the literal value `...`:
-
-{* ../../docs_src/query_params_str_validations/tutorial006b_an_py39.py hl[9] *}
-
-/// info
-
-If you hadn't seen that `...` before: it is a special single value, it is part of Python and is called "Ellipsis".
-
-It is used by Pydantic and FastAPI to explicitly declare that a value is required.
-
-///
-
-This will let **FastAPI** know that this parameter is required.
-
### Required, can be `None`
You can declare that a parameter can accept `None`, but that it's still required. This would force clients to send a value, even if the value is `None`.
-To do that, you can declare that `None` is a valid type but still use `...` as the default:
+To do that, you can declare that `None` is a valid type but simply do not declare a default value:
{* ../../docs_src/query_params_str_validations/tutorial006c_an_py310.py hl[9] *}
-/// tip
-
-Pydantic, which is what powers all the data validation and serialization in FastAPI, has a special behavior when you use `Optional` or `Union[Something, None]` without a default value, you can read more about it in the Pydantic docs about Required fields.
-
-///
-
-/// tip
-
-Remember that in most of the cases, when something is required, you can simply omit the default, so you normally don't have to use `...`.
-
-///
-
## Query parameter list / multiple values
When you define a query parameter explicitly with `Query` you can also declare it to receive a list of values, or said in another way, to receive multiple values.
@@ -396,7 +309,7 @@ The interactive API docs will update accordingly, to allow multiple values:
### Query parameter list / multiple values with defaults
-And you can also define a default `list` of values if none are provided:
+You can also define a default `list` of values if none are provided:
{* ../../docs_src/query_params_str_validations/tutorial012_an_py39.py hl[9] *}
@@ -419,7 +332,7 @@ the default of `q` will be: `["foo", "bar"]` and your response will be:
#### Using just `list`
-You can also use `list` directly instead of `List[str]` (or `list[str]` in Python 3.9+):
+You can also use `list` directly instead of `list[str]`:
{* ../../docs_src/query_params_str_validations/tutorial013_an_py39.py hl[9] *}
@@ -427,7 +340,7 @@ You can also use `list` directly instead of `List[str]` (or `list[str]` in Pytho
Keep in mind that in this case, FastAPI won't check the contents of the list.
-For example, `List[int]` would check (and document) that the contents of the list are integers. But `list` alone wouldn't.
+For example, `list[int]` would check (and document) that the contents of the list are integers. But `list` alone wouldn't.
///
diff --git a/docs/en/docs/tutorial/response-status-code.md b/docs/en/docs/tutorial/response-status-code.md
index 711042a46..41bf02a8f 100644
--- a/docs/en/docs/tutorial/response-status-code.md
+++ b/docs/en/docs/tutorial/response-status-code.md
@@ -53,16 +53,16 @@ These status codes have a name associated to recognize them, but the important p
In short:
-* `100` and above are for "Information". You rarely use them directly. Responses with these status codes cannot have a body.
-* **`200`** and above are for "Successful" responses. These are the ones you would use the most.
+* `100 - 199` are for "Information". You rarely use them directly. Responses with these status codes cannot have a body.
+* **`200 - 299`** are for "Successful" responses. These are the ones you would use the most.
* `200` is the default status code, which means everything was "OK".
* Another example would be `201`, "Created". It is commonly used after creating a new record in the database.
* A special case is `204`, "No Content". This response is used when there is no content to return to the client, and so the response must not have a body.
-* **`300`** and above are for "Redirection". Responses with these status codes may or may not have a body, except for `304`, "Not Modified", which must not have one.
-* **`400`** and above are for "Client error" responses. These are the second type you would probably use the most.
+* **`300 - 399`** are for "Redirection". Responses with these status codes may or may not have a body, except for `304`, "Not Modified", which must not have one.
+* **`400 - 499`** are for "Client error" responses. These are the second type you would probably use the most.
* An example is `404`, for a "Not Found" response.
* For generic errors from the client, you can just use `400`.
-* `500` and above are for server errors. You almost never use them directly. When something goes wrong at some part in your application code, or server, it will automatically return one of these status codes.
+* `500 - 599` are for server errors. You almost never use them directly. When something goes wrong at some part in your application code, or server, it will automatically return one of these status codes.
/// tip
diff --git a/docs/es/docs/tutorial/query-params-str-validations.md b/docs/es/docs/tutorial/query-params-str-validations.md
index f378b9dce..9cb76156f 100644
--- a/docs/es/docs/tutorial/query-params-str-validations.md
+++ b/docs/es/docs/tutorial/query-params-str-validations.md
@@ -321,22 +321,6 @@ Asรญ que, cuando necesites declarar un valor como requerido mientras usas `Query
{* ../../docs_src/query_params_str_validations/tutorial006_an_py39.py hl[9] *}
-### Requerido con Puntos suspensivos (`...`)
-
-Hay una manera alternativa de declarar explรญcitamente que un valor es requerido. Puedes establecer el valor por defecto al valor literal `...`:
-
-{* ../../docs_src/query_params_str_validations/tutorial006b_an_py39.py hl[9] *}
-
-/// info | Informaciรณn
-
-Si no habรญas visto eso `...` antes: es un valor especial รบnico, es parte de Python y se llama "Ellipsis".
-
-Se usa por Pydantic y FastAPI para declarar explรญcitamente que un valor es requerido.
-
-///
-
-Esto le permitirรก a **FastAPI** saber que este parรกmetro es requerido.
-
### Requerido, puede ser `None`
Puedes declarar que un parรกmetro puede aceptar `None`, pero que aรบn asรญ es requerido. Esto obligarรญa a los clientes a enviar un valor, incluso si el valor es `None`.
diff --git a/docs/ja/docs/environment-variables.md b/docs/ja/docs/environment-variables.md
new file mode 100644
index 000000000..507af3a0c
--- /dev/null
+++ b/docs/ja/docs/environment-variables.md
@@ -0,0 +1,301 @@
+# ็ฐๅขๅคๆฐ
+
+/// tip
+
+ใใใใ็ฐๅขๅคๆฐใใจใฏไฝใใใใใใฉใไฝฟใใใๆขใซ็ฅใฃใฆใใๅ ดๅใฏใใใฎใปใฏใทใงใณใในใญใใใใฆๆงใใพใใใ
+
+///
+
+็ฐๅขๅคๆฐ๏ผ**env var**ใจใๅผใฐใใ๏ผใฏPythonใณใผใใฎ**ๅคๅด**ใใคใพใ**OS**ใซๅญๅจใใๅคๆฐใงใPythonใใ่ชญใฟๅใใใจใใงใใพใใ๏ผไปใฎใใญใฐใฉใ ใงใๅๆงใซ่ชญใฟๅใใพใใ๏ผ
+
+็ฐๅขๅคๆฐใฏใใขใใชใฑใผใทใงใณใฎ**่จญๅฎ**ใฎ็ฎก็ใใPythonใฎ**ใคใณในใใผใซ**ใชใฉใซๅฝน็ซใกใพใใ
+
+## ็ฐๅขๅคๆฐใฎไฝๆใจไฝฟ็จ
+
+็ฐๅขๅคๆฐใฏ**ใทใงใซ๏ผใฟใผใใใซ๏ผ**ๅ
ใง**ไฝๆ**ใใฆไฝฟ็จใงใใใใใใซPythonใฏไธ่ฆใงใใ
+
+//// tab | Linux, macOS, Windows Bash
+
+
+
+## ์ฌ์ฉ ๊ฐ๋ฅํ ์๋ต๋ค
+
+๋ค์์ ์ฌ์ฉํ ์ ์๋ ๋ช๊ฐ์ง ์๋ต๋ค ์
๋๋ค.
+
+`Response`๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ด๋ค ๊ฒ๋ ๋ฐํ ํ ์ ์์ผ๋ฉฐ, ์ง์ ํ์ ํด๋์ค๋ฅผ ๋ง๋ค ์๋ ์์ต๋๋ค.
+
+/// note | ๊ธฐ์ ์ธ๋ถ์ฌํญ
+
+`from starlette.responses import HTMLResponse`๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
+
+**FastAPI**๋ ๊ฐ๋ฐ์์ธ ์ฌ๋ฌ๋ถ์ ํธ์๋ฅผ ์ํด `starlette.responses`๋ฅผ `fastapi.responses`๋ก ์ ๊ณต ํ์ง๋ง, ๋๋ถ๋ถ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์๋ต์ Starlette์์ ์ง์ ๊ฐ์ ธ์ต๋๋ค.
+
+///
+
+### `Response`
+
+๊ธฐ๋ณธ `Response` ํด๋์ค๋ ๋ค๋ฅธ ๋ชจ๋ ์๋ต ํด๋์ค์ ๋ถ๋ชจ ํด๋์ค ์
๋๋ค.
+
+์ด ํด๋์ค๋ฅผ ์ง์ ๋ฐํํ ์ ์์ต๋๋ค.
+
+๋ค์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค:
+
+* `content` - `str` ๋๋ `bytes`.
+* `status_code` - HTTP ์ํ์ฝ๋๋ฅผ ๋ํ๋ด๋ `int`.
+* `headers` - ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง `dict`.
+* `media_type` - ๋ฏธ๋์ด ํ์
์ ๋ํ๋ด๋ `str` ์: `"text/html"`.
+
+FastAPI (์ค์ ๋ก๋ Starlette)๊ฐ ์๋์ผ๋ก `Content-Length` ํค๋๋ฅผ ํฌํจ์ํต๋๋ค. ๋ํ `media_type`์ ๊ธฐ๋ฐํ์ฌ `Content-Type` ํค๋๋ฅผ ํฌํจํ๋ฉฐ, ํ
์คํธ ํ์
์ ๊ฒฝ์ฐ ๋ฌธ์ ์งํฉ์ ์ถ๊ฐ ํฉ๋๋ค.
+
+{* ../../docs_src/response_directly/tutorial002.py hl[1,18] *}
+
+### `HTMLResponse`
+
+ํ
์คํธ ๋๋ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ HTML ์๋ต์ ๋ฐํํฉ๋๋ค. ์์์ ์ค๋ช
ํ ๋ด์ฉ๊ณผ ๊ฐ์ต๋๋ค.
+
+### `PlainTextResponse`
+
+ํ
์คํธ ๋๋ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ ์ผ๋ฐ ํ
์คํธ ์๋ต์ ๋ฐํํฉ๋๋ค.
+
+{* ../../docs_src/custom_response/tutorial005.py hl[2,7,9] *}
+
+### `JSONResponse`
+
+๋ฐ์ดํฐ๋ฅผ ๋ฐ์ `application/json`์ผ๋ก ์ธ์ฝ๋ฉ๋ ์๋ต์ ๋ฐํํฉ๋๋ค.
+
+์ด๋ ์์์ ์ค๋ช
ํ๋ฏ์ด **FastAPI**์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์๋ต ํ์์
๋๋ค.
+
+### `ORJSONResponse`
+
+ `orjson`์ ์ฌ์ฉํ์ฌ ๋น ๋ฅธ JSON ์๋ต์ ์ ๊ณตํ๋ ๋์์
๋๋ค. ์์์ ์ค๋ช
ํ ๋ด์ฉ๊ณผ ๊ฐ์ต๋๋ค.
+
+/// info | ์ ๋ณด
+
+์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด `orjson`์ ์ค์นํด์ผํฉ๋๋ค. ์: `pip install orjson`.
+
+///
+
+### `UJSONResponse`
+
+`ujson`์ ์ฌ์ฉํ ๋ ๋ค๋ฅธ JSON ์๋ต ํ์์
๋๋ค.
+
+/// info | ์ ๋ณด
+
+์ด ์๋ต์ ์ฌ์ฉํ๋ ค๋ฉด `ujson`์ ์ค์นํด์ผํฉ๋๋ค. ์: 'pip install ujson`.
+
+///
+
+/// warning | ๊ฒฝ๊ณ
+
+`ujson` ์ ์ผ๋ถ ์์ธ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์์ด Python ๋ด์ฅ ๊ตฌํ๋ณด๋ค ๋ ์๊ฒฉํฉ๋๋ค.
+
+///
+
+{* ../../docs_src/custom_response/tutorial001.py hl[2,7] *}
+
+/// tip | ํ
+
+`ORJSONResponse`๊ฐ ๋ ๋น ๋ฅธ ๋์์ผ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
+
+///
+
+### `RedirectResponse`
+
+HTTP ๋ฆฌ๋๋ ์
์๋ต์ ๋ฐํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ํ ์ฝ๋๋ 307(์์ ๋ฆฌ๋๋ ์
)์ผ๋ก ์ค์ ๋ฉ๋๋ค.
+
+`RedirectResponse`๋ฅผ ์ง์ ๋ฐํํ ์ ์์ต๋๋ค.
+
+{* ../../docs_src/custom_response/tutorial006.py hl[2,9] *}
+
+---
+
+๋๋ `response_class` ๋งค๊ฐ๋ณ์์์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค:
+
+
+{* ../../docs_src/custom_response/tutorial006b.py hl[2,7,9] *}
+
+์ด ๊ฒฝ์ฐ, *๊ฒฝ๋ก ์์
* ํจ์์์ URL์ ์ง์ ๋ฐํํ ์ ์์ต๋๋ค.
+
+์ด ๊ฒฝ์ฐ, ์ฌ์ฉ๋๋ `status_code`๋ `RedirectResponse`์ ๊ธฐ๋ณธ๊ฐ์ธ `307` ์
๋๋ค.
+
+---
+
+`status_code` ๋งค๊ฐ๋ณ์๋ฅผ `response_class` ๋งค๊ฐ๋ณ์์ ํจ๊ป ์ฌ์ฉํ ์๋ ์์ต๋๋ค:
+
+{* ../../docs_src/custom_response/tutorial006c.py hl[2,7,9] *}
+
+### `StreamingResponse`
+
+๋น๋๊ธฐ ์ ๋๋ ์ดํฐ ๋๋ ์ผ๋ฐ ์ ๋๋ ์ดํฐ/์ดํฐ๋ ์ดํฐ๋ฅผ ๋ฐ์ ์๋ต ๋ณธ๋ฌธ์ ์คํธ๋ฆฌ๋ฐ ํฉ๋๋ค.
+
+{* ../../docs_src/custom_response/tutorial007.py hl[2,14] *}
+
+#### ํ์ผ๊ณผ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ `StreamingResponse`
+
+ํ์ผ๊ณผ ๊ฐ์ ๊ฐ์ฒด(์: `open()`์ผ๋ก ๋ฐํ๋ ๊ฐ์ฒด)๊ฐ ์๋ ๊ฒฝ์ฐ, ํด๋น ํ์ผ๊ณผ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ณต(iterate)ํ๋ ์ ๋๋ ์ดํฐ ํจ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
+
+์ด ๋ฐฉ์์ผ๋ก, ํ์ผ ์ ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋จผ์ ์ฝ์ด๋ค์ผ ํ์ ์์ด, ์ ๋๋ ์ดํฐ ํจ์๋ฅผ `StreamingResponse`์ ์ ๋ฌํ์ฌ ๋ฐํํ ์ ์์ต๋๋ค.
+
+์ด ๋ฐฉ์์ ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง, ๋น๋์ค ์ฒ๋ฆฌ ๋ฑ์ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
+
+{* ../../docs_src/custom_response/tutorial008.py hl[2,10:12,14] *}
+
+1. ์ด๊ฒ์ด ์ ๋๋ ์ดํฐ ํจ์์
๋๋ค. `yield` ๋ฌธ์ ํฌํจํ๊ณ ์์ผ๋ฏ๋ก "์ ๋๋ ์ดํฐ ํจ์"์
๋๋ค.
+2. `with` ๋ธ๋ก์ ์ฌ์ฉํจ์ผ๋ก์จ, ์ ๋๋ ์ดํฐ ํจ์๊ฐ ์๋ฃ๋ ํ ํ์ผ๊ณผ ๊ฐ์ ๊ฐ์ฒด๊ฐ ๋ซํ๋๋ก ํฉ๋๋ค. ์ฆ, ์๋ต ์ ์ก์ด ๋๋ ํ ๋ซํ๋๋ค.
+3. ์ด `yield from`์ ํจ์๊ฐ `file_like`๋ผ๋ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ณต(iterate)ํ๋๋ก ํฉ๋๋ค. ๋ฐ๋ณต๋ ๊ฐ ๋ถ๋ถ์ ์ด ์ ๋๋ ์ดํฐ ํจ์(`iterfile`)์์ ์์ฑ๋ ๊ฒ์ฒ๋ผ `yield` ๋ฉ๋๋ค.
+
+ ์ด๋ ๊ฒ ํ๋ฉด "์์ฑ(generating)" ์์
์ ๋ด๋ถ์ ์ผ๋ก ๋ค๋ฅธ ๋ฌด์ธ๊ฐ์ ์์ํ๋ ์ ๋๋ ์ดํฐ ํจ์๊ฐ ๋ฉ๋๋ค.
+
+ ์ด ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด `with` ๋ธ๋ก ์์์ ํ์ผ์ ์ด ์ ์์ด, ์์
์ด ์๋ฃ๋ ํ ํ์ผ๊ณผ ๊ฐ์ ๊ฐ์ฒด๊ฐ ๋ซํ๋ ๊ฒ์ ๋ณด์ฅํ ์ ์์ต๋๋ค.
+
+/// tip | ํ
+
+์ฌ๊ธฐ์ ํ์ค `open()`์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ `async`์ `await`๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฒฝ๋ก ์์
์ ์ผ๋ฐ `def`๋ก ์ ์ธํฉ๋๋ค.
+
+///
+
+### `FileResponse`
+
+ํ์ผ์ ๋น๋๊ธฐ๋ก ์คํธ๋ฆฌ๋ฐํ์ฌ ์๋ตํฉ๋๋ค.
+
+๋ค๋ฅธ ์๋ต ์ ํ๊ณผ๋ ๋ค๋ฅธ ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค:
+
+* `path` - ์คํธ๋ฆฌ๋ฐํ ํ์ผ์ ๊ฒฝ๋ก.
+* `headers` - ๋์
๋๋ฆฌ ํ์์ ์ฌ์ฉ์ ์ ์ ํค๋.
+* `media_type` - ๋ฏธ๋์ด ํ์
์ ๋ํ๋ด๋ ๋ฌธ์์ด. ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ ํ์ผ ์ด๋ฆ์ด๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ก ํฉ๋๋ค.
+* `filename` - ์ค์ ๋ ๊ฒฝ์ฐ ์๋ต์ `Content-Disposition`์ ํฌํจ๋ฉ๋๋ค.
+
+ํ์ผ ์๋ต์๋ ์ ์ ํ `Content-Length`, `Last-Modified`, ๋ฐ `ETag` ํค๋๊ฐ ํฌํจ๋ฉ๋๋ค.
+
+{* ../../docs_src/custom_response/tutorial009.py hl[2,10] *}
+
+๋ํ `response_class` ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค:
+
+{* ../../docs_src/custom_response/tutorial009b.py hl[2,8,10] *}
+
+์ด ๊ฒฝ์ฐ, ๊ฒฝ๋ก ์์
ํจ์์์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ๋ฐํํ ์ ์์ต๋๋ค.
+
+## ์ฌ์ฉ์ ์ ์ ์๋ต ํด๋์ค
+
+`Response`๋ฅผ ์์๋ฐ์ ์ฌ์ฉ์ ์ ์ ์๋ต ํด๋์ค๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉํ ์ ์์ต๋๋ค.
+
+์๋ฅผ ๋ค์ด, ํฌํจ๋ `ORJSONResponse` ํด๋์ค์์ ์ฌ์ฉ๋์ง ์๋ ์ค์ ์ผ๋ก orjson์ ์ฌ์ฉํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด๋ด
์๋ค.
+
+๋ง์ฝ ๋ค์ฌ์ฐ๊ธฐ ๋ฐ ํฌ๋งท๋ JSON์ ๋ฐํํ๊ณ ์ถ๋ค๋ฉด, `orjson.OPT_INDENT_2` ์ต์
์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
+
+`CustomORJSONResponse`๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ํต์ฌ์ `Response.render(content)` ๋ฉ์๋๋ฅผ ์์ฑํ์ฌ ๋ด์ฉ์ `bytes`๋ก ๋ฐํํ๋ ๊ฒ์
๋๋ค:
+
+{* ../../docs_src/custom_response/tutorial009c.py hl[9:14,17] *}
+
+์ด์ ๋ค์ ๋์ :
+
+```json
+{"message": "Hello World"}
+```
+
+์ด ์๋ต์ ์ด๋ ๊ฒ ๋ฐํ๋ฉ๋๋ค:
+
+```json
+{
+ "message": "Hello World"
+}
+```
+
+๋ฌผ๋ก JSON ํฌ๋งทํ
๋ณด๋ค ๋ ์ ์ฉํ๊ฒ ํ์ฉํ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์ ๊ฒ์
๋๋ค. ๐
+
+## ๊ธฐ๋ณธ ์๋ต ํด๋์ค
+
+**FastAPI** ํด๋์ค ๊ฐ์ฒด ๋๋ `APIRouter`๋ฅผ ์์ฑํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ ์๋ต ํด๋์ค๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
+
+์ด๋ฅผ ์ ์ํ๋ ๋งค๊ฐ๋ณ์๋ `default_response_class`์
๋๋ค.
+
+์๋ ์์ ์์ **FastAPI**๋ ๋ชจ๋ ๊ฒฝ๋ก ์์
์์ ๊ธฐ๋ณธ์ ์ผ๋ก `JSONResponse` ๋์ `ORJSONResponse`๋ฅผ ์ฌ์ฉํฉ๋๋ค.
+
+{* ../../docs_src/custom_response/tutorial010.py hl[2,4] *}
+
+/// tip | ํ
+
+์ฌ์ ํ ์ด์ ์ฒ๋ผ *๊ฒฝ๋ก ์์
*์์ `response_class`๋ฅผ ์ฌ์ ์ํ ์ ์์ต๋๋ค.
+
+///
+
+## ์ถ๊ฐ ๋ฌธ์ํ
+
+OpenAPI์์ `responses`๋ฅผ ์ฌ์ฉํ์ฌ ๋ฏธ๋์ด ํ์
๋ฐ ๊ธฐํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ์ธํ ์๋ ์์ต๋๋ค: [OpenAPI์์ ์ถ๊ฐ ์๋ต](additional-responses.md){.internal-link target=_blank}.
diff --git a/docs/ko/docs/help-fastapi.md b/docs/ko/docs/help-fastapi.md
index 932952b4a..06435d4bb 100644
--- a/docs/ko/docs/help-fastapi.md
+++ b/docs/ko/docs/help-fastapi.md
@@ -1,162 +1,269 @@
-* # FastAPI ์ง์ - ๋์๋ง ๋ฐ๊ธฐ
+# FastAPI ์ง์ - ๋์ ๋ฐ๊ธฐ
- **FastAPI** ๊ฐ ๋ง์์ ๋์๋์?
+**FastAPI** ๊ฐ ๋ง์์ ๋์๋์?
- FastAPI, ๋ค๋ฅธ ์ฌ์ฉ์, ๊ฐ๋ฐ์๋ฅผ ์์ํ๊ณ ์ถ์ผ์ ๊ฐ์?
+FastAPI, ๋ค๋ฅธ ์ฌ์ฉ์, ๊ฐ๋ฐ์๋ฅผ ์์ํ๊ณ ์ถ์ผ์ ๊ฐ์?
- ํน์ **FastAPI** ์ ๋ํด ๋์์ด ํ์ํ์ ๊ฐ์?
+ํน์ **FastAPI** ์ ๋ํด ๋์์ด ํ์ํ์ ๊ฐ์?
- ์์ฃผ ๊ฐ๋จํ๊ฒ ์์ํ ์ ์์ต๋๋ค (๋ช ๋ฒ์ ํด๋ฆญ๋ง์ผ๋ก).
+์์ฃผ ๊ฐ๋จํ๊ฒ ์์ํ ์ ์์ต๋๋ค (๋ช ๋ฒ์ ํด๋ฆญ๋ง์ผ๋ก).
- ๋ํ ๋์์ ๋ฐ์ ์ ์๋ ๋ฐฉ๋ฒ๋ ๋ช ๊ฐ์ง ์์ต๋๋ค.
+๋ํ ๋์์ ๋ฐ์ ์ ์๋ ๋ฐฉ๋ฒ๋ ๋ช ๊ฐ์ง ์์ต๋๋ค.
- ## ๋ด์ค๋ ํฐ ๊ตฌ๋
+## ๋ด์ค๋ ํฐ ๊ตฌ๋
- [**FastAPI์ ์น๊ตฌ** ๋ด์ค๋ ํฐ](https://github.com/fastapi/fastapi/blob/master/newsletter)๋ฅผ ๊ตฌ๋
ํ์ฌ ์ต์ ์ ๋ณด๋ฅผ ์ ์งํ ์ ์์ต๋๋ค{.internal-link target=_blank}:
+[**FastAPI and friends** ๋ด์ค๋ ํฐ](newsletter.md){.internal-link target=\_blank}๋ฅผ ๊ตฌ๋
ํ์ฌ ์ต์ ์ ๋ณด๋ฅผ ์ ์งํ ์ ์์ต๋๋ค:
- - FastAPI ์ ๊ทธ ์น๊ตฌ๋ค์ ๋ํ ๋ด์ค ๐
- - ๊ฐ์ด๋ ๐
- - ํน์ง โจ
- - ํ๊ธฐ์ ์ธ ๋ณํ ๐จ
- - ํ๊ณผ ์๋ น โ
+* FastAPI and friends์ ๋ํ ๋ด์ค ๐
+* ๊ฐ์ด๋ ๐
+* ๊ธฐ๋ฅ โจ
+* ํ๊ธฐ์ ์ธ ๋ณํ ๐จ
+* ํ๊ณผ ์๋ น โ
- ## ํธ์ํฐ์์ FastAPI ํ๋ก์ฐํ๊ธฐ
+## ํธ์ํฐ์์ FastAPI ํ๋ก์ฐํ๊ธฐ
- [Follow @fastapi on **Twitter**](https://twitter.com/fastapi) ๋ฅผ ํ๋ก์ฐํ์ฌ **FastAPI** ์ ๋ํ ์ต์ ๋ด์ค๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๐ฆ
+**Twitter**์ @fastapi๋ฅผ ํ๋ก์ฐํ์ฌ **FastAPI** ์ ๋ํ ์ต์ ๋ด์ค๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๐ฆ
- ## Star **FastAPI** in GitHub
+## Star **FastAPI** in GitHub
- GitHub์์ FastAPI์ "star"๋ฅผ ๋ถ์ผ ์ ์์ต๋๋ค(์ค๋ฅธ์ชฝ ์๋จ์ star ๋ฒํผ์ ํด๋ฆญ): https://github.com/fastapi/fastapi. โญ๏ธ
+GitHub์์ FastAPI์ "star"๋ฅผ ๋ถ์ผ ์ ์์ต๋๋ค (์ค๋ฅธ์ชฝ ์๋จ์ star ๋ฒํผ์ ํด๋ฆญ): https://github.com/fastapi/fastapi. โญ๏ธ
- ์คํ๋ฅผ ๋๋ฆผ์ผ๋ก์จ, ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ด ์ข ๋ ์ฝ๊ฒ ์ฐพ์ ์ ์๊ณ , ๋ง์ ์ฌ๋๋ค์๊ฒ ์ ์ฉํ ๊ฒ์์ ๋ํ๋ผ ์ ์์ต๋๋ค.
+์คํ๋ฅผ ๋๋ฆผ์ผ๋ก์จ, ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ด ์ข ๋ ์ฝ๊ฒ ์ฐพ์ ์ ์๊ณ , ๋ง์ ์ฌ๋๋ค์๊ฒ ์ ์ฉํ ๊ฒ์์ ๋ํ๋ผ ์ ์์ต๋๋ค.
- ## GitHub ์ ์ฅ์์์ ๋ฆด๋ฆฌ์ฆ ํ์ธ
+## GitHub ์ ์ฅ์์์ ๋ฆด๋ฆฌ์ฆ ํ์ธ
- GitHub์์ FastAPI๋ฅผ "watch"ํ ์ ์์ต๋๋ค (์ค๋ฅธ์ชฝ ์๋จ watch ๋ฒํผ์ ํด๋ฆญ): https://github.com/fastapi/fastapi. ๐
+GitHub์์ FastAPI๋ฅผ "watch"ํ ์ ์์ต๋๋ค (์ค๋ฅธ์ชฝ ์๋จ watch ๋ฒํผ์ ํด๋ฆญ): https://github.com/fastapi/fastapi. ๐
- ์ฌ๊ธฐ์ "Releases only"์ ์ ํํ ์ ์์ต๋๋ค.
+์ฌ๊ธฐ์ "Releases only"์ ์ ํํ ์ ์์ต๋๋ค.
- ์ด๋ ๊ฒํ๋ฉด, **FastAPI** ์ ๋ฒ๊ทธ ์์ ๋ฐ ์๋ก์ด ๊ธฐ๋ฅ์ ๊ตฌํ ๋ฑ์ ์๋ก์ด ์๋ฃ (์ต์ ๋ฒ์ )์ด ์์ ๋๋ง๋ค (์ด๋ฉ์ผ) ํต์ง๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
+์ด๋ ๊ฒํ๋ฉด, **FastAPI** ์ ๋ฒ๊ทธ ์์ ๋ฐ ์๋ก์ด ๊ธฐ๋ฅ์ ๊ตฌํ ๋ฑ์ ์๋ก์ด ์๋ฃ (์ต์ ๋ฒ์ )์ด ์์ ๋๋ง๋ค (์ด๋ฉ์ผ) ํต์ง๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
- ## ๊ฐ๋ฐ์์์ ์ฐ๊ฒฐ
+## ๊ฐ๋ฐ์์์ ์ฐ๊ฒฐ
- ๊ฐ๋ฐ์์ธ [me (Sebastiรกn Ramรญrez / `tiangolo`)](https://tiangolo.com/) ์ ์ฐ๋ฝ์ ์ทจํ ์ ์์ต๋๋ค.
+๊ฐ๋ฐ์(Sebastiรกn Ramรญrez / `tiangolo`)์ ์ฐ๋ฝ์ ์ทจํ ์ ์์ต๋๋ค.
- ์ฌ๋ฌ๋ถ์ ํ ์ ์์ต๋๋ค:
+์ฌ๋ฌ๋ถ์ ํ ์ ์์ต๋๋ค:
- - [**GitHub**์์ ํ๋ก์ฐํ๊ธฐ](https://github.com/tiangolo).
- - ๋น์ ์๊ฒ ๋์์ด ๋ ์ ์ ๋ค๋ฅธ ์คํ์์ค ํ๋ก์ ํธ๋ฅผ ํ์ธํ์ญ์์ค.
- - ์๋ก์ด ์คํ์์ค ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์์ ๋ ํ์ธํ๋ ค๋ฉด ํ๋ก์ฐ ํ์ญ์์ค.
+* **GitHub**์์ ํ๋ก์ฐํ๊ธฐ..
+ * ๋น์ ์๊ฒ ๋์์ด ๋ ์ ์ ๋ค๋ฅธ ์คํ์์ค ํ๋ก์ ํธ๋ฅผ ํ์ธํ์ญ์์ค.
+ * ์๋ก์ด ์คํ์์ค ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์์ ๋ ํ์ธํ๋ ค๋ฉด ํ๋ก์ฐ ํ์ญ์์ค.
+* **Twitter** ๋๋ Mastodon์์ ํ๋ก์ฐํ๊ธฐ.
+ * FastAPI์ ์ฌ์ฉ ์ฉ๋๋ฅผ ์๋ ค์ฃผ์ธ์ (๊ทธ๊ฒ์ ๋ฃ๋ ๊ฒ์ ์ข์ํฉ๋๋ค).
+ * ๋ฐํ๋ ์๋ก์ด ํด ์ถ์ ์์์ ๋ฐ์๋ณด์ญ์์ค.
+ * **Twitter**์ @fastapi๋ฅผ ํ๋ก์ฐ (๋ณ๋ ๊ณ์ ์์) ํ ์ ์์ต๋๋ค.
+* **LinkedIn**์์ ํ๋ก์ฐํ๊ธฐ..
+ * ์๋ก์ด ํด์ ๋ฐํ๋ ์ถ์ ์์์ ๋ฐ์๋ณด์ญ์์ค. (๋จ, Twitter๋ฅผ ๋ ์์ฃผ ์ฌ์ฉํฉ๋๋ค ๐คทโโ).
+* **Dev.to** ๋๋ **Medium**์์ ์ ๊ฐ ์์ฑํ ๋ด์ฉ์ ์ฝ์ด ๋ณด์ญ์์ค (๋๋ ํ๋ก์ฐ).
+ * ๋ค๋ฅธ ๊ธฐ์ฌ๋ ์์ด๋์ด๋ค์ ์ฝ๊ณ , ์ ๊ฐ ๋ง๋ค์ด์๋ ํด์ ๋ํด์๋ ์ฝ์ผ์ญ์์ค.
+ * ์๋ก์ด ๊ธฐ์ฌ๋ฅผ ์ฝ๊ธฐ ์ํด ํ๋ก์ฐ ํ์ญ์์ค.
- - [**Twitter**์์ ํ๋ก์ฐํ๊ธฐ](https://twitter.com/tiangolo).
- - FastAPI์ ์ฌ์ฉ ์ฉ๋๋ฅผ ์๋ ค์ฃผ์ธ์ (๊ทธ๊ฒ์ ๋ฃ๋ ๊ฒ์ ์ข์ํฉ๋๋ค).
- - ๋ฐํ ๋๋ ์๋ก์ด ํด ์ถ์ํ ๋ ๋ค์ผ์ญ์์ค.
- - [follow @fastapi on Twitter](https://twitter.com/fastapi) (๋ณ๋ ๊ณ์ ์์) ํ ์ ์์ต๋๋ค.
+## **FastAPI**์ ๋ํ ํธ์
- - [**Linkedin**์์์ ์ฐ๊ฒฐ](https://www.linkedin.com/in/tiangolo/).
- - ์๋ก์ด ํด์ ๋ฐํ๋ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ค์ ์ ์์ต๋๋ค (๋จ, Twitter๋ฅผ ๋ ์์ฃผ ์ฌ์ฉํฉ๋๋ค ๐คทโโ).
+**FastAPI**์ ๋ํด ํธ์ ํ๊ณ FastAPI๊ฐ ๋ง์์ ๋๋ ์ด์ ๋ฅผ ์๋ ค์ฃผ์ธ์. ๐
- - [**Dev.to**](https://dev.to/tiangolo) ๋๋ [**Medium**](https://medium.com/@tiangolo)์์ ์ ๊ฐ ์์ฑํ ๋ด์ฉ์ ์ฝ์ด ๋ณด์ญ์์ค(๋๋ ํ๋ก์ฐ).
- - ๋ค๋ฅธ ๊ธฐ์ฌ๋ ์์ด๋์ด๋ค์ ์ฝ๊ณ , ์ ๊ฐ ๋ง๋ค์ด์๋ ํด์ ๋ํด์๋ ์ฝ์ผ์ญ์์ค.
- - ์๋ก์ด ๊ธฐ์ฌ๋ฅผ ์ฝ๊ธฐ ์ํด ํ๋ก์ฐ ํ์ญ์์ค.
+**FastAPI**๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๊ณ ์๋์ง, ์ด๋ค ์ ์ด ๋ง์์ ๋ค์๋์ง, ์ด๋ค ํ๋ก์ ํธ/ํ์ฌ์์ ์ฌ์ฉํ๊ณ ์๋์ง ๋ฑ์ ๋ํด ๋ฃ๊ณ ์ถ์ต๋๋ค.
- ## **FastAPI**์ ๋ํ ํธ์
+## FastAPI์ ํฌํํ๊ธฐ
- [**FastAPI**์ ๋ํด ํธ์](https://twitter.com/compose/tweet?text=I'm loving @fastapi because... https://github.com/fastapi/fastapi) ํ๊ณ FastAPI๊ฐ ๋ง์์ ๋๋ ์ด์ ๋ฅผ ์๋ ค์ฃผ์ธ์. ๐
+* Slant์์ **FastAPI** ์ ๋ํด ํฌํํ์ญ์์ค.
+* AlternativeTo์์ **FastAPI** ์ ๋ํด ํฌํํ์ญ์์ค.
+* StackShare์์ **FastAPI** ์ ๋ํด ํฌํํ์ญ์์ค.
- **FastAPI**๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๊ณ ์๋์ง, ์ด๋ค ์ ์ด ๋ง์์ ๋ค์๋์ง, ์ด๋ค ํ๋ก์ ํธ/ํ์ฌ์์ ์ฌ์ฉํ๊ณ ์๋์ง ๋ฑ์ ๋ํด ๋ฃ๊ณ ์ถ์ต๋๋ค.
+## GitHub์ ์ด์๋ก ๋ค๋ฅธ์ฌ๋ ๋๊ธฐ
- ## FastAPI์ ํฌํํ๊ธฐ
+๋ค๋ฅธ ์ฌ๋๋ค์ ์ง๋ฌธ์ ๋์์ ์ค ์ ์์ต๋๋ค:
- - [Slant์์ **FastAPI** ์ ๋ํด ํฌํํ์ญ์์ค](https://www.slant.co/options/34241/~fastapi-review).
- - [AlternativeTo**FastAPI** ์ ๋ํด ํฌํํ์ญ์์ค](https://alternativeto.net/software/fastapi/).
+* GitHub ๋์ค์ปค์
+* GitHub ์ด์
- ## GitHub์ ์ด์๋ก ๋ค๋ฅธ์ฌ๋ ๋๊ธฐ
+๋ง์ ๊ฒฝ์ฐ, ์ฌ๋ฌ๋ถ์ ์ด๋ฏธ ๊ทธ ์ง๋ฌธ์ ๋ํ ๋ต์ ์๊ณ ์์ ์๋ ์์ต๋๋ค. ๐ค
- [์กด์ฌํ๋ ์ด์](https://github.com/fastapi/fastapi/issues)๋ฅผ ํ์ธํ๊ณ ๊ทธ๊ฒ์ ์๋ํ๊ณ ๋์์ค ์ ์์ต๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ด๋ฏธ ๋ต์ ์๊ณ ์๋ ์ง๋ฌธ์
๋๋ค. ๐ค
+๋ง์ฝ ๋ง์ ์ฌ๋๋ค์ ๋ฌธ์ ๋ฅผ ๋์์ค๋ค๋ฉด, ๊ณต์์ ์ธ [FastAPI ์ ๋ฌธ๊ฐ](fastapi-people.md#fastapi-experts){.internal-link target=\_blank} ๊ฐ ๋ ๊ฒ์
๋๋ค. ๐
- ๋ง์ ์ฌ๋๋ค์ ๋ฌธ์ ๋ฅผ ๋์์ค๋ค๋ฉด, ๊ณต์์ ์ธ [FastAPI ์ ๋ฌธ๊ฐ](https://github.com/fastapi/fastapi/blob/master/docs/en/docs/fastapi-people.md#experts) ๊ฐ ๋ ์ ์์ต๋๋ค{.internal-link target=_blank}. ๐
+๊ฐ์ฅ ์ค์ํ ์ ์: ์น์ ํ๋ ค๊ณ ๋
ธ๋ ฅํ๋ ๊ฒ์
๋๋ค. ์ฌ๋๋ค์ ์ข์ ๊ฐ์ ์๊ณ ์ค๋ฉฐ, ๋ง์ ๊ฒฝ์ฐ ์ต์ ์ ๋ฐฉ์์ผ๋ก ์ง๋ฌธํ์ง ์์ ์๋ ์์ต๋๋ค. ํ์ง๋ง ์ต๋ํ ์น์ ํ๊ฒ ๋ํ๋ ค๊ณ ๋
ธ๋ ฅํ์ธ์. ๐ค
- ## GitHub ์ ์ฅ์ ๋ณด๊ธฐ
+**FastAPI** ์ปค๋ฎค๋ํฐ์ ๋ชฉํ๋ ์น์ ํ๊ณ ํ์ํ๋ ๊ฒ์
๋๋ค. ๋์์, ๊ดด๋กญํ์ด๋ ๋ฌด๋กํ ํ๋์ ๋ฐ์๋ค์ด์ง ๋ง์ธ์. ์ฐ๋ฆฌ๋ ์๋ก๋ฅผ ๋๋ด์ผ ํฉ๋๋ค.
- GitHub์์ FastAPI๋ฅผ "watch"ํ ์ ์์ต๋๋ค (์ค๋ฅธ์ชฝ ์๋จ watch ๋ฒํผ์ ํด๋ฆญ): https://github.com/fastapi/fastapi. ๐
+---
- "Releases only" ๋์ "Watching"์ ์ ํํ๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์๋ก์ด issue๋ฅผ ์์ฑํ ๋ ์๋ฆผ์ด ์์ ๋ฉ๋๋ค.
+๋ค๋ฅธ ์ฌ๋๋ค์ ์ง๋ฌธ (๋์ค์ปค์
๋๋ ์ด์์์) ํด๊ฒฐ์ ๋์ธ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ทธ๋ฐ ๋ค์ ์ด๋ฐ issues๋ฅผ ํด๊ฒฐ ํ ์ ์๋๋ก ๋์์ ์ค ์ ์์ต๋๋ค.
+### ์ง๋ฌธ ์ดํดํ๊ธฐ
- ## ์ด์ ์์ฑํ๊ธฐ
+* ์ง๋ฌธํ๋ ์ฌ๋์ด ๊ฐ์ง **๋ชฉ์ **๊ณผ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ดํดํ ์ ์๋์ง ํ์ธํ์ธ์.
- GitHub ์ ์ฅ์์ [์๋ก์ด ์ด์ ์์ฑ](https://github.com/fastapi/fastapi/issues/new/choose) ์ ํ ์ ์์ต๋๋ค, ์๋ฅผ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
+* ์ง๋ฌธ (๋๋ถ๋ถ์ ์ง๋ฌธ์
๋๋ค)์ด **๋ช
ํ**ํ์ง ํ์ธํ์ธ์.
- - **์ง๋ฌธ**์ ํ๊ฑฐ๋ **๋ฌธ์ **์ ๋ํด ์ง๋ฌธํฉ๋๋ค.
- - ์๋ก์ด **๊ธฐ๋ฅ**์ ์ ์ ํฉ๋๋ค.
+* ๋ง์ ๊ฒฝ์ฐ, ์ฌ์ฉ์๊ฐ ๊ฐ์ ํ ํด๊ฒฐ์ฑ
์ ๋ํ ์ง๋ฌธ์ ํ์ง๋ง, ๋ **์ข์** ํด๊ฒฐ์ฑ
์ด ์์ ์ ์์ต๋๋ค. ๋ฌธ์ ์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๋ ์ ์ดํดํ๋ฉด ๋ ๋์ **๋์์ ์ธ ํด๊ฒฐ์ฑ
**์ ์ ์ํ ์ ์์ต๋๋ค.
- **์ฐธ๊ณ **: ๋ง์ฝ ์ด์๋ฅผ ์์ฑํ๋ค๋ฉด, ์ ๋ ์ฌ๋ฌ๋ถ์๊ฒ ๋ค๋ฅธ ์ฌ๋๋ค์ ๋์๋ฌ๋ผ๊ณ ๋ถํํ ๊ฒ์
๋๋ค. ๐
+* ์ง๋ฌธ์ ์ดํดํ ์ ์๋ค๋ฉด, ๋ **์์ธํ ์ ๋ณด**๋ฅผ ์์ฒญํ์ธ์.
- ## Pull Request๋ฅผ ๋ง๋์ญ์์ค
+### ๋ฌธ์ ์ฌํํ๊ธฐ
- Pull Requests๋ฅผ ์ด์ฉํ์ฌ ์์ค์ฝ๋์ [์ปจํธ๋ฆฌ๋ทฐํธ](https://github.com/fastapi/fastapi/blob/master/docs/en/docs/contributing.md){.internal-link target=_blank} ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
+๋๋ถ๋ถ์ ๊ฒฝ์ฐ, ์ง๋ฌธ์ ์ง๋ฌธ์์ **์๋ณธ ์ฝ๋**์ ๊ด๋ จ์ด ์์ต๋๋ค.
- - ๋ฌธ์์์ ์ฐพ์ ์คํ๋ฅผ ์์ ํ ๋.
+๋ง์ ๊ฒฝ์ฐ, ์ฝ๋์ ์ผ๋ถ๋ง ๋ณต์ฌํด์ ์ฌ๋ฆฌ์ง๋ง, ๊ทธ๊ฒ๋ง์ผ๋ก๋ **๋ฌธ์ ๋ฅผ ์ฌํ**ํ๊ธฐ์ ์ถฉ๋ถํ์ง ์์ต๋๋ค.
- - FastAPI๋ฅผ [ํธ์งํ์ฌ](https://github.com/fastapi/fastapi/edit/master/docs/en/data/external_links.yml) ์์ฑํ๊ฑฐ๋ ์ฐพ์ ๋ฌธ์, ๋น๋์ค ๋๋ ํ์บ์คํธ๋ฅผ ๊ณต์ ํ ๋.
+* ์ง๋ฌธ์์๊ฒ ์ต์ํ์ ์ฌํ ๊ฐ๋ฅํ ์์ ๋ฅผ ์ ๊ณตํด๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋๋ฅผ **๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ**ํ์ฌ ์ง์ ์คํํ๊ณ , ๋์ผํ ์ค๋ฅ๋ ๋์์ ํ์ธํ๊ฑฐ๋ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๋ ์ ์ดํดํ ์ ์์ต๋๋ค.
- - ํด๋น ์น์
์ ์์ ๋ถ๋ถ์ ๋งํฌ๋ฅผ ์ถ๊ฐํ๋์ง ํ์ธํ์ญ์์ค.
+* ๋๊ทธ๋ฌ์ด ๋ง์์ด ๋ ๋ค๋ฉด, ๋ฌธ์ ์ค๋ช
๋ง์ ๊ธฐ๋ฐ์ผ๋ก ์ง์ **์์ ๋ฅผ ๋ง๋ค์ด**๋ณผ ์๋ ์์ต๋๋ค. ํ์ง๋ง, ์ด๋ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆด ์ ์์ผ๋ฏ๋ก, ๋จผ์ ์ง๋ฌธ์ ๋ช
ํํ ํด๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- - ๋น์ ์ ์ธ์ด๋ก [๋ฌธ์ ๋ฒ์ญํ๋๋ฐ](https://github.com/fastapi/fastapi/blob/master/docs/en/docs/contributing.md#translations){.internal-link target=_blank} ๊ธฐ์ฌํ ๋.
+### ํด๊ฒฐ์ฑ
์ ์ํ๊ธฐ
- - ๋ํ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ๋ง๋ ๋ฒ์ญ์ ๊ฒํ ํ๋๋ฐ ๋์์ ์ค ์๋ ์์ต๋๋ค.
+* ์ง๋ฌธ์ ์ถฉ๋ถํ ์ดํดํ ํ์๋ ๊ฐ๋ฅํ **๋ต๋ณ**์ ์ ๊ณตํ ์ ์์ต๋๋ค.
- - ์๋ก์ด ๋ฌธ์์ ์น์
์ ์ ์ํ ๋.
+* ๋ง์ ๊ฒฝ์ฐ, ์ง๋ฌธ์์ **๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๋ ์ฌ์ฉ ์ฌ๋ก**๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ทธ๋ค์ด ์๋ํ๋ ๋ฐฉ๋ฒ๋ณด๋ค ๋ ๋์ ํด๊ฒฐ์ฑ
์ด ์์ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
- - ๊ธฐ์กด ๋ฌธ์ /๋ฒ๊ทธ๋ฅผ ์์ ํ ๋.
+### ํด๊ฒฐ ์์ฒญํ๊ธฐ
- - ์๋ก์ด feature๋ฅผ ์ถ๊ฐํ ๋.
+์ง๋ฌธ์๊ฐ ๋ต๋ณ์ ํ์ธํ๊ณ ๋๋ฉด, ๋น์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ถํํฉ๋๋ค, **๋น์ ์ ์์
์
๋๋ค**! ๐ฆธ
- ## ์ฑํ
์ ์ฐธ์ฌํ์ญ์์ค
+* ์ด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๋ฉด, ์ง๋ฌธ์์๊ฒ ๋ค์์ ์์ฒญํ ์ ์์ต๋๋ค.
- ๐ฅ [๋์ค์ฝ๋ ์ฑํ
์๋ฒ](https://discord.gg/VQjSZaeJmf) ๐ฅ ์ ๊ฐ์
ํ๊ณ FastAPI ์ปค๋ฎค๋ํฐ์์ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ์ด์ธ๋ฆฌ์ธ์.
+ * GitHub ๋์ค์ปค์
์์: ๋๊ธ์ **๋ต๋ณ**์ผ๋ก ํ์ํ๋๋ก ์์ฒญํ์ธ์.
+ * GitHub ์ด์์์: ์ด์๋ฅผ **๋ซ์๋ฌ๋ผ๊ณ ** ์์ฒญํ์ธ์.
- /// tip
+## GitHub ์ ์ฅ์ ๋ณด๊ธฐ
- ์ง๋ฌธ์ด ์๋ ๊ฒฝ์ฐ, [GitHub ์ด์ ](https://github.com/fastapi/fastapi/issues/new/choose) ์์ ์ง๋ฌธํ์ญ์์ค, [FastAPI ์ ๋ฌธ๊ฐ](https://github.com/fastapi/fastapi/blob/master/docs/en/docs/fastapi-people.md#experts) ์ ๋์์ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค{.internal-link target=_blank} .
+GitHub์์ FastAPI๋ฅผ "watch"ํ ์ ์์ต๋๋ค (์ค๋ฅธ์ชฝ ์๋จ watch ๋ฒํผ์ ํด๋ฆญ): https://github.com/fastapi/fastapi. ๐
- ///
+"Releases only" ๋์ "Watching"์ ์ ํํ๋ฉด, ์๋ก์ด ์ด์๋ ์ง๋ฌธ์ด ์์ฑ๋ ๋ ์๋ฆผ์ ๋ฐ์ ์ ์์ต๋๋ค. ๋ํ, ํน์ ํ๊ฒ ์๋ก์ด ์ด์, ๋์ค์ปค์
, PR ๋ฑ๋ง ์๋ฆผ ๋ฐ๋๋ก ์ค์ ํ ์๋ ์์ต๋๋ค.
- ```
- ๋ค๋ฅธ ์ผ๋ฐ์ ์ธ ๋ํ์์๋ง ์ฑํ
์ ์ฌ์ฉํ์ญ์์ค.
- ```
+๊ทธ๋ฐ ๋ค์ ์ด๋ฐ ์ด์๋ค์ ํด๊ฒฐ ํ ์ ์๋๋ก ๋์์ ์ค ์ ์์ต๋๋ค.
- ๊ธฐ์กด [์งํฐ ์ฑํ
](https://gitter.im/fastapi/fastapi) ์ด ์์ง๋ง ์ฑ๋๊ณผ ๊ณ ๊ธ๊ธฐ๋ฅ์ด ์์ด์ ๋ํ๋ฅผ ํ๊ธฐ๊ฐ ์กฐ๊ธ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ง๊ธ์ ๋์ค์ฝ๋๊ฐ ๊ถ์ฅ๋๋ ์์คํ
์
๋๋ค.
+## ์ด์ ์์ฑํ๊ธฐ
- ### ์ง๋ฌธ์ ์ํด ์ฑํ
์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค
+GitHub ์ ์ฅ์์ ์๋ก์ด ์ด์ ์์ฑ์ ํ ์ ์์ต๋๋ค, ์๋ฅผ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ฑํ
์ ๋ ๋ง์ "์์ ๋ก์ด ๋ํ"๋ฅผ ํ์ฉํ๊ธฐ ๋๋ฌธ์, ๋๋ฌด ์ผ๋ฐ์ ์ธ ์ง๋ฌธ์ด๋ ๋๋ตํ๊ธฐ ์ด๋ ค์ด ์ง๋ฌธ์ ์ฝ๊ฒ ์ง๋ฌธ์ ํ ์ ์์ผ๋ฏ๋ก, ๋ต๋ณ์ ๋ฐ์ง ๋ชปํ ์ ์์ต๋๋ค.
+* **์ง๋ฌธ**์ ํ๊ฑฐ๋ **๋ฌธ์ **์ ๋ํด ์ง๋ฌธํฉ๋๋ค.
+* ์๋ก์ด **๊ธฐ๋ฅ**์ ์ ์ ํฉ๋๋ค.
- GitHub ์ด์์์์ ํ
ํ๋ฆฟ์ ์ฌ๋ฐ๋ฅธ ์ง๋ฌธ์ ์์ฑํ๋๋ก ์๋ดํ์ฌ ๋ ์ฝ๊ฒ ์ข์ ๋ต๋ณ์ ์ป๊ฑฐ๋ ์ง๋ฌธํ๊ธฐ ์ ์ ์ค์ค๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ GitHub์์๋ ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ฆฌ๋๋ผ๋ ํญ์ ๋ชจ๋ ๊ฒ์ ๋ตํ ์ ์์ต๋๋ค. ์ฑํ
์์คํ
์์๋ ๊ฐ์ธ์ ์ผ๋ก ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค. ๐
+**์ฐธ๊ณ **: ๋ง์ฝ ์ด์๋ฅผ ์์ฑํ๋ค๋ฉด, ์ ๋ ์ฌ๋ฌ๋ถ์๊ฒ ๋ค๋ฅธ ์ฌ๋๋ค์ ๋์๋ฌ๋ผ๊ณ ๋ถํํ ๊ฒ์
๋๋ค. ๐
- ์ฑํ
์์คํ
์์์ ๋ํ ๋ํ GitHub์์ ์ฒ๋ผ ์ฝ๊ฒ ๊ฒ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ํ ์ค์ ์ง๋ฌธ๊ณผ ๋ต๋ณ์ด ์์ค๋ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ GitHub ์ด์์ ์๋ ๊ฒ๋ง [FastAPI ์ ๋ฌธ๊ฐ](https://github.com/fastapi/fastapi/blob/master/docs/en/docs/fastapi-people.md#experts)๊ฐ ๋๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ฏ๋ก{.internal-link target=_blank} , GitHub ์ด์์์ ๋ ๋ง์ ๊ด์ฌ์ ๋ฐ์ ๊ฒ์
๋๋ค.
+## Pull Requests ๋ฆฌ๋ทฐํ๊ธฐ
- ๋ฐ๋ฉด, ์ฑํ
์์คํ
์๋ ์์ฒ ๋ช
์ ์ฌ์ฉ์๊ฐ ์๊ธฐ ๋๋ฌธ์, ๊ฑฐ์ ํญ์ ๋ํ ์๋๋ฅผ ์ฐพ์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๐
+๋ค๋ฅธ ์ฌ๋๋ค์ pull request๋ฅผ ๋ฆฌ๋ทฐํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค.
- ## ๊ฐ๋ฐ์ ์คํฐ์๊ฐ ๋์ญ์์ค
+๋ค์ ํ๋ฒ ๋งํ์ง๋ง, ์ต๋ํ ์น์ ํ๊ฒ ๋ฆฌ๋ทฐํด ์ฃผ์ธ์. ๐ค
- [GitHub ์คํฐ์](https://github.com/sponsors/tiangolo) ๋ฅผ ํตํด ๊ฐ๋ฐ์๋ฅผ ๊ฒฝ์ ์ ์ผ๋ก ์ง์ํ ์ ์์ต๋๋ค.
+---
- ๊ฐ์ฌํ๋ค๋ ๋ง๋ก ์ปคํผ๋ฅผ โ๏ธ ํ์ ์ฌ์ค ์ ์์ต๋๋ค. ๐
+Pull Rrquest๋ฅผ ๋ฆฌ๋ทฐํ ๋ ๊ณ ๋ คํด์ผ ํ ์ฌํญ๊ณผ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ํ FastAPI์ ์ค๋ฒ ๋๋ ๊ณจ๋ ์คํฐ์๊ฐ ๋ ์ ์์ต๋๋ค. ๐
๐
+### ๋ฌธ์ ์ดํดํ๊ธฐ
- ## FastAPI๋ฅผ ๊ฐํํ๋ ๋๊ตฌ์ ์คํฐ์๊ฐ ๋์ญ์์ค
+* ๋จผ์ , ํด๋น pull request๊ฐ ํด๊ฒฐํ๋ ค๋ **๋ฌธ์ ๋ฅผ ์ดํดํ๋์ง** ํ์ธํ์ธ์. GitHub ๋์ค์ปค์
๋๋ ์ด์์์ ๋ ๊ธด ๋
ผ์๊ฐ ์์์ ์๋ ์์ต๋๋ค.
- ๋ฌธ์์์ ๋ณด์๋ฏ์ด, FastAPI๋ Starlette๊ณผ Pydantic ๋ผ๋ ๊ฑฐ์ธ์ ์ด๊นจ์ ํ๊ณ ์์ต๋๋ค.
+* Pull request๊ฐ ํ์ํ์ง ์์ ๊ฐ๋ฅ์ฑ๋ ์์ต๋๋ค. **๋ค๋ฅธ ๋ฐฉ์**์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ฉด, ๊ทธ ๋ฐฉ๋ฒ์ ์ ์ํ๊ฑฐ๋ ์ง๋ฌธํ ์ ์์ต๋๋ค.
- ๋ค์์ ์คํฐ์๊ฐ ๋ ์ ์์ต๋๋ค
+### ์คํ์ผ์ ๋๋ฌด ์ ๊ฒฝ ์ฐ์ง ์๊ธฐ
- - [Samuel Colvin (Pydantic)](https://github.com/sponsors/samuelcolvin)
- - [Encode (Starlette, Uvicorn)](https://github.com/sponsors/encode)
+* ์ปค๋ฐ ๋ฉ์์ง ์คํ์ผ ๊ฐ์ ๊ฒ์ ๋๋ฌด ์ ๊ฒฝ ์ฐ์ง ์์๋ ๋ฉ๋๋ค. ์ ๋ ์ง์ ์ปค๋ฐ์ ์์ ํ์ฌ squash and merge๋ฅผ ์ํํ ๊ฒ์
๋๋ค.
- ------
+* ์ฝ๋ ์คํ์ผ ๊ท์น๋ ๊ฑฑ์ ํ ํ์ ์์ต๋๋ค. ์ด๋ฏธ ์๋ํ๋ ๋๊ตฌ๋ค์ด ์ด๋ฅผ ๊ฒ์ฌํ๊ณ ์์ต๋๋ค.
- ๊ฐ์ฌํฉ๋๋ค! ๐
+์คํ์ผ์ด๋ ์ผ๊ด์ฑ ๊ด๋ จ ์์ฒญ์ด ํ์ํ ๊ฒฝ์ฐ, ์ ๊ฐ ์ง์ ์์ฒญํ๊ฑฐ๋ ํ์ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ๊ฐ ์ปค๋ฐ์ผ๋ก ์์ ํ ๊ฒ์
๋๋ค.
+
+### ์ฝ๋ ํ์ธํ๊ธฐ
+
+* ์ฝ๋๋ฅผ ์ฝ๊ณ , **๋
ผ๋ฆฌ์ ์ผ๋ก ํ๋น**ํ์ง ํ์ธํ ํ ๋ก์ปฌ์์ ์คํํ์ฌ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋์ง ํ์ธํ์ธ์.
+
+* ๊ทธ๋ฐ ๋ค์, ํ์ธํ๋ค๊ณ **๋๊ธ**์ ๋จ๊ฒจ ์ฃผ์ธ์. ๊ทธ๋์ผ ์ ๊ฐ ๊ฒํ ํ์์ ์ ์ ์์ต๋๋ค.
+
+/// info
+
+๋ถํํ๋, ์ ๊ฐ ๋จ์ํ ์ฌ๋ฌ ๊ฐ์ ์น์ธ๋ง์ผ๋ก PR์ ์ ๋ขฐํ ์๋ ์์ต๋๋ค.
+
+3๊ฐ, 5๊ฐ ์ด์์ ์น์ธ์ด ๋ฌ๋ฆฐ PR์ด ์ค์ ๋ก๋ ๊นจ์ ธ ์๊ฑฐ๋, ๋ฒ๊ทธ๊ฐ ์๊ฑฐ๋, ์ฃผ์ฅํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์ฌ๋ฌ ๋ฒ ์์์ต๋๋ค. ๐
+
+๋ฐ๋ผ์, ์ ๋ง๋ก ์ฝ๋๋ฅผ ์ฝ๊ณ ์คํํ ๋ค, ๋๊ธ๋ก ํ์ธ ๋ด์ฉ์ ๋จ๊ฒจ ์ฃผ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค. ๐ค
+
+///
+
+* PR์ ๋ ๋จ์ํ๊ฒ ๋ง๋ค ์ ์๋ค๋ฉด ๊ทธ๋ ๊ฒ ์์ฒญํ ์ ์์ง๋ง, ๋๋ฌด ๊น๋ค๋ก์ธ ํ์๋ ์์ต๋๋ค. ์ฃผ๊ด์ ์ธ ๊ฒฌํด๊ฐ ๋ง์ด ์์ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค (๊ทธ๋ฆฌ๊ณ ์ ๋ ์ ๊ฒฌํด๊ฐ ์์ ๊ฑฐ์์ ๐). ๋ฐ๋ผ์ ํต์ฌ์ ์ธ ๋ถ๋ถ์ ์ง์คํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
+
+### ํ
์คํธ
+
+* PR์ **ํ
์คํธ**๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธํ๋ ๋ฐ ๋์์ ์ฃผ์ธ์.
+
+* PR์ ์ ์ฉํ๊ธฐ ์ ์ ํ
์คํธ๊ฐ **์คํจ**ํ๋์ง ํ์ธํ์ธ์. ๐จ
+
+* PR์ ์ ์ฉํ ํ ํ
์คํธ๊ฐ **ํต๊ณผ**ํ๋์ง ํ์ธํ์ธ์. โ
+
+* ๋ง์ PR์๋ ํ
์คํธ๊ฐ ์์ต๋๋ค. ํ
์คํธ๋ฅผ ์ถ๊ฐํ๋๋ก **์๊ธฐ**์์ผ์ค ์๋ ์๊ณ , ์ง์ ํ
์คํธ๋ฅผ **์ ์**ํ ์๋ ์์ต๋๋ค. ์ด๋ ์๊ฐ์ด ๋ง์ด ์์๋๋ ๋ถ๋ถ ์ค ํ๋์ด๋ฉฐ, ๊ทธ ๋ถ๋ถ์ ๋ง์ด ๋์์ค ์ ์์ต๋๋ค.
+
+* ๊ทธ๋ฆฌ๊ณ ์๋ํ ๋ด์ฉ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์. ๊ทธ๋ฌ๋ฉด ์ ๊ฐ ํ์ธํ๋ค๋ ๊ฑธ ์ ์ ์์ต๋๋ค. ๐ค
+
+## Pull Request๋ฅผ ๋ง๋์ญ์์ค
+
+Pull Requests๋ฅผ ์ด์ฉํ์ฌ ์์ค์ฝ๋์ [์ปจํธ๋ฆฌ๋ทฐํธ](contributing.md){.internal-link target=\_blank} ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
+
+* ๋ฌธ์์์ ๋ฐ๊ฒฌํ ์คํ๋ฅผ ์์ ํ ๋.
+* FastAPI ๊ด๋ จ ๋ฌธ์, ๋น๋์ค ๋๋ ํ์บ์คํธ๋ฅผ ์์ฑํ๊ฑฐ๋ ๋ฐ๊ฒฌํ์ฌ ์ด ํ์ผ์ ํธ์งํ์ฌ ๊ณต์ ํ ๋.
+ * ํด๋น ์น์
์ ์์ ๋ถ๋ถ์ ๋งํฌ๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
+* ๋น์ ์ ์ธ์ด๋ก [๋ฌธ์ ๋ฒ์ญํ๋๋ฐ](contributing.md#translations){.internal-link target=\_blank} ๊ธฐ์ฌํ ๋.
+ * ๋ค๋ฅธ ์ฌ๋์ด ์์ฑํ ๋ฒ์ญ์ ๊ฒํ ํ๋ ๊ฒ๋ ๋์ธ ์ ์์ต๋๋ค.
+* ์๋ก์ด ๋ฌธ์์ ์น์
์ ์ ์ํ ๋.
+* ๊ธฐ์กด ๋ฌธ์ /๋ฒ๊ทธ๋ฅผ ์์ ํ ๋.
+ * ํ
์คํธ๋ฅผ ๋ฐ๋์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
+* ์๋ก์ด feature๋ฅผ ์ถ๊ฐํ ๋.
+ * ํ
์คํธ๋ฅผ ๋ฐ๋์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
+ * ๊ด๋ จ ๋ฌธ์๊ฐ ํ์ํ๋ค๋ฉด ๋ฐ๋์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
+
+## FastAPI ์ ์ง ๊ด๋ฆฌ์ ๋์ ์ฃผ๊ธฐ
+
+**FastAPI**์ ์ ์ง ๊ด๋ฆฌ๋ฅผ ๋์์ฃผ์ธ์! ๐ค
+
+ํ ์ผ์ด ๋ง๊ณ , ๊ทธ ์ค ๋๋ถ๋ถ์ **์ฌ๋ฌ๋ถ**์ด ํ ์ ์์ต๋๋ค.
+
+์ง๊ธ ํ ์ ์๋ ์ฃผ์ ์์
์:
+
+* [GitHub์์ ๋ค๋ฅธ ์ฌ๋๋ค์ ์ง๋ฌธ์ ๋์ ์ฃผ๊ธฐ](#github_1){.internal-link target=_blank} (์์ ์น์
์ ์ฐธ์กฐํ์ธ์).
+* [Pull Request ๋ฆฌ๋ทฐํ๊ธฐ](#pull-requests){.internal-link target=_blank} (์์ ์น์
์ ์ฐธ์กฐํ์ธ์).
+
+์ด ๋ ์์
์ด **๊ฐ์ฅ ๋ง์ ์๊ฐ์ ์๋ชจ**ํ๋ ์ผ์
๋๋ค. ๊ทธ๊ฒ์ด FastAPI ์ ์ง ๊ด๋ฆฌ์ ์ฃผ์ ์์
์
๋๋ค.
+
+์ด ์์
์ ๋์์ฃผ์ ๋ค๋ฉด, **FastAPI ์ ์ง ๊ด๋ฆฌ์ ๋์์ ์ฃผ๋ ๊ฒ**์ด๋ฉฐ ๊ทธ๊ฒ์ด **๋ ๋น ๋ฅด๊ณ ๋ ์ ๋ฐ์ ํ๋ ๊ฒ**์ ๋ณด์ฅํ๋ ๊ฒ์
๋๋ค. ๐
+
+## ์ฑํ
์ ์ฐธ์ฌํ์ญ์์ค
+
+๐ฅ ๋์ค์ฝ๋ ์ฑํ
์๋ฒ ๐ฅ ์ ๊ฐ์
ํ๊ณ FastAPI ์ปค๋ฎค๋ํฐ์์ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ์ด์ธ๋ฆฌ์ธ์.
+
+/// tip
+
+์ง๋ฌธ์ด ์๋ ๊ฒฝ์ฐ, GitHub ๋์ค์ปค์
์์ ์ง๋ฌธํ์ญ์์ค, [FastAPI Experts](fastapi-people.md#fastapi-experts){.internal-link target=_blank} ์ ๋์์ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
+
+๋ค๋ฅธ ์ผ๋ฐ์ ์ธ ๋ํ์์๋ง ์ฑํ
์ ์ฌ์ฉํ์ญ์์ค.
+
+///
+
+### ์ง๋ฌธ์ ์ํด ์ฑํ
์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค
+
+์ฑํ
์ ๋ ๋ง์ "์์ ๋ก์ด ๋ํ"๋ฅผ ํ์ฉํ๊ธฐ ๋๋ฌธ์, ๋๋ฌด ์ผ๋ฐ์ ์ธ ์ง๋ฌธ์ด๋ ๋๋ตํ๊ธฐ ์ด๋ ค์ด ์ง๋ฌธ์ ์ฝ๊ฒ ์ง๋ฌธ์ ํ ์ ์์ผ๋ฏ๋ก, ๋ต๋ณ์ ๋ฐ์ง ๋ชปํ ์ ์์ต๋๋ค.
+
+GitHub ์ด์์์์ ํ
ํ๋ฆฟ์ ์ฌ๋ฐ๋ฅธ ์ง๋ฌธ์ ์์ฑํ๋๋ก ์๋ดํ์ฌ ๋ ์ฝ๊ฒ ์ข์ ๋ต๋ณ์ ์ป๊ฑฐ๋ ์ง๋ฌธํ๊ธฐ ์ ์ ์ค์ค๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ GitHub์์๋ ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ฆฌ๋๋ผ๋ ํญ์ ๋ชจ๋ ๊ฒ์ ๋ตํ ์ ์์ต๋๋ค. ์ฑํ
์์คํ
์์๋ ๊ฐ์ธ์ ์ผ๋ก ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค. ๐
+
+์ฑํ
์์คํ
์์์ ๋ํ ๋ํ GitHub์์ ์ฒ๋ผ ์ฝ๊ฒ ๊ฒ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ํ ์ค์ ์ง๋ฌธ๊ณผ ๋ต๋ณ์ด ์์ค๋ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ GitHub ์ด์์ ์๋ ๊ฒ๋ง [FastAPI Expert](fastapi-people.md#fastapi-experts){.internal-link target=_blank}๊ฐ ๋๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ฏ๋ก, GitHub ์ด์์์ ๋ ๋ง์ ๊ด์ฌ์ ๋ฐ์ ๊ฒ์
๋๋ค.
+
+๋ฐ๋ฉด, ์ฑํ
์์คํ
์๋ ์์ฒ ๋ช
์ ์ฌ์ฉ์๊ฐ ์๊ธฐ ๋๋ฌธ์, ๊ฑฐ์ ํญ์ ๋ํ ์๋๋ฅผ ์ฐพ์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๐
+
+## ๊ฐ๋ฐ์ ์คํฐ์๊ฐ ๋์ญ์์ค
+
+GitHub ์คํฐ์ ๋ฅผ ํตํด ๊ฐ๋ฐ์๋ฅผ ๊ฒฝ์ ์ ์ผ๋ก ์ง์ํ ์ ์์ต๋๋ค.
+
+๊ฐ์ฌํ๋ค๋ ๋ง๋ก ์ปคํผ๋ฅผ โ๏ธ ํ์ ์ฌ์ค ์ ์์ต๋๋ค. ๐
+
+๋ํ FastAPI์ ์ค๋ฒ ๋๋ ๊ณจ๋ ์คํฐ์๊ฐ ๋ ์ ์์ต๋๋ค. ๐
๐
+
+## FastAPI๋ฅผ ๊ฐํํ๋ ๋๊ตฌ์ ์คํฐ์๊ฐ ๋์ญ์์ค
+
+๋ฌธ์์์ ๋ณด์๋ฏ์ด, FastAPI๋ Starlette๊ณผ Pydantic ๋ผ๋ ๊ฑฐ์ธ์ ์ด๊นจ์ ํ๊ณ ์์ต๋๋ค.
+
+๋ค์์ ์คํฐ์๊ฐ ๋ ์ ์์ต๋๋ค
+
+* Samuel Colvin (Pydantic)
+* Encode (Starlette, Uvicorn)
+
+---
+
+๊ฐ์ฌํฉ๋๋ค! ๐
diff --git a/docs/ko/docs/tutorial/dependencies/dependencies-with-yield.md b/docs/ko/docs/tutorial/dependencies/dependencies-with-yield.md
new file mode 100644
index 000000000..ff174937d
--- /dev/null
+++ b/docs/ko/docs/tutorial/dependencies/dependencies-with-yield.md
@@ -0,0 +1,275 @@
+# yield๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ
+
+FastAPI๋ ์์
์๋ฃ ํ ์ถ๊ฐ ๋จ๊ณ๋ฅผ ์ํํ๋ ์์กด์ฑ์ ์ง์ํฉ๋๋ค.
+
+์ด๋ฅผ ๊ตฌํํ๋ ค๋ฉด `return` ๋์ `yield`๋ฅผ ์ฌ์ฉํ๊ณ , ์ถ๊ฐ๋ก ์คํํ ๋จ๊ณ (์ฝ๋)๋ฅผ ๊ทธ ๋ค์ ์์ฑํ์ธ์.
+
+/// tip | ํ
+
+๊ฐ ์์กด์ฑ๋ง๋ค `yield`๋ ํ ๋ฒ๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค.
+
+///
+
+/// note | ๊ธฐ์ ์ธ๋ถ์ฌํญ
+
+๋ค์๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ํจ์:
+
+* `@contextlib.contextmanager` ๋๋
+* `@contextlib.asynccontextmanager`
+
+๋ **FastAPI**์ ์์กด์ฑ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
+
+์ฌ์ค, FastAPI๋ ๋ด๋ถ์ ์ผ๋ก ์ด ๋ ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
+
+///
+
+## `yield`๋ฅผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์กด์ฑ
+
+์๋ฅผ ๋ค์ด, ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์
์ ์์ฑํ๊ณ ์์
์ด ๋๋ ํ์ ์ธ์
์ ์ข
๋ฃํ ์ ์์ต๋๋ค.
+
+์๋ต์ ์์ฑํ๊ธฐ ์ ์๋ `yield`๋ฌธ์ ํฌํจํ์ฌ ๊ทธ ์ด์ ์ ์ฝ๋๋ง์ด ์คํ๋ฉ๋๋ค:
+
+{* ../../docs_src/dependencies/tutorial007.py hl[2:4] *}
+
+yield๋ ๊ฐ์ *๊ฒฝ๋ก ์์
* ๋ฐ ๋ค๋ฅธ ์์กด์ฑ๋ค์ ์ฃผ์
๋๋ ๊ฐ ์
๋๋ค:
+
+{* ../../docs_src/dependencies/tutorial007.py hl[4] *}
+
+`yield`๋ฌธ ๋ค์์ ์ฝ๋๋ ์๋ต์ ์์ฑํ ํ ๋ณด๋ด๊ธฐ ์ ์ ์คํ๋ฉ๋๋ค:
+
+{* ../../docs_src/dependencies/tutorial007.py hl[5:6] *}
+
+/// tip | ํ
+
+`async` ํจ์์ ์ผ๋ฐ ํจ์ ๋ชจ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
+
+**FastAPI**๋ ์ผ๋ฐ ์์กด์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ๊ฐ์ ํจ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ ๊ฒ์
๋๋ค.
+
+///
+
+## `yield`์ `try`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ
+
+`yield`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ์์ `try` ๋ธ๋ก์ ์ฌ์ฉํ๋ค๋ฉด, ์์กด์ฑ์ ์ฌ์ฉํ๋ ๋์ค ๋ฐ์ํ ๋ชจ๋ ์์ธ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
+
+์๋ฅผ ๋ค์ด, ๋ค๋ฅธ ์์กด์ฑ์ด๋ *๊ฒฝ๋ก ์์
*์ ์ค๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ๋์ญ์
"๋กค๋ฐฑ"์ด ๋ฐ์ํ๊ฑฐ๋ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ฉด, ํด๋น ์์ธ๋ฅผ ์์กด์ฑ์์ ๋ฐ์ ์ ์์ต๋๋ค.
+
+๋ฐ๋ผ์, ์์กด์ฑ ๋ด์์ `except SomeException`์ ์ฌ์ฉํ์ฌ ํน์ ์์ธ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
+
+๋ง์ฐฌ๊ฐ์ง๋ก, `finally`๋ฅผ ์ฌ์ฉํ์ฌ ์์ธ ๋ฐ์ ์ฌ๋ถ์ ๊ด๊ณ ์์ด ์ข
๋ฃ ๋จ๊ณ๊น ์คํ๋๋๋ก ํ ์ ์์ต๋๋ค.
+
+{* ../../docs_src/dependencies/tutorial007.py hl[3,5] *}
+
+## `yield`๋ฅผ ์ฌ์ฉํ๋ ํ์ ์์กด์ฑ
+
+๋ชจ๋ ํฌ๊ธฐ์ ํํ์ ํ์ ์์กด์ฑ๊ณผ ํ์ ์์กด์ฑ์ "ํธ๋ฆฌ"๋ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ์ด๋ค ๋ชจ๋๊ฐ `yield`๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
+
+**FastAPI**๋ `yield`๋ฅผ ์ฌ์ฉํ๋ ๊ฐ ์์กด์ฑ์ "์ข
๋ฃ ์ฝ๋"๊ฐ ์ฌ๋ฐ๋ฅธ ์์๋ก ์คํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
+
+์๋ฅผ ๋ค์ด, `dependency_c`๋ `dependency_b`์ ์์กดํ ์ ์๊ณ , `dependency_b`๋ `dependency_a`์ ์์กดํ ์ ์์ต๋๋ค.
+
+{* ../../docs_src/dependencies/tutorial008_an_py39.py hl[6,14,22] *}
+
+์ด๋ค ๋ชจ๋๋ `yield`๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
+
+์ด ๊ฒฝ์ฐ `dependency_c`๋ ์ข
๋ฃ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํด, `dependency_b`์ ๊ฐ (์ฌ๊ธฐ์๋ `dep_b`๋ก ๋ช
๋ช
)์ด ์ฌ์ ํ ์ฌ์ฉ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
+
+๊ทธ๋ฆฌ๊ณ , `dependency_b`๋ ์ข
๋ฃ ์ฝ๋๋ฅผ ์ํด `dependency_a`์ ๊ฐ (์ฌ๊ธฐ์๋ `dep_a`๋ก ๋ช
๋ช
) ์ด ์ฌ์ฉ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
+
+{* ../../docs_src/dependencies/tutorial008_an_py39.py hl[18:19,26:27] *}
+
+๊ฐ์ ๋ฐฉ์์ผ๋ก, `yield`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ๊ณผ `return`์ ์ฌ์ฉํ๋ ์์กด์ฑ์ ํจ๊ป ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ค ์ค ์ผ๋ถ๊ฐ ๋ค๋ฅธ ๊ฒ๋ค์ ์์กดํ ์ ์์ต๋๋ค.
+
+๊ทธ๋ฆฌ๊ณ `yield`๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ์ฌ๋ฌ ์์กด์ฑ์ ํ์๋ก ํ๋ ๋จ์ผ ์์กด์ฑ์ ๊ฐ์ง ์๋ ์์ต๋๋ค.
+
+์ํ๋ ์์กด์ฑ์ ์ํ๋ ๋๋ก ์กฐํฉํ ์ ์์ต๋๋ค.
+
+**FastAPI**๋ ๋ชจ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅธ ์์๋ก ์คํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
+
+/// note | ๊ธฐ์ ์ธ๋ถ์ฌํญ
+
+ํ์ด์ฌ์ Context Managers ๋๋ถ์ ์ด ๊ธฐ๋ฅ์ด ์๋ํฉ๋๋ค.
+
+**FastAPI**๋ ์ด๋ฅผ ๋ด๋ถ์ ์ผ๋ก ์ปจํ
์คํธ ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํฉ๋๋ค.
+
+///
+
+## `yield`์ `HTTPException`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ
+
+`yield`์ `try` ๋ธ๋ก์ด ์๋ ์์กด์ฑ์ ์ฌ์ฉํ์ฌ ์์ธ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค.
+
+๊ฐ์ ๋ฐฉ์์ผ๋ก, `yield` ์ดํ์ ์ข
๋ฃ ์ฝ๋์์ `HTTPException`์ด๋ ์ ์ฌํ ์์ธ๋ฅผ ๋ฐ์์ํฌ ์ ์์ต๋๋ค.
+
+/// tip | ํ
+
+์ด๋ ๋ค์ ๊ณ ๊ธ ๊ธฐ์ ์ด๋ฉฐ, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๊ฒฝ๋ก ์ฐ์ฐ ํจ์ ๋ฑ ๋๋จธ์ง ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋ ๋ด๋ถ์์ ์์ธ (`HTTPException` ํฌํจ)๋ฅผ ๋ฐ์์ํฌ ์ ์์ผ๋ฏ๋ก ์ค์ ๋ก๋ ํ์ํ์ง ์์ ๊ฒ์
๋๋ค.
+
+ํ์ง๋ง ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๐ค
+
+///
+
+{* ../../docs_src/dependencies/tutorial008b_an_py39.py hl[18:22,31] *}
+
+์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ณ (๋๋ ์ถ๊ฐ๋ก ๋ค๋ฅธ `HTTPException`์ ๋ฐ์์ํค๊ธฐ ์ํด) ์ฌ์ฉํ ์ ์๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ [์ฌ์ฉ์ ์ ์ ์์ธ ์ฒ๋ฆฌ๊ธฐ](../handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank}๋ฅผ ์์ฑํ๋ ๊ฒ ์
๋๋ค.
+
+## `yield`์ `except`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ
+
+`yield`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ์์ `except`๋ฅผ ์ฌ์ฉํ์ฌ ์์ธ๋ฅผ ํฌ์ฐฉํ๊ณ ์์ธ๋ฅผ ๋ค์ ๋ฐ์์ํค์ง ์๊ฑฐ๋ (๋๋ ์ ์์ธ๋ฅผ ๋ฐ์์ํค์ง ์์ผ๋ฉด), FastAPI๋ ํด๋น ์์ธ๊ฐ ๋ฐ์ํ๋์ง ์ ์ ์์ต๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ธ Python ๋ฐฉ์๊ณผ ๋์ผํฉ๋๋ค:
+
+{* ../../docs_src/dependencies/tutorial008c_an_py39.py hl[15:16] *}
+
+์ด ๊ฒฝ์ฐ, `HTTPException`์ด๋ ์ ์ฌํ ์์ธ๋ฅผ ๋ฐ์์ํค์ง ์๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ๋ HTTP 500 Internal Server Error ์๋ต์ ๋ณด๊ฒ ๋์ง๋ง, ์๋ฒ๋ ์ด๋ค ์ค๋ฅ๊ฐ ๋ฐ์ํ๋์ง์ ๋ํ **๋ก๊ทธ**๋ ๋ค๋ฅธ ํ์๋ฅผ ์ ํ ๊ฐ์ง์ง ์๊ฒ ๋ฉ๋๋ค. ๐ฑ
+
+### `yield`์ `except`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ์์ ํญ์ `raise` ํ๊ธฐ
+
+`yield`๊ฐ ์๋ ์์กด์ฑ์์ ์์ธ๋ฅผ ์ก์์ ๋๋ `HTTPException`์ด๋ ์ ์ฌํ ์์ธ๋ฅผ ์๋ก ๋ฐ์์ํค์ง ์๋ ํ, ๋ฐ๋์ ์๋์ ์์ธ๋ฅผ ๋ค์ ๋ฐ์์์ผ์ผ ํฉ๋๋ค.
+
+`raise`๋ฅผ ์ฌ์ฉํ์ฌ ๋์ผํ ์์ธ๋ฅผ ๋ค์ ๋ฐ์์ํฌ ์ ์์ต๋๋ค:
+
+{* ../../docs_src/dependencies/tutorial008d_an_py39.py hl[17] *}
+
+์ด์ ํด๋ผ์ด์ธํธ๋ ๋์ผํ *HTTP 500 Internal Server Error* ์ค๋ฅ ์๋ต์ ๋ฐ๊ฒ ๋์ง๋ง, ์๋ฒ ๋ก๊ทธ์๋ ์ฌ์ฉ์ ์ ์ ์์ธ์ธ `InternalError"๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. ๐
+
+## `yield`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ์ ์คํ ์์
+
+์คํ ์์๋ ์๋ ๋ค์ด์ด๊ทธ๋จ๊ณผ ๊ฑฐ์ ๋น์ทํฉ๋๋ค. ์๊ฐ์ ์์์ ์๋๋ก ํ๋ฆ
๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ์ด์ ์ํธ ์์ฉํ๊ฑฐ๋ ์ฝ๋๋ฅผ ์คํํ๋ ๋ถ๋ถ ์ค ํ๋์
๋๋ค.
+
+```mermaid
+sequenceDiagram
+
+participant client as Client
+participant handler as Exception handler
+participant dep as Dep with yield
+participant operation as Path Operation
+participant tasks as Background tasks
+
+ Note over client,operation: Can raise exceptions, including HTTPException
+ client ->> dep: Start request
+ Note over dep: Run code up to yield
+ opt raise Exception
+ dep -->> handler: Raise Exception
+ handler -->> client: HTTP error response
+ end
+ dep ->> operation: Run dependency, e.g. DB session
+ opt raise
+ operation -->> dep: Raise Exception (e.g. HTTPException)
+ opt handle
+ dep -->> dep: Can catch exception, raise a new HTTPException, raise other exception
+ end
+ handler -->> client: HTTP error response
+ end
+
+ operation ->> client: Return response to client
+ Note over client,operation: Response is already sent, can't change it anymore
+ opt Tasks
+ operation -->> tasks: Send background tasks
+ end
+ opt Raise other exception
+ tasks -->> tasks: Handle exceptions in the background task code
+ end
+```
+
+/// info | ์ ๋ณด
+
+ํด๋ผ์ด์ธํธ์ **ํ๋์ ์๋ต** ๋ง ์ ์ก๋ฉ๋๋ค. ์ด๋ ์ค๋ฅ ์๋ต ์ค ํ๋์ผ ์๋ ์๊ณ ,*๊ฒฝ๋ก ์์
*์์ ์์ฑ๋ ์๋ต์ผ ์๋ ์์ต๋๋ค.
+
+์ด๋ฌํ ์๋ต ์ค ํ๋๊ฐ ์ ์ก๋ ํ์๋ ๋ค๋ฅธ ์๋ต์ ๋ณด๋ผ ์ ์์ต๋๋ค.
+
+///
+
+/// tip | ํ
+
+์ด ๋ค์ด์ด๊ทธ๋จ์ `HTTPException`์ ๋ณด์ฌ์ฃผ์ง๋ง, `yield`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ์์ ์ฒ๋ฆฌํ ์์ธ๋ [์ฌ์ฉ์ ์ ์ ์์ธ์ฒ๋ฆฌ๊ธฐ](../handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank}.๋ฅผ ์ฌ์ฉํ์ฌ ์ฒ๋ฆฌํ ๋ค๋ฅธ ์์ธ๋ ๋ฐ์์ํฌ ์ ์์ต๋๋ค.
+
+์ด๋ค ์์ธ๊ฐ ๋ฐ์ํ๋ , `HTTPException`์ ํฌํจํ์ฌ yield๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์์ธ๋ฅผ ๋ค์ ๋ฐ์์ํค๊ฑฐ๋ ์๋ก์ด ์์ธ๋ฅผ ๋ฐ์์์ผ์ผ ํฉ๋๋ค.
+
+///
+
+## `yield`, `HTTPException`, `except` ๋ฐ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ์ฌ์ฉํ๋ ์์กด์ฑ
+
+/// warning | ๊ฒฝ๊ณ
+
+์ด๋ฌํ ๊ธฐ์ ์ ์ธ๋ถ ์ฌํญ์ ๋๋ถ๋ถ ํ์ํ์ง ์์ผ๋ฏ๋ก ์ด ์น์
์ ๊ฑด๋๋ฐ๊ณ ์๋์์ ๊ณ์ ์งํํด๋ ๋ฉ๋๋ค.
+
+์ด๋ฌํ ์ธ๋ถ ์ ๋ณด๋ ์ฃผ๋ก FastAPI 0.106.0 ์ด์ ๋ฒ์ ์์ `yield`๊ฐ ์๋ ์์กด์ฑ์ ๋ฆฌ์์ค๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ฉ ์ ์ฉํฉ๋๋ค.
+
+///
+
+### `yield`์ `except`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ, ๊ธฐ์ ์ธ๋ถ์ฌํญ
+
+FastAPI 0.110.0 ์ด์ ์๋ `yield`๊ฐ ํฌํจ๋ ์์กด์ฑ์ ์ฌ์ฉํ ํ ํด๋น ์์กด์ฑ์์ `except`๊ฐ ํฌํจ๋ ์์ธ๋ฅผ ์บก์ฒํ๊ณ ๋ค์ ์์ธ๋ฅผ ๋ฐ์์ํค์ง ์์ผ๋ฉด ์์ธ๊ฐ ์๋์ผ๋ก ์์ธ ํธ๋ค๋ฌ ๋๋ ๋ด๋ถ ์๋ฒ ์ค๋ฅ ํธ๋ค๋ฌ๋ก ๋ฐ์/์ ๋ฌ๋์์ต๋๋ค.
+
+์ด๋ ์ฒ๋ฆฌ๊ธฐ ์์ด ์ ๋ฌ๋ ์์ธ(๋ด๋ถ ์๋ฒ ์ค๋ฅ)์์ ์ฒ๋ฆฌ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ์์ ํ๊ณ ์ผ๋ฐ ํ์ด์ฌ ์ฝ๋์ ๋์๊ณผ ์ผ์นํ๋๋ก ํ๊ธฐ ์ํด 0.110.0 ๋ฒ์ ์์ ๋ณ๊ฒฝ๋์์ต๋๋ค.
+
+### ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
๊ณผ `yield`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ, ๊ธฐ์ ์ธ๋ถ์ฌํญ
+
+FastAPI 0.106.0 ์ด์ ์๋ `yield` ์ดํ์ ์์ธ๋ฅผ ๋ฐ์์ํค๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ์ต๋๋ค. `yield`๊ฐ ์๋ ์์กด์ฑ ์ข
๋ฃ ์ฝ๋๋ ์๋ต์ด ์ ์ก๋ ์ดํ์ ์คํ๋์๊ธฐ ๋๋ฌธ์, [์์ธ ์ฒ๋ฆฌ๊ธฐ](../handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank}๊ฐ ์ด๋ฏธ ์คํ๋ ์ํ์์ต๋๋ค.
+
+์ด๋ ์ฃผ๋ก ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
๋ด์์ ์์กด์ฑ์์ "yield๋" ๋์ผํ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๊ธฐ ์ํด ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ค๊ณ๋์์ต๋๋ค. ์ข
๋ฃ ์ฝ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ด ์๋ฃ๋ ํ์ ์คํ๋์๊ธฐ ๋๋ฌธ์
๋๋ค
+
+ํ์ง๋ง ์ด๋ ๊ฒ ํ๋ฉด ๋ฆฌ์์ค๋ฅผ ๋ถํ์ํ๊ฒ ์๋ณดํ ์์กด์ฑ(์: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ)์์ ๋ณด์ ํ๋ฉด์ ์๋ต์ด ๋คํธ์ํฌ๋ฅผ ํตํด ์ด๋ํ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ FastAPI 0.106.0์์ ๋ณ๊ฒฝ๋์์ต๋๋ค.
+
+/// tip | ํ
+
+๋ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ์ผ๋ฐ์ ์ผ๋ก ์์ฒด ๋ฆฌ์์ค(์: ์์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ)๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๋๋ก ์ฒ๋ฆฌํด์ผ ํ๋ ๋
๋ฆฝ์ ์ธ ๋ก์ง ์งํฉ์
๋๋ค.
+
+๋ฐ๋ผ์ ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋๊ฐ ๋ ๊น๋ํด์ง๋๋ค.
+
+///
+
+๋ง์ฝ ์ด์ ์ ์ด๋ฌํ ๋์์ ์์กดํ๋ค๋ฉด, ์ด์ ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
๋ด๋ถ์์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ์ํ ๋ฆฌ์์ค๋ฅผ ์์ฑํ๊ณ , `yield`๊ฐ ์๋ ์์กด์ฑ์ ๋ฆฌ์์ค์ ์์กดํ์ง ์๋ ๋ฐ์ดํฐ๋ง ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํด์ผํฉ๋๋ค.
+
+์๋ฅผ ๋ค์ด, ๋์ผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์
์ ์ฌ์ฉํ๋ ๋์ , ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
๋ด๋ถ์์ ์๋ก์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์
์ ์์ฑํ๊ณ ์ด ์๋ก์ด ์ธ์
์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ง์ ์ ๋ฌํ๋ ๋์ , ํด๋น ๊ฐ์ฒด์ ID๋ฅผ ์ ๋ฌํ ๋ค์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
ํจ์ ๋ด๋ถ์์ ๊ฐ์ฒด๋ฅผ ๋ค์ ๊ฐ์ ธ์์ผ ํฉ๋๋ค
+
+## ์ปจํ
์คํธ ๊ด๋ฆฌ์
+
+### "์ปจํ
์คํธ ๊ด๋ฆฌ์"๋?
+
+"์ปจํ
์คํธ ๊ด๋ฆฌ์"๋ Python์์ `with` ๋ฌธ์์ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์๋ฏธํฉ๋๋ค.
+
+์๋ฅผ ๋ค์ด, `with`๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ฝ์ ์ ์์ต๋๋ค:
+
+```Python
+with open("./somefile.txt") as f:
+ contents = f.read()
+ print(contents)
+```
+
+๋ด๋ถ์ ์ผ๋ก `open("./somefile.txt")` ๋ "์ปจํ
์คํธ ๊ด๋ฆฌ์(Context Manager)"๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค.
+
+`with` ๋ธ๋ก์ด ๋๋๋ฉด, ์์ธ๊ฐ ๋ฐ์ํ๋๋ผ๋ ํ์ผ์ ๋ซ๋๋ก ๋ณด์ฅํฉ๋๋ค.
+
+`yield`๊ฐ ์๋ ์์กด์ฑ์ ์์ฑํ๋ฉด **FastAPI**๋ ๋ด๋ถ์ ์ผ๋ก ์ด๋ฅผ ์ํ ์ปจํ
์คํธ ๋งค๋์ ๋ฅผ ์์ฑํ๊ณ ๋ค๋ฅธ ๊ด๋ จ ๋๊ตฌ๋ค๊ณผ ๊ฒฐํฉํฉ๋๋ค.
+
+### `yield`๋ฅผ ์ฌ์ฉํ๋ ์์กด์ฑ์์ ์ปจํ
์คํธ ๊ด๋ฆฌ์ ์ฌ์ฉํ๊ธฐ
+
+/// warning | ๊ฒฝ๊ณ
+
+์ด๊ฒ์ ์ด๋ ์ ๋ "๊ณ ๊ธ" ๊ฐ๋
์
๋๋ค.
+
+**FastAPI**๋ฅผ ์ฒ์ ์์ํ๋ ๊ฒฝ์ฐ ์ง๊ธ์ ์ด ๋ถ๋ถ์ ๊ฑด๋๋ฐ์ด๋ ์ข์ต๋๋ค.
+
+///
+
+Python์์๋ ๋ค์์ ํตํด ์ปจํ
์คํธ ๊ด๋ฆฌ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋ ๊ฐ์ง ๋ฉ์๋๊ฐ ์๋ ํด๋์ค๋ฅผ ์์ฑํฉ๋๋ค: `__enter__()` and `__exit__()`.
+
+**FastAPI**์ `yield`๊ฐ ์๋ ์์กด์ฑ ๋ด์์
+`with` ๋๋ `async with`๋ฌธ์ ์ฌ์ฉํ์ฌ ์ด๋ค์ ํ์ฉํ ์ ์์ต๋๋ค:
+
+{* ../../docs_src/dependencies/tutorial010.py hl[1:9,13] *}
+
+/// tip | ํ
+
+์ปจํ
์คํธ ๊ด๋ฆฌ์๋ฅผ ์์ฑํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
+
+* `@contextlib.contextmanager` ๋๋
+* `@contextlib.asynccontextmanager`
+
+์ด๋ค์ ๋จ์ผ `yield`๊ฐ ์๋ ํจ์๋ฅผ ๊พธ๋ฏธ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค.
+
+์ด๊ฒ์ด **FastAPI**๊ฐ `yield`๊ฐ ์๋ ์์กด์ฑ์ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ์์
๋๋ค.
+
+ํ์ง๋ง FastAPI ์์กด์ฑ์๋ ์ด๋ฌํ ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค(๊ทธ๋ฆฌ๊ณ ์ฌ์ฉํด์๋ ์๋ฉ๋๋ค).
+
+FastAPI๊ฐ ๋ด๋ถ์ ์ผ๋ก ์ด๋ฅผ ์ฒ๋ฆฌํด ์ค ๊ฒ์
๋๋ค.
+
+///
diff --git a/docs/ko/docs/tutorial/security/simple-oauth2.md b/docs/ko/docs/tutorial/security/simple-oauth2.md
index ddc7430af..f10c4f588 100644
--- a/docs/ko/docs/tutorial/security/simple-oauth2.md
+++ b/docs/ko/docs/tutorial/security/simple-oauth2.md
@@ -32,7 +32,7 @@ OAuth2๋ (์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๊ณ ์๋) "ํจ์ค์๋ ํ๋ก์ฐ"์ ์ฌ์ฉํ
* `instagram_basic`์ ํ์ด์ค๋ถ/์ธ์คํ๊ทธ๋จ์์ ์ฌ์ฉํฉ๋๋ค.
* `https://www.googleapis.com/auth/drive`๋ Google์์ ์ฌ์ฉํฉ๋๋ค.
-/// ์ ๋ณด
+/// info | ์ ๋ณด
OAuth2์์ "๋ฒ์"๋ ํ์ํ ํน์ ๊ถํ์ ์ ์ธํ๋ ๋ฌธ์์ด์
๋๋ค.
@@ -61,7 +61,7 @@ OAuth2์ ๊ฒฝ์ฐ ๋ฌธ์์ด์ผ ๋ฟ์
๋๋ค.
* `scope`๋ ์ ํ์ ์ธ ํ๋๋ก ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋ ํฐ ๋ฌธ์์ด์
๋๋ค.
* `grant_type`(์ ํ์ ์ผ๋ก ์ฌ์ฉ).
-/// ํ
+/// tip | ํ
OAuth2 ์ฌ์์ ์ค์ ๋ก `password`๋ผ๋ ๊ณ ์ ๊ฐ์ด ์๋ `grant_type` ํ๋๋ฅผ *์๊ตฌ*ํ์ง๋ง `OAuth2PasswordRequestForm`์ ์ด๋ฅผ ๊ฐ์ํ์ง ์์ต๋๋ค.
@@ -72,7 +72,7 @@ OAuth2 ์ฌ์์ ์ค์ ๋ก `password`๋ผ๋ ๊ณ ์ ๊ฐ์ด ์๋ `grant_type`
* `client_id`(์ ํ์ ์ผ๋ก ์ฌ์ฉ) (์์ ์์๋ ํ์ํ์ง ์์ต๋๋ค).
* `client_secret`(์ ํ์ ์ผ๋ก ์ฌ์ฉ) (์์ ์์๋ ํ์ํ์ง ์์ต๋๋ค).
-/// ์ ๋ณด
+/// info | ์ ๋ณด
`OAuth2PasswordRequestForm`์ `OAuth2PasswordBearer`์ ๊ฐ์ด **FastAPI**์ ๋ํ ํน์ ํด๋์ค๊ฐ ์๋๋๋ค.
@@ -86,7 +86,7 @@ OAuth2 ์ฌ์์ ์ค์ ๋ก `password`๋ผ๋ ๊ณ ์ ๊ฐ์ด ์๋ `grant_type`
### ํผ ๋ฐ์ดํฐ ์ฌ์ฉํ๊ธฐ
-/// ํ
+/// tip | ํ
์ข
์์ฑ ํด๋์ค `OAuth2PasswordRequestForm`์ ์ธ์คํด์ค์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ๊ธด ๋ฌธ์์ด์ด ์๋ `scope` ์์ฑ์ด ์๊ณ ๋์ ์ ์ก๋ ๊ฐ ๋ฒ์์ ๋ํ ์ค์ ๋ฌธ์์ด ๋ชฉ๋ก์ด ์๋ `scopes` ์์ฑ์ด ์์ต๋๋ค.
@@ -126,7 +126,7 @@ OAuth2 ์ฌ์์ ์ค์ ๋ก `password`๋ผ๋ ๊ณ ์ ๊ฐ์ด ์๋ `grant_type`
๋ฐ๋ผ์ ํด์ปค๋ ๋ค๋ฅธ ์์คํ
์์ ๋์ผํ ์ํธ๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ์๋ํ ์ ์์ต๋๋ค(๋ง์ ์ฌ์ฉ์๊ฐ ๋ชจ๋ ๊ณณ์์ ๋์ผํ ์ํธ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ด๋ ์ํํ ์ ์์ต๋๋ค).
-//// tab | Pํ์ด์ฌ 3.7 ์ด์
+//// tab | ํ์ด์ฌ 3.7 ์ด์
{* ../../docs_src/security/tutorial003.py hl[80:83] *}
@@ -150,7 +150,7 @@ UserInDB(
)
```
-/// ์ ๋ณด
+/// info | ์ ๋ณด
`**user_dict`์ ๋ํ ์์ธํ ์ค๋ช
์ [**์ถ๊ฐ ๋ชจ๋ธ** ๋ฌธ์](../extra-models.md#about-user_indict){.internal-link target=_blank}๋ฅผ ๋ค์ ์ฝ์ด๋ด
์๋ค.
@@ -166,7 +166,7 @@ UserInDB(
์ด ๊ฐ๋จํ ์์ ์์๋ ์์ ํ ์์ ํ์ง ์๊ณ , ๋์ผํ `username`์ ํ ํฐ์ผ๋ก ๋ฐํํฉ๋๋ค.
-/// ํ
+/// tip | ํ
๋ค์ ์ฅ์์๋ ํจ์ค์๋ ํด์ฑ ๋ฐ JWT ํ ํฐ์ ์ฌ์ฉํ์ฌ ์ค์ ๋ณด์ ๊ตฌํ์ ๋ณผ ์ ์์ต๋๋ค.
@@ -176,7 +176,7 @@ UserInDB(
{* ../../docs_src/security/tutorial003.py hl[85] *}
-/// ํ
+/// tip | ํ
์ฌ์์ ๋ฐ๋ผ ์ด ์์ ์ ๋์ผํ๊ฒ `access_token` ๋ฐ `token_type`์ด ํฌํจ๋ JSON์ ๋ฐํํด์ผ ํฉ๋๋ค.
@@ -202,7 +202,7 @@ UserInDB(
{* ../../docs_src/security/tutorial003.py hl[58:66,69:72,90] *}
-/// ์ ๋ณด
+/// info | ์ ๋ณด
์ฌ๊ธฐ์ ๋ฐํํ๋ ๊ฐ์ด `Bearer`์ธ ์ถ๊ฐ ํค๋ `WWW-Authenticate`๋ ์ฌ์์ ์ผ๋ถ์
๋๋ค.
diff --git a/docs/pt/docs/deployment/https.md b/docs/pt/docs/deployment/https.md
index 9a13977ec..9ad419934 100644
--- a/docs/pt/docs/deployment/https.md
+++ b/docs/pt/docs/deployment/https.md
@@ -14,38 +14,186 @@ Para aprender o bรกsico de HTTPS de uma perspectiva do usuรกrio, verifique SNI.
- * Esta extensรฃo SNI permite que um รบnico servidor (com um รบnico endereรงo IP) tenha vรกrios certificados HTTPS e atenda a vรกrios domรญnios / aplicativos HTTPS.
- * Para que isso funcione, um รบnico componente (programa) em execuรงรฃo no servidor, ouvindo no endereรงo IP pรบblico, deve ter todos os certificados HTTPS no servidor.
-* Depois de obter uma conexรฃo segura, o protocolo de comunicaรงรฃo ainda รฉ HTTP.
- * Os conteรบdos sรฃo criptografados, embora sejam enviados com o protocolo HTTP.
+ * No entanto, existe uma **soluรงรฃo** para isso.
+* Hรก uma **extensรฃo** para o protocolo **TLS** (aquele que lida com a criptografia no nรญvel TCP, antes do HTTP) chamado **SNI**.
+ * Esta extensรฃo SNI permite que um รบnico servidor (com um **รบnico endereรงo IP**) tenha **vรกrios certificados HTTPS** e atenda a **vรกrios domรญnios / aplicativos HTTPS**.
+ * Para que isso funcione, um **รบnico** componente (programa) em execuรงรฃo no servidor, ouvindo no **endereรงo IP pรบblico**, deve ter **todos os certificados HTTPS** no servidor.
+* **Depois** de obter uma conexรฃo segura, o protocolo de comunicaรงรฃo **ainda รฉ HTTP**.
+ * Os conteรบdos sรฃo **criptografados**, embora sejam enviados com o **protocolo HTTP**.
-ร uma prรกtica comum ter um programa/servidor HTTP em execuรงรฃo no servidor (mรกquina, host, etc.) e gerenciar todas as partes HTTPS: enviando as solicitaรงรตes HTTP descriptografadas para o aplicativo HTTP real em execuรงรฃo no mesmo servidor (a aplicaรงรฃo **FastAPI**, neste caso), pegue a resposta HTTP do aplicativo, criptografe-a usando o certificado apropriado e envie-a de volta ao cliente usando HTTPS. Este servidor รฉ frequentemente chamado de TLS Termination Proxy.
+ร uma prรกtica comum ter um **programa/servidor HTTP** em execuรงรฃo no servidor (mรกquina, host, etc.) e **gerenciar todas as partes HTTPS**: **recebendo as requisiรงรตes encriptadas**, enviando as **solicitaรงรตes HTTP descriptografadas** para o aplicativo HTTP real em execuรงรฃo no mesmo servidor (a aplicaรงรฃo **FastAPI**, neste caso), pegue a **resposta HTTP** do aplicativo, **criptografe-a** usando o **certificado HTTPS** apropriado e envie-a de volta ao cliente usando **HTTPS**. Este servidor รฉ frequentemente chamado de **Proxy de Terminaรงรฃo TLS**.
+
+Algumas das opรงรตes que vocรช pode usar como Proxy de Terminaรงรฃo TLS sรฃo:
+
+* Traefik (que tambรฉm pode gerenciar a renovaรงรฃo de certificados)
+* Caddy (que tambรฉm pode gerenciar a renovaรงรฃo de certificados)
+* Nginx
+* HAProxy
## Let's Encrypt
-Antes de Let's Encrypt, esses certificados HTTPS eram vendidos por terceiros confiรกveis.
+Antes de Let's Encrypt, esses **certificados HTTPS** eram vendidos por terceiros confiรกveis.
O processo de aquisiรงรฃo de um desses certificados costumava ser complicado, exigia bastante papelada e os certificados eram bastante caros.
-Mas entรฃo Let's Encrypt foi criado.
+Mas entรฃo o **Let's Encrypt** foi criado.
-Ele รฉ um projeto da Linux Foundation que fornece certificados HTTPS gratuitamente. De forma automatizada. Esses certificados usam toda a seguranรงa criptogrรกfica padrรฃo e tรชm vida curta (cerca de 3 meses), entรฃo a seguranรงa รฉ realmente melhor por causa de sua vida รบtil reduzida.
+Ele รฉ um projeto da Linux Foundation que fornece **certificados HTTPS gratuitamente** . De forma automatizada. Esses certificados usam toda a seguranรงa criptogrรกfica padrรฃo e tรชm vida curta (cerca de 3 meses), entรฃo a **seguranรงa รฉ, na verdade, melhor** por causa de sua vida รบtil reduzida.
Os domรญnios sรฃo verificados com seguranรงa e os certificados sรฃo gerados automaticamente. Isso tambรฉm permite automatizar a renovaรงรฃo desses certificados.
-A ideia รฉ automatizar a aquisiรงรฃo e renovaรงรฃo desses certificados, para que vocรช tenha HTTPS seguro, de graรงa e para sempre.
+A ideia รฉ automatizar a aquisiรงรฃo e renovaรงรฃo desses certificados, para que vocรช tenha **HTTPS seguro, de graรงa e para sempre**.
+
+## HTTPS para Desenvolvedores
+
+Aqui estรก um exemplo de como uma API HTTPS poderia ser estruturada, passo a passo, com foco principal nas ideias relevantes para desenvolvedores.
+
+### Nome do domรญnio
+
+A etapa inicial provavelmente seria **adquirir** algum **nome de domรญnio**. Entรฃo, vocรช iria configurรก-lo em um servidor DNS (possivelmente no mesmo provedor em nuvem).
+
+Vocรช provavelmente usaria um servidor em nuvem (mรกquina virtual) ou algo parecido, e ele teria fixed **Endereรงo IP pรบblico**.
+
+No(s) servidor(es) DNS, vocรช configuraria um registro (`registro A`) para apontar **seu domรญnio** para o **endereรงo IP pรบblico do seu servidor**.
+
+Vocรช provavelmente farรก isso apenas uma vez, na primeira vez em que tudo estiver sendo configurado.
+
+/// tip | Dica
+
+Essa parte do Nome do Domรญnio se dรก muito antes do HTTPS, mas como tudo depende do domรญnio e endereรงo IP pรบblico, vale a pena mencionรก-la aqui.
+
+///
+
+### DNS
+
+Agora vamos focar em todas as partes que realmente fazem parte do HTTPS.
+
+Primeiro, o navegador iria verificar com os **servidores DNS** qual o **IP do domรญnio**, nesse caso, `someapp.example.com`.
+
+Os servidores DNS iriam informar o navegador para utilizar algum **endereรงo IP** especรญfico. Esse seria o endereรงo IP pรบblico em uso no seu servidor, que vocรช configurou nos servidores DNS.
+
+uvicorn main:app --reload...fastapi dev main.py...email-validator - para validaรงรฃo de email.
-Usados por Starlette:
+Utilizado pelo Starlette:
-* httpx - Necessรกrio se vocรช quiser utilizar o `TestClient`.
-* jinja2 - Necessรกrio se vocรช quiser utilizar a configuraรงรฃo padrรฃo de templates.
-* python-multipart - Necessรกrio se vocรช quiser suporte com "parsing" de formulรกrio, com `request.form()`.
-* itsdangerous - Necessรกrio para suporte a `SessionMiddleware`.
-* pyyaml - Necessรกrio para suporte a `SchemaGenerator` da Starlette (vocรช provavelmente nรฃo precisarรก disso com o FastAPI).
-* graphene - Necessรกrio para suporte a `GraphQLApp`.
+* httpx - Obrigatรณrio caso vocรช queira utilizar o `TestClient`.
+* jinja2 - Obrigatรณrio se vocรช quer utilizar a configuraรงรฃo padrรฃo de templates.
+* python-multipart - Obrigatรณrio se vocรช deseja suporte a "parsing" de formulรกrio, com `request.form()`.
-Usados por FastAPI / Starlette:
+Utilizado pelo FastAPI / Starlette:
-* uvicorn - para o servidor que carrega e serve sua aplicaรงรฃo.
-* orjson - Necessรกrio se vocรช quer utilizar `ORJSONResponse`.
-* ujson - Necessรกrio se vocรช quer utilizar `UJSONResponse`.
+* uvicorn - para o servidor que carrega e serve a sua aplicaรงรฃo. Isto inclui `uvicorn[standard]`, que inclui algumas dependรชncias (e.g. `uvloop`) necessรกrias para servir em alta performance.
+* `fastapi-cli` - que disponibiliza o comando `fastapi`.
-Vocรช pode instalar todas essas dependรชncias com `pip install fastapi[all]`.
+### Sem as dependรชncias `standard`
+
+Se vocรช nรฃo deseja incluir as dependรชncias opcionais `standard`, vocรช pode instalar utilizando `pip install fastapi` ao invรฉs de `pip install "fastapi[standard]"`.
+
+### Dpendรชncias opcionais adicionais
+
+Existem algumas dependรชncias adicionais que vocรช pode querer instalar.
+
+Dependรชncias opcionais adicionais do Pydantic:
+
+* pydantic-settings - para gerenciamento de configuraรงรตes.
+* pydantic-extra-types - tipos extras para serem utilizados com o Pydantic.
+
+Dependรชncias opcionais adicionais do FastAPI:
+
+* orjson - Obrigatรณrio se vocรช deseja utilizar o `ORJSONResponse`.
+* ujson - Obrigatรณrio se vocรช deseja utilizar o `UJSONResponse`.
## Licenรงa
diff --git a/docs/pt/docs/tutorial/request-forms.md b/docs/pt/docs/tutorial/request-forms.md
index 756ceb581..572ddf003 100644
--- a/docs/pt/docs/tutorial/request-forms.md
+++ b/docs/pt/docs/tutorial/request-forms.md
@@ -6,7 +6,11 @@ Quando vocรช precisar receber campos de formulรกrio ao invรฉs de JSON, vocรช pod
Para usar formulรกrios, primeiro instale `python-multipart`.
-Ex: `pip install python-multipart`.
+Lembre-se de criar um [ambiente virtual](../virtual-environments.md){.internal-link target=_blank}, ativรก-lo e entรฃo instalar a dependรชncia, por exemplo:
+
+```console
+$ pip install python-multipart
+```
///
diff --git a/docs/ru/docs/advanced/async-tests.md b/docs/ru/docs/advanced/async-tests.md
new file mode 100644
index 000000000..7849ad109
--- /dev/null
+++ b/docs/ru/docs/advanced/async-tests.md
@@ -0,0 +1,99 @@
+# ะัะธะฝั
ัะพะฝะฝะพะต ัะตััะธัะพะฒะฐะฝะธะต
+
+ะั ัะถะต ะฒะธะดะตะปะธ ะบะฐะบ ัะตััะธัะพะฒะฐัั **FastAPI** ะฟัะธะปะพะถะตะฝะธะต, ะธัะฟะพะปัะทัั ะธะผะตััะธะนัั ะบะปะฐัั `TestClient`. ะ ััะพะผั ะผะพะผะตะฝัั ะฒั ะฒะธะดะตะปะธ ัะพะปัะบะพ ะบะฐะบ ะฟะธัะฐัั ัะตััั ะฒ ัะธะฝั
ัะพะฝะฝะพะผ ััะธะปะต ะฑะตะท ะธัะฟะพะปัะทะพะฒะฐะฝะธั `async` ััะฝะบัะธะน.
+
+ะะพะทะผะพะถะฝะพััั ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฐัะธะฝั
ัะพะฝะฝัั
ััะฝะบัะธะน ะฒ ะฒะฐัะธั
ัะตััะฐั
ะผะพะถะตั ะฑััั ะฟะพะปะตะทะฝa, ะบะพะณะดะฐ, ะฝะฐะฟัะธะผะตั, ะฒั ะฐัะธะฝั
ัะพะฝะฝะพ ะพะฑัะฐัะฐะตัะตัั ะบ ะฒะฐัะตะน ะฑะฐะทะต ะดะฐะฝะฝัั
. ะัะตะดััะฐะฒััะต, ััะพ ะฒั ั
ะพัะธัะต ะพัะฟัะฐะฒะธัั ะทะฐะฟัะพัั ะฒ ะฒะฐัะต FastAPI ะฟัะธะปะพะถะตะฝะธะต, ะฐ ะทะฐัะตะผ ะฟัะธ ะฟะพะผะพัะธ ะฐัะธะฝั
ัะพะฝะฝะพะน ะฑะธะฑะปะธะพัะตะบะธ ะดะปั ัะฐะฑะพัั ั ะฑะฐะทะพะน ะดะฐะฝะฝัั
ัะดะพััะพะฒะตัะธัััั, ััะพ ะฒะฐั ะฑะตะบัะฝะด ะบะพััะตะบัะฝะพ ะทะฐะฟะธัะฐะป ะดะฐะฝะฝัะต ะฒ ะฑะฐะทั ะดะฐะฝะฝัั
.
+
+ะะฐะฒะฐะนัะต ัะฐััะผะพััะธะผ, ะบะฐะบ ะผั ะผะพะถะตะผ ััะพ ัะตะฐะปะธะทะพะฒะฐัั.
+
+## pytest.mark.anyio
+
+ะัะปะธ ะผั ั
ะพัะธะผ ะฒัะทัะฒะฐัั ะฐัะธะฝั
ัะพะฝะฝัะต ััะฝะบัะธะธ ะฒ ะฝะฐัะธั
ัะตััะฐั
, ัะพ ะฝะฐัะธ ัะตััะพะฒัะต ััะฝะบัะธะธ ะดะพะปะถะฝั ะฑััั ะฐัะธะฝั
ัะพะฝะฝัะผะธ. AnyIO ะฟัะตะดะพััะฐะฒะปัะตั ะดะปั ััะพะณะพ ะพัะปะธัะฝัะน ะฟะปะฐะณะธะฝ, ะบะพัะพััะน ะฟะพะทะฒะพะปัะตั ะฝะฐะผ ัะบะฐะทัะฒะฐัั, ะบะฐะบะธะต ัะตััะพะฒัะต ััะฝะบัะธะธ ะดะพะปะถะฝั ะฒัะทัะฒะฐัััั ะฐัะธะฝั
ัะพะฝะฝะพ.
+
+## HTTPX
+
+ะะฐะถะต ะตัะปะธ **FastAPI** ะฟัะธะปะพะถะตะฝะธะต ะธัะฟะพะปัะทัะตั ะพะฑััะฝัะต ััะฝะบัะธะธ `def` ะฒะผะตััะพ `async def`, ััะพ ะฒัะต ัะฐะฒะฝะพ `async` ะฟัะธะปะพะถะตะฝะธะต 'ะฟะพะด ะบะฐะฟะพัะพะผ'.
+
+ะงัะพะฑั ัะฐะฑะพัะฐัั ั ะฐัะธะฝั
ัะพะฝะฝัะผ FastAPI ะฟัะธะปะพะถะตะฝะธะตะผ ะฒ ะฒะฐัะธั
ะพะฑััะฝัั
ัะตััะพะฒัั
ััะฝะบัะธัั
`def`, ะธัะฟะพะปัะทัั ััะฐะฝะดะฐััะฝัะน pytest, `TestClient` ะฒะฝัััะธ ัะตะฑั ะดะตะปะฐะตั ะฝะตะบะพัะพััั ะผะฐะณะธั. ะะพ ััะฐ ะผะฐะณะธั ะฟะตัะตััะฐะตั ัะฐะฑะพัะฐัั, ะบะพะณะดะฐ ะผั ะธัะฟะพะปัะทัะตะผ ะตะณะพ ะฒะฝัััะธ ะฐัะธะฝั
ัะพะฝะฝัั
ััะฝะบัะธะน. ะะฐะฟััะบะฐั ะฝะฐัะธ ัะตััั ะฐัะธะฝั
ัะพะฝะฝะพ, ะผั ะฑะพะปััะต ะฝะต ะผะพะถะตะผ ะธัะฟะพะปัะทะพะฒะฐัั `TestClient` ะฒะฝัััะธ ะฝะฐัะธั
ัะตััะพะฒัั
ััะฝะบัะธะน.
+
+`TestClient` ะพัะฝะพะฒะฐะฝ ะฝะฐ HTTPX, ะธ, ะบ ััะฐัััั, ะผั ะผะพะถะตะผ ะธัะฟะพะปัะทะพะฒะฐัั ะตะณะพ (`HTTPX`) ะฝะฐะฟััะผัั ะดะปั ัะตััะธัะพะฒะฐะฝะธั API.
+
+## ะัะธะผะตั
+
+ะ ะบะฐัะตััะฒะต ะฟัะพััะพะณะพ ะฟัะธะผะตัะฐ, ะดะฐะฒะฐะนัะต ัะฐััะผะพััะธะผ ัะฐะนะปะพะฒัั ััััะบัััั, ัั
ะพะถัั ั ะพะฟะธัะฐะฝะฝะพะน ะฒ [ะะพะปััะธะต ะฟัะธะปะพะถะตะฝะธั](../tutorial/bigger-applications.md){.internal-link target=_blank} ะธ [ะขะตััะธัะพะฒะฐะฝะธะต](../tutorial/testing.md){.internal-link target=_blank}:
+
+```
+.
+โโโ app
+โย ย โโโ __init__.py
+โย ย โโโ main.py
+โย ย โโโ test_main.py
+```
+
+ะคะฐะนะป `main.py`:
+
+{* ../../docs_src/async_tests/main.py *}
+
+ะคะฐะนะป `test_main.py` ัะพะดะตัะถะธั ัะตััั ะดะปั `main.py`, ัะตะฟะตัั ะพะฝ ะผะพะถะตั ะฒัะณะปัะดะตัั ัะฐะบ:
+
+{* ../../docs_src/async_tests/test_main.py *}
+
+## ะะฐะฟััะบ ัะตััะพะฒ
+
+ะั ะผะพะถะตัะต ะทะฐะฟัััะธัั ัะฒะพะธ ัะตััั ะบะฐะบ ะพะฑััะฝะพ:
+
+
+
+ะั ะผะพะถะตัะต ะฝะฐะฑะธัะฐัั ัะพะพะฑัะตะฝะธั ะฒ ะฟะพะปะต ะฒะฒะพะดะฐ ะธ ะพัะฟัะฐะฒะปััั ะธั
:
+
+
+
+ะ ะฒะฐัะต **FastAPI** ะฟัะธะปะพะถะตะฝะธะต ั ะฒะตะฑ-ัะพะบะตัะฐะผะธ ะพัะฒะตัะธั:
+
+
+
+ะั ะผะพะถะตัะต ะพัะฟัะฐะฒะปััั ะธ ะฟะพะปััะฐัั ะผะฝะพะถะตััะฒะพ ัะพะพะฑัะตะฝะธะน:
+
+
+
+ะ ะฒัะต ะพะฝะธ ะฑัะดัั ะธัะฟะพะปัะทะพะฒะฐัั ะพะดะฝะพ ะธ ัะพ ะถะต ะฒะตะฑ-ัะพะบะตั ัะพะตะดะธะฝะตะฝะธะต.
+
+## ะัะฟะพะปัะทะพะฒะฐะฝะธะต `Depends` ะธ ะฝะต ัะพะปัะบะพ
+
+ะั ะผะพะถะตัะต ะธะผะฟะพััะธัะพะฒะฐัั ะธะท `fastapi` ะธ ะธัะฟะพะปัะทะพะฒะฐัั ะฒ ัะฝะดะฟะพะธะฝัะต ะฒะตะฑัะพะบะตัะฐ:
+
+* `Depends`
+* `Security`
+* `Cookie`
+* `Header`
+* `Path`
+* `Query`
+
+ะะฝะธ ัะฐะฑะพัะฐัั ัะฐะบ ะถะต, ะบะฐะบ ะธ ะฒ ะดััะณะธั
FastAPI ัะฝะดะฟะพะธะฝัะฐั
/*ะพะฟะตัะฐัะธัั
ะฟััะธ*:
+
+{* ../../docs_src/websockets/tutorial002_an_py310.py hl[68:69,82] *}
+
+/// info | ะัะธะผะตัะฐะฝะธะต
+
+ะ ะฒะตะฑ-ัะพะบะตัะต ะฒัะทัะฒะฐัั `HTTPException` ะฝะต ะธะผะตะตั ัะผััะปะฐ. ะะผะตััะพ ััะพะณะพ ะฝัะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั `WebSocketException`.
+
+ะะฐะบััะฒะฐััะธะน ััะฐััั ะบะพะด ะผะพะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั ะธะท valid codes defined in the specification.
+
+///
+
+### ะะตะฑ-ัะพะบะตัั ั ะทะฐะฒะธัะธะผะพัััะผะธ: ะฟัะพะฒะตัะบะฐ ะฒ ะดะตะนััะฒะธะธ
+
+ะัะปะธ ะฒะฐั ัะฐะนะป ะฝะฐะทัะฒะฐะตััั `main.py`, ัะพ ะทะฐะฟัััะธัะต ะฟัะธะปะพะถะตะฝะธะต ะบะพะผะฐะฝะดะพะน:
+
+
+
+## ะะฑัะฐะฑะพัะบะฐ ะพัะบะปััะตะฝะธะน ะธ ัะฐะฑะพัะฐ ั ะฝะตัะบะพะปัะบะธะผะธ ะบะปะธะตะฝัะฐะผะธ
+
+ะัะปะธ ะฒะตะฑ-ัะพะบะตั ัะพะตะดะธะฝะตะฝะธะต ะทะฐะบัััะพ, ัะพ `await websocket.receive_text()` ะฒัะทะพะฒะตั ะธัะบะปััะตะฝะธะต `WebSocketDisconnect`, ะบะพัะพัะพะต ะผะพะถะฝะพ ะฟะพะนะผะฐัั ะธ ะพะฑัะฐะฑะพัะฐัั ะบะฐะบ ะฒ ััะพะผ ะฟัะธะผะตัะต:
+
+{* ../../docs_src/websockets/tutorial003_py39.py hl[79:81] *}
+
+ะงัะพะฑั ะฒะพัะฟัะพะธะทะฒะตััะธ ะฟัะธะผะตั:
+
+* ะัะบัะพะนัะต ะฟัะธะปะพะถะตะฝะธะต ะฒ ะฝะตัะบะพะปัะบะธั
ะฒะบะปะฐะดะบะฐั
ะฑัะฐัะทะตัะฐ.
+* ะัะฟัะฐะฒััะต ะธะท ะฝะธั
ัะพะพะฑัะตะฝะธั.
+* ะะฐัะตะผ ะทะฐะบัะพะนัะต ะพะดะฝั ะธะท ะฒะบะปะฐะดะพะบ.
+
+ะญัะพ ะฒัะทะพะฒะตั ะธัะบะปััะตะฝะธะต `WebSocketDisconnect`, ะธ ะฒัะต ะพััะฐะปัะฝัะต ะบะปะธะตะฝัั ะฟะพะปััะฐั ัะปะตะดัััะตะต ัะพะพะฑัะตะฝะธะต:
+
+```
+Client #1596980209979 left the chat
+```
+
+/// tip | ะัะธะผะตัะฐะฝะธะต
+
+ะัะธะปะพะถะตะฝะธะต ะฒััะต - ััะพ ะฒัะตะณะพ ะปะธัั ะฟัะพััะพะน ะผะธะฝะธะผะฐะปัะฝัะน ะฟัะธะผะตั, ะดะตะผะพะฝัััะธััััะธะน ะพะฑัะฐะฑะพัะบั ะธ ะฟะตัะตะดะฐัั ัะพะพะฑัะตะฝะธะน ะฝะตัะบะพะปัะบะธะผ ะฒะตะฑ-ัะพะบะตั ัะพะตะดะธะฝะตะฝะธัะผ.
+
+ะะพ ะธะผะตะนัะต ะฒ ะฒะธะดั, ััะพ ััะพ ะฑัะดะตั ัะฐะฑะพัะฐัั ัะพะปัะบะพ ะฒ ะพะดะฝะพะผ ะฟัะพัะตััะต ะธ ัะพะปัะบะพ ะฟะพะบะฐ ะพะฝ ะฐะบัะธะฒะตะฝ, ัะฐะบ ะบะฐะบ ะฒัั ะพะฑัะฐะฑะฐััะฒะฐะตััั ะฒ ะฟัะพััะพะผ ัะฟะธัะบะต ะฒ ะพะฟะตัะฐัะธะฒะฝะพะน ะฟะฐะผััะธ.
+
+ะัะปะธ ะฝัะถะฝะพ ััะพ-ัะพ ะปะตะณะบะพ ะธะฝัะตะณัะธััะตะผะพะต ั FastAPI, ะฝะพ ะฑะพะปะตะต ะฝะฐะดะตะถะฝะพะต ะธ ั ะฟะพะดะดะตัะถะบะพะน Redis, PostgreSQL ะธะปะธ ะดััะณะพะณะพ, ัะพ ะผะพะถะฝะพ ะฒะพัะฟะพะปัะทะพะฒะฐัััั encode/broadcaster.
+
+///
+
+## ะะพะฟะพะปะฝะธัะตะปัะฝะฐั ะธะฝัะพัะผะฐัะธั
+
+ะะปั ะฑะพะปะตะต ะณะปัะฑะพะบะพะณะพ ะธะทััะตะฝะธั ัะตะผั ะฒะพัะฟะพะปัะทัะนัะตัั ะดะพะบัะผะตะฝัะฐัะธะตะน Starlette:
+
+* The `WebSocket` class.
+* Class-based WebSocket handling.
diff --git a/docs/ru/docs/tutorial/bigger-applications.md b/docs/ru/docs/tutorial/bigger-applications.md
new file mode 100644
index 000000000..7c3dc288f
--- /dev/null
+++ b/docs/ru/docs/tutorial/bigger-applications.md
@@ -0,0 +1,556 @@
+# ะะพะปััะธะต ะฟัะธะปะพะถะตะฝะธั, ะฒ ะบะพัะพััั
ะผะฝะพะณะพ ัะฐะนะปะพะฒ
+
+ะัะธ ะฟะพัััะพะตะฝะธะธ ะฟัะธะปะพะถะตะฝะธั ะธะปะธ ะฒะตะฑ-API ะฝะฐะผ ัะตะดะบะพ ัะดะฐะตััั ะฟะพะผะตััะธัั ะฒัั ะฒ ะพะดะธะฝ ัะฐะนะป.
+
+**FastAPI** ะฟัะตะดะพััะฐะฒะปัะตั ัะดะพะฑะฝัะน ะธะฝััััะผะตะฝัะฐัะธะน, ะบะพัะพััะน ะฟะพะทะฒะพะปัะตั ะฝะฐะผ ััััะบัััะธัะพะฒะฐัั ะฟัะธะปะพะถะตะฝะธะต, ัะพั
ัะฐะฝัั ะฟัะธ ััะพะผ ะฒัั ะฝะตะพะฑั
ะพะดะธะผัั ะณะธะฑะบะพััั.
+
+/// info | ะัะธะผะตัะฐะฝะธะต
+
+ะัะปะธ ะฒั ัะฐะฝััะต ะธัะฟะพะปัะทะพะฒะฐะปะธ Flask, ัะพ ััะพ ะฐะฝะฐะปะพะณ ัะฐะฑะปะพะฝะพะฒ Flask (Flask's Blueprints).
+
+///
+
+## ะัะธะผะตั ััััะบัััั ะฟัะธะปะพะถะตะฝะธั
+
+ะะฐะฒะฐะนัะต ะฟัะตะดะฟะพะปะพะถะธะผ, ััะพ ะฝะฐัะต ะฟัะธะปะพะถะตะฝะธะต ะธะผะตะตั ัะปะตะดััััั ััััะบัััั:
+
+```
+.
+โโโ app
+โย ย โโโ __init__.py
+โย ย โโโ main.py
+โย ย โโโ dependencies.py
+โย ย โโโ routers
+โย ย โ โโโ __init__.py
+โย ย โ โโโ items.py
+โย ย โ โโโ users.py
+โย ย โโโ internal
+โย ย โโโ __init__.py
+โย ย โโโ admin.py
+```
+
+/// tip | ะะพะดัะบะฐะทะบะฐ
+
+ะะฑัะฐัะธัะต ะฒะฝะธะผะฐะฝะธะต, ััะพ ะฒ ะบะฐะถะดะพะผ ะบะฐัะฐะปะพะณะต ะธ ะฟะพะดะบะฐัะฐะปะพะณะต ะธะผะตะตััั ัะฐะนะป `__init__.py`
+
+ะญัะพ ะบะฐะบ ัะฐะท ัะพ, ััะพ ะฟะพะทะฒะพะปัะตั ะธะผะฟะพััะธัะพะฒะฐัั ะบะพะด ะธะท ะพะดะฝะพะณะพ ัะฐะนะปะฐ ะฒ ะดััะณะพะน.
+
+ะะฐะฟัะธะผะตั, ะฒ ัะฐะนะปะต `app/main.py` ะผะพะถะตั ะฑััั ัะปะตะดัััะฐั ัััะพะบะฐ:
+
+```
+from app.routers import items
+```
+
+///
+
+* ะัั ะฟะพะผะตัะฐะตััั ะฒ ะบะฐัะฐะปะพะณะต `app`. ะ ะฝัะผ ัะฐะบะถะต ะฝะฐั
ะพะดะธััั ะฟัััะพะน ัะฐะนะป `app/__init__.py`. ะขะฐะบะธะผ ะพะฑัะฐะทะพะผ, `app` ัะฒะปัะตััั "Python-ะฟะฐะบะตัะพะผ" (ะบะพะปะปะตะบัะธะตะน ะผะพะดัะปะตะน Python).
+* ะะฝ ัะพะดะตัะถะธั ัะฐะนะป `app/main.py`. ะะฐะฝะฝัะน ัะฐะนะป ัะฒะปัะตััั ัะฐัััั ะฟะฐะบะตัะฐ (ั.ะต. ะฝะฐั
ะพะดะธััั ะฒะฝัััะธ ะบะฐัะฐะปะพะณะฐ, ัะพะดะตัะถะฐัะตะณะพ ัะฐะนะป `__init__.py`), ะธ, ัะพะพัะฒะตัััะฒะตะฝะฝะพ, ะพะฝ ัะฒะปัะตััั ะผะพะดัะปะตะผ ะฟะฐะบะตัะฐ: `app.main`.
+* ะะฝ ัะฐะบะถะต ัะพะดะตัะถะธั ัะฐะนะป `app/dependencies.py`, ะบะพัะพััะน ัะฐะบะถะต, ะบะฐะบ ะธ `app/main.py`, ัะฒะปัะตััั ะผะพะดัะปะตะผ: `app.dependencies`.
+* ะะดะตัั ัะฐะบะถะต ะฝะฐั
ะพะดะธััั ะฟะพะดะบะฐัะฐะปะพะณ `app/routers/`, ัะพะดะตัะถะฐัะธะน `__init__.py`. ะะฝ ัะฒะปัะตััั ััะฑ-ะฟะฐะบะตัะพะผ: `app.routers`.
+* ะคะฐะนะป `app/routers/items.py` ะฝะฐั
ะพะดะธััั ะฒะฝัััะธ ะฟะฐะบะตัะฐ `app/routers/`. ะขะฐะบะธะผ ะพะฑัะฐะทะพะผ, ะพะฝ ัะฒะปัะตััั ััะฑ-ะผะพะดัะปะตะผ: `app.routers.items`.
+* ะขะพัะฝะพ ัะฐะบะถะต `app/routers/users.py` ัะฒะปัะตััั ะตัั ะพะดะฝะธะผ ััะฑ-ะผะพะดัะปะตะผ: `app.routers.users`.
+* ะะพะดะบะฐัะฐะปะพะณ `app/internal/`, ัะพะดะตัะถะฐัะธะน ัะฐะนะป `__init__.py`, ัะฒะปัะตััั ะตัั ะพะดะฝะธะผ ััะฑ-ะฟะฐะบะตัะพะผ: `app.internal`.
+* ะ ัะฐะนะป `app/internal/admin.py` ัะฒะปัะตััั ะตัั ะพะดะฝะธะผ ััะฑ-ะผะพะดัะปะตะผ: `app.internal.admin`.
+
+
+
+## ะะพะดะบะปััะตะฝะธะต ัััะตััะฒัััะตะณะพ ะผะฐัััััะฐ ัะตัะตะท ะฝะพะฒัะน ะฟัะตัะธะบั (`prefix`)
+
+ะั ะผะพะถะตัะต ะธัะฟะพะปัะทะพะฒะฐัั `.include_router()` ะฝะตัะบะพะปัะบะพ ัะฐะท ั ะพะดะฝะธะผ ะธ ัะตะผ ะถะต ะผะฐัััััะพะผ, ะฟัะธะผะตะฝะธะฒ ัะฐะทะปะธัะฝัะต ะฟัะตัะธะบัั.
+
+ะญัะพ ะผะพะถะตั ะฑััั ะฟะพะปะตะทะฝัะผ, ะตัะปะธ ะฝัะถะฝะพ ะฟัะตะดะพััะฐะฒะธัั ะดะพัััะฟ ะบ ะพะดะฝะพะผั ะธ ัะพะผั ะถะต API ัะตัะตะท ัะฐะทะปะธัะฝัะต ะฟัะตัะธะบัั, ะฝะฐะฟัะธะผะตั, `/api/v1` ะธ `/api/latest`.
+
+ะญัะพ ะฟัะพะดะฒะธะฝัััะน ัะฟะพัะพะฑ, ะบะพัะพััะน ะฒะฐะผ ะผะพะถะตั ะธ ะฝะต ะฟัะธะณะพะดะธััั. ะั ะฟัะธะฒะพะดะธะผ ะตะณะพ ะฝะฐ ัะปััะฐะน, ะตัะปะธ ะฒะดััะณ ะฒะฐะผ ััะพ ะฟะพะฝะฐะดะพะฑะธััั.
+
+## ะะบะปััะตะฝะธะต ะพะดะฝะพะณะพ ะผะฐัััััะธะทะฐัะพัะฐ (`APIRouter`) ะฒ ะดััะณะพะน
+
+ะขะพัะฝะพ ัะฐะบ ะถะต, ะบะฐะบ ะฒั ะฒะบะปััะฐะตัะต `APIRouter` ะฒ ะฟัะธะปะพะถะตะฝะธะต `FastAPI`, ะฒั ะผะพะถะตัะต ะฒะบะปััะธัั `APIRouter` ะฒ ะดััะณะพะน `APIRouter`:
+
+```Python
+router.include_router(other_router)
+```
+
+ะฃะดะพััะพะฒะตัััะตัั, ััะพ ะฒั ัะดะตะปะฐะปะธ ััะพ ะดะพ ัะพะณะพ, ะบะฐะบ ะฟะพะดะบะปััะธัั ะผะฐัััััะธะทะฐัะพั (`router`) ะบ ะฒะฐัะตะผั `FastAPI` ะฟัะธะปะพะถะตะฝะธั, ะธ *ัะฝะดะฟะพะธะฝัั* ะผะฐัััััะธะทะฐัะพัะฐ `other_router` ะฑัะปะธ ัะฐะบะถะต ะฟะพะดะบะปััะตะฝั.
diff --git a/docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md b/docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
index f9b9dec25..0e4eb95be 100644
--- a/docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
+++ b/docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
@@ -18,7 +18,7 @@
ะะฐะฒะธัะธะผะพััะธ ะธะท dependencies ะฒัะฟะพะปะฝัััั ัะฐะบ ะถะต, ะบะฐะบ ะธ ะพะฑััะฝัะต ะทะฐะฒะธัะธะผะพััะธ. ะะพ ะธั
ะทะฝะฐัะตะฝะธั (ะตัะปะธ ะพะฝะธ ะฑัะปะธ) ะฝะต ะฑัะดัั ะฟะตัะตะดะฐะฝั ะฒ *ััะฝะบัะธั ะพะฟะตัะฐัะธะธ ะฟััะธ*.
-/// ะฟะพะดัะบะฐะทะบะฐ
+/// tip | ะะพะดัะบะฐะทะบะฐ
ะะตะบะพัะพััะต ัะตะดะฐะบัะพัั ะบะพะดะฐ ะพะฟัะตะดะตะปััั ะฝะตะธัะฟะพะปัะทัะตะผัะต ะฟะฐัะฐะผะตััั ััะฝะบัะธะน ะธ ะฟะพะดัะฒะตัะธะฒะฐัั ะธั
ะบะฐะบ ะพัะธะฑะบั.
@@ -28,7 +28,7 @@
///
-/// ะดะพะฟะพะปะฝะธัะตะปัะฝะฐั | ะธะฝัะพัะผะฐัะธั
+/// info | ะัะธะผะตัะฐะฝะธะต
ะ ััะพะผ ะฟัะธะผะตัะต ะผั ะธัะฟะพะปัะทัะตะผ ะฒัะดัะผะฐะฝะฝัะต ะฟะพะปัะทะพะฒะฐัะตะปััะบะธะต ะทะฐะณะพะปะพะฒะบะธ `X-Key` ะธ `X-Token`.
diff --git a/docs/ru/docs/tutorial/query-params-str-validations.md b/docs/ru/docs/tutorial/query-params-str-validations.md
index 32a98ff22..13b7015db 100644
--- a/docs/ru/docs/tutorial/query-params-str-validations.md
+++ b/docs/ru/docs/tutorial/query-params-str-validations.md
@@ -291,22 +291,6 @@ q: Union[str, None] = Query(default=None, min_length=3)
{* ../../docs_src/query_params_str_validations/tutorial006_an_py39.py hl[9] *}
-### ะะฑัะทะฐัะตะปัะฝัะน ะฟะฐัะฐะผะตัั ั Ellipsis (`...`)
-
-ะะปััะตัะฝะฐัะธะฒะฝัะน ัะฟะพัะพะฑ ัะบะฐะทะฐัั ะพะฑัะทะฐัะตะปัะฝะพััั ะฟะฐัะฐะผะตััะฐ ะทะฐะฟัะพัะฐ - ััะพ ัะบะฐะทะฐัั ะฟะฐัะฐะผะตัั `default` ัะตัะตะท ะผะฝะพะณะพัะพัะธะต `...`:
-
-{* ../../docs_src/query_params_str_validations/tutorial006b_an_py39.py hl[9] *}
-
-/// info | ะะพะฟะพะปะฝะธัะตะปัะฝะฐั ะธะฝัะพัะผะฐัะธั
-
-ะัะปะธ ะฒั ัะฐะฝะตะต ะฝะต ััะฐะปะบะธะฒะฐะปะธัั ั `...`: ััะพ ัะฟะตัะธะฐะปัะฝะพะต ะทะฝะฐัะตะฝะธะต, ัะฐััั ัะทัะบะฐ Python ะธ ะฝะฐะทัะฒะฐะตััั "Ellipsis".
-
-ะัะฟะพะปัะทัะตััั ะฒ Pydantic ะธ FastAPI ะดะปั ะพะฟัะตะดะตะปะตะฝะธั, ััะพ ะทะฝะฐัะตะฝะธะต ััะตะฑัะตััั ะพะฑัะทะฐัะตะปัะฝะพ.
-
-///
-
-ะขะฐะบะธะผ ะพะฑัะฐะทะพะผ, **FastAPI** ะพะฟัะตะดะตะปัะตั, ััะพ ะฟะฐัะฐะผะตัั ัะฒะปัะตััั ะพะฑัะทะฐัะตะปัะฝัะผ.
-
### ะะฑัะทะฐัะตะปัะฝัะน ะฟะฐัะฐะผะตัั ั `None`
ะั ะผะพะถะตัะต ะพะฟัะตะดะตะปะธัั, ััะพ ะฟะฐัะฐะผะตัั ะผะพะถะตั ะฟัะธะฝะธะผะฐัั `None`, ะฝะพ ะฒัั ะตัั ัะฒะปัะตััั ะพะฑัะทะฐัะตะปัะฝัะผ. ะญัะพ ะผะพะถะตั ะฟะพััะตะฑะพะฒะฐัััั ะดะปั ัะพะณะพ, ััะพะฑั ะฟะพะปัะทะพะฒะฐัะตะปะธ ัะฒะฝะพ ัะบะฐะทะฐะปะธ ะฟะฐัะฐะผะตัั, ะดะฐะถะต ะตัะปะธ ะตะณะพ ะทะฝะฐัะตะฝะธะต ะฑัะดะตั `None`.
@@ -321,18 +305,6 @@ Pydantic, ะผะพัั ะบะพัะพัะพะณะพ ะธัะฟะพะปัะทัะตััั ะฒ FastAPI ะดะปั
///
-### ะัะฟะพะปัะทะพะฒะฐะฝะธะต Pydantic's `Required` ะฒะผะตััะพ Ellipsis (`...`)
-
-ะัะปะธ ะฒะฐั ัะผััะฐะตั `...`, ะฒั ะผะพะถะตัะต ะธัะฟะพะปัะทะพะฒะฐัั `Required` ะธะท Pydantic:
-
-{* ../../docs_src/query_params_str_validations/tutorial006d_an_py39.py hl[4,10] *}
-
-/// tip | ะะพะดัะบะฐะทะบะฐ
-
-ะะฐะฟะพะผะฝะธัะต, ะบะพะณะดะฐ ะฒะฐะผ ะฝะตะพะฑั
ะพะดะธะผะพ ะพะฑััะฒะธัั query-ะฟะฐัะฐะผะตัั ะพะฑัะทะฐัะตะปัะฝัะผ, ะฒั ะผะพะถะตัะต ะฟัะพััะพ ะฝะต ัะบะฐะทัะฒะฐัั ะฟะฐัะฐะผะตัั `default`. ะขะฐะบะธะผ ะพะฑัะฐะทะพะผ, ะฒะฐะผ ัะตะดะบะพ ะฟัะธะดัััั ะธัะฟะพะปัะทะพะฒะฐัั `...` ะธะปะธ `Required`.
-
-///
-
## ะะฝะพะถะตััะฒะพ ะทะฝะฐัะตะฝะธะน ะดะปั query-ะฟะฐัะฐะผะตััะฐ
ะะปั query-ะฟะฐัะฐะผะตััะฐ `Query` ะผะพะถะฝะพ ัะบะฐะทะฐัั, ััะพ ะพะฝ ะฟัะธะฝะธะผะฐะตั ัะฟะธัะพะบ ะทะฝะฐัะตะฝะธะน (ะผะฝะพะถะตััะฒะพ ะทะฝะฐัะตะฝะธะน).
diff --git a/docs/uk/docs/features.md b/docs/uk/docs/features.md
new file mode 100644
index 000000000..7d679d8ee
--- /dev/null
+++ b/docs/uk/docs/features.md
@@ -0,0 +1,189 @@
+# ะคัะฝะบััะพะฝะฐะปัะฝั ะผะพะถะปะธะฒะพััั
+
+## ะคัะฝะบััะพะฝะฐะปัะฝั ะผะพะถะปะธะฒะพััั FastAPI
+
+**FastAPI** ะฝะฐะดะฐั ะฒะฐะผ ัะฐะบั ะผะพะถะปะธะฒะพััั:
+
+### ะะธะบะพัะธััะฐะฝะฝั ะฒัะดะบัะธัะธั
ััะฐะฝะดะฐัััะฒ
+
+* OpenAPI ะดะปั ััะฒะพัะตะฝะฝั API, ะฒะบะปััะฐััะธ ะพะณะพะปะพัะตะฝะฝั ัะปัั
ัะฒ, ะพะฟะตัะฐััะน, ะฟะฐัะฐะผะตัััะฒ, ััะป ะทะฐะฟะธััะฒ, ะฑะตะทะฟะตะบะธ ัะพัะพ.
+* ะะฒัะพะผะฐัะธัะฝะฐ ะดะพะบัะผะตะฝัะฐััั ะผะพะดะตะปะตะน ะดะฐะฝะธั
ะทะฐ ะดะพะฟะพะผะพะณะพั JSON Schema (ะพัะบัะปัะบะธ OpenAPI ะฑะฐะทัััััั ัะฐะผะต ะฝะฐ JSON Schema).
+* ะ ะพะทัะพะฑะปะตะฝะพ ะฝะฐ ะพัะฝะพะฒั ัะธั
ััะฐะฝะดะฐัััะฒ ะฟััะปั ัะตัะตะปัะฝะพะณะพ ะฐะฝะฐะปัะทั, ะฐ ะฝะต ัะบ ะดะพะดะฐัะบะพะฒะธะน ััะฒะตะฝั ะฟะพะฒะตัั
ะพัะฝะพะฒะฝะพั ะฐัั
ััะตะบัััะธ.
+* ะฆะต ัะฐะบะพะถ ะดะฐั ะทะผะพะณั ะฐะฒัะพะผะฐัะธัะฝะพ **ะณะตะฝะตััะฒะฐัะธ ะบะพะด ะบะปััะฝัะฐ** ะฑะฐะณะฐััะผะฐ ะผะพะฒะฐะผะธ.
+
+### ะะฒัะพะผะฐัะธัะฝะฐ ะณะตะฝะตัะฐััั ะดะพะบัะผะตะฝัะฐััั
+
+ะะฝัะตัะฐะบัะธะฒะฝะฐ ะดะพะบัะผะตะฝัะฐััั API ัะฐ ะฒะตะฑัะฝัะตััะตะนั ะดะปั ะนะพะณะพ ะดะพัะปัะดะถะตะฝะฝั. ะัะบัะปัะบะธ ััะตะนะผะฒะพัะบ ะฑะฐะทัััััั ะฝะฐ OpenAPI, ั ะบัะปัะบะฐ ะฒะฐััะฐะฝััะฒ, ะดะฒะฐ ะท ัะบะธั
ะฒะบะปััะตะฝั ะทะฐ ะทะฐะผะพะฒััะฒะฐะฝะฝัะผ.
+
+* Swagger UI โ ะดะพะทะฒะพะปัั ัะฝัะตัะฐะบัะธะฒะฝะพ ะฟะตัะตะณะปัะดะฐัะธ API, ะฒะธะบะปะธะบะฐัะธ ัะฐ ัะตัััะฒะฐัะธ ะนะพะณะพ ะฟััะผะพ ั ะฑัะฐัะทะตัั.
+
+
+
+* ะะปััะตัะฝะฐัะธะฒะฝะฐ ะดะพะบัะผะตะฝัะฐััั API ะทะฐ ะดะพะฟะพะผะพะณะพั ReDoc.
+
+
+
+### ะขัะปัะบะธ ัััะฐัะฝะธะน Python
+
+FastAPI ะฒะธะบะพัะธััะพะฒัั ััะฐะฝะดะฐััะฝั **ัะธะฟะธ Python** (ะทะฐะฒะดัะบะธ Pydantic). ะะฐะผ ะฝะต ะฟะพัััะฑะฝะพ ะฒะธะฒัะฐัะธ ะฝะพะฒะธะน ัะธะฝัะฐะบัะธั โ ะปะธัะต ััะฐะฝะดะฐััะฝะธะน ัััะฐัะฝะธะน Python.
+
+ะฏะบัะพ ะฒะฐะผ ะฟะพัััะฑะฝะต ะบะพัะพัะบะต ะฝะฐะณะฐะดัะฒะฐะฝะฝั ะฟัะพ ะฒะธะบะพัะธััะฐะฝะฝั ัะธะฟัะฒ ั Python (ะฝะฐะฒััั ัะบัะพ ะฒะธ ะฝะต ะฒะธะบะพัะธััะพะฒัััะต FastAPI), ะฟะตัะตะณะปัะฝััะต ะบะพัะพัะบะธะน ะฟัะดัััะฝะธะบ: [ะัััะฟ ะดะพ ัะธะฟัะฒ Python](python-types.md){.internal-link target=_blank}.
+
+ะัั ะฟัะธะบะปะฐะด ััะฐะฝะดะฐััะฝะพะณะพ Python-ะบะพะดั ะท ัะธะฟะฐะผะธ:
+
+```Python
+from datetime import date
+from pydantic import BaseModel
+
+# ะะณะพะปะพัะตะฝะฝั ะทะผัะฝะฝะพั ัะบ str
+# ะท ะฟัะดััะธะผะบะพั ะฐะฒัะพะดะพะฟะพะฒะฝะตะฝะฝั ั ัะตะดะฐะบัะพัั
+def main(user_id: str):
+ return user_id
+
+# ะะพะดะตะปั Pydantic
+class User(BaseModel):
+ id: int
+ name: str
+ joined: date
+```
+
+ะัะธะบะปะฐะด ะฒะธะบะพัะธััะฐะฝะฝั ัััั ะผะพะดะตะปั:
+
+```Python
+my_user: User = User(id=3, name="John Doe", joined="2018-07-19")
+
+second_user_data = {
+ "id": 4,
+ "name": "Mary",
+ "joined": "2018-11-30",
+}
+
+my_second_user: User = User(**second_user_data)
+```
+
+/// info | ะะฝัะพัะผะฐััั
+
+`**second_user_data` ะพะทะฝะฐัะฐั:
+
+ะะตัะตะดะฐัะธ ะบะปััั ัะฐ ะทะฝะฐัะตะฝะฝั ัะปะพะฒะฝะธะบะฐ `second_user_data` ัะบ ะฐัะณัะผะตะฝัะธ ั ะฒะธะณะปัะดั "ะบะปัั-ะทะฝะฐัะตะฝะฝั", ะตะบะฒัะฒะฐะปะตะฝัะฝะพ `User(id=4, name="Mary", joined="2018-11-30")`.
+
+///
+
+### ะัะดััะธะผะบะฐ ัะตะดะฐะบัะพััะฒ (IDE)
+
+ะคัะตะนะผะฒะพัะบ ัะฟัะพัะบัะพะฒะฐะฝะธะน ัะฐะบ, ัะพะฑ ะฑััะธ ะปะตะณะบะธะผ ั ัะฝััััะธะฒะฝะพ ะทัะพะทัะผัะปะธะผ. ะฃัั ัััะตะฝะฝั ัะตัััะฒะฐะปะธัั ั ััะทะฝะธั
ัะตะดะฐะบัะพัะฐั
ัะต ะดะพ ะฟะพัะฐัะบั ัะพะทัะพะฑะบะธ, ัะพะฑ ะทะฐะฑะตะทะฟะตัะธัะธ ะฝะฐะนะบัะฐัะธะน ะดะพัะฒัะด ะฟัะพะณัะฐะผัะฒะฐะฝะฝั.
+
+ะะฐ ัะตะทัะปััะฐัะฐะผะธ ะพะฟะธััะฒะฐะฝั ัะพะทัะพะฑะฝะธะบัะฒ Python ะพะดะฝััั ะท ะฝะฐะนะฟะพะฟัะปััะฝััะธั
ััะฝะบััะน ั "ะฐะฒัะพะดะพะฟะพะฒะฝะตะฝะฝั".
+
+**FastAPI** ะฟะพะฒะฝัััั ะฟัะดััะธะผัั ะฐะฒัะพะดะพะฟะพะฒะฝะตะฝะฝั ั ะฒััั
ะผััััั
, ัะพะผั ะฒะฐะผ ััะดะบะพ ะดะพะฒะตะดะตัััั ะฟะพะฒะตััะฐัะธัั ะดะพ ะดะพะบัะผะตะฝัะฐััั.
+
+ะัะธะบะปะฐะด ะฐะฒัะพะดะพะฟะพะฒะฝะตะฝะฝั ั ัะตะดะฐะบัะพัะฐั
:
+
+* ั Visual Studio Code:
+
+
+
+* ั PyCharm:
+
+
+
+### ะะพัะพัะบะธะน ะบะพะด
+FastAPI ะผะฐั ัะพะทัะผะฝั ะฝะฐะปะฐัััะฒะฐะฝะฝั **ะทะฐ ะทะฐะผะพะฒััะฒะฐะฝะฝัะผ**, ะฐะปะต ะฒัั ะฟะฐัะฐะผะตััะธ ะผะพะถะฝะฐ ะฝะฐะปะฐััะพะฒัะฒะฐัะธ ะฒัะดะฟะพะฒัะดะฝะพ ะดะพ ะฒะฐัะธั
ะฟะพััะตะฑ. ะะดะฝะฐะบ ะทะฐ ะทะฐะผะพะฒััะฒะฐะฝะฝัะผ ะฒัะต "ะฟัะพััะพ ะฟัะฐััั".
+
+### ะะฐะปัะดะฐััั
+* ะัะดััะธะผะบะฐ ะฒะฐะปัะดะฐััั ะดะปั ะฑัะปััะพััั (ะฐะฑะพ ะฒััั
?) **ัะธะฟัะฒ ะดะฐะฝะธั
Python**, ะทะพะบัะตะผะฐ:
+ * JSON-ะพะฑ'ัะบััะฒ (`dict`).
+ * JSON-ัะฟะธัะบัะฒ (`list`) ะท ะฒะธะทะฝะฐัะตะฝะฝัะผ ัะธะฟัะฒ ะตะปะตะผะตะฝััะฒ.
+ * ะ ัะดะบัะฒ (`str`) ัะท ะผัะฝัะผะฐะปัะฝะพั ัะฐ ะผะฐะบัะธะผะฐะปัะฝะพั ะดะพะฒะถะธะฝะพั.
+ * ะงะธัะตะป (`int`, `float`) ะท ะพะฑะผะตะถะตะฝะฝัะผะธ ะผัะฝัะผะฐะปัะฝะธั
ัะฐ ะผะฐะบัะธะผะฐะปัะฝะธั
ะทะฝะฐัะตะฝั ัะพัะพ.
+
+* ะะฐะปัะดะฐััั ัะบะปะฐะดะฝััะธั
ัะธะฟัะฒ, ัะฐะบะธั
ัะบ:
+ * URL.
+ * Email.
+ * UUID.
+ * ...ัะฐ ัะฝัั.
+
+ะฃัั ะฒะฐะปัะดะฐััั ะฒะธะบะพะฝัััััั ัะตัะตะท ะฝะฐะดัะนะฝะธะน ัะฐ ะฟะตัะตะฒััะตะฝะธะน **Pydantic**.
+
+### ะะตะทะฟะตะบะฐ ัะฐ ะฐะฒัะตะฝัะธััะบะฐััั
+
+**FastAPI** ะฟัะดััะธะผัั ะฒะฑัะดะพะฒะฐะฝั ะฐะฒัะตะฝัะธััะบะฐััั ัะฐ ะฐะฒัะพัะธะทะฐััั, ะฑะตะท ะฟัะธะฒโัะทะบะธ ะดะพ ะบะพะฝะบัะตัะฝะธั
ะฑะฐะท ะดะฐะฝะธั
ัะธ ะผะพะดะตะปะตะน ะดะฐะฝะธั
.
+
+ะัะดััะธะผัััััั ะฒัั ัั
ะตะผะธ ะฑะตะทะฟะตะบะธ OpenAPI, ะฒะบะปััะฐััะธ:
+
+* HTTP Basic.
+* **OAuth2** (ัะฐะบะพะถ ัะท ะฟัะดััะธะผะบะพั **JWT-ัะพะบะตะฝัะฒ**). ะะธะฒ. ะฟัะดัััะฝะธะบ: [OAuth2 ัะท JWT](tutorial/security/oauth2-jwt.md){.internal-link target=_blank}.
+* ะะปััั API ะฒ:
+ * ะะฐะณะพะปะพะฒะบะฐั
.
+ * ะะฐัะฐะผะตััะฐั
ะทะฐะฟะธัั.
+ * Cookies ัะพัะพ.
+
+ะ ัะฐะบะพะถ ััั ะผะพะถะปะธะฒะพััั ะฑะตะทะฟะตะบะธ ะฒัะด Starlette (ะทะพะบัะตะผะฐ **ัะตััะนะฝั cookies**).
+
+ะฃัั ะฒะพะฝะธ ััะฒะพัะตะฝั ัะบ ะฑะฐะณะฐัะพัะฐะทะพะฒั ัะฝััััะผะตะฝัะธ ัะฐ ะบะพะผะฟะพะฝะตะฝัะธ, ัะบั ะปะตะณะบะพ ัะฝัะตะณััััััั ะท ะฒะฐัะธะผะธ ัะธััะตะผะฐะผะธ, ัั
ะพะฒะธัะฐะผะธ ะดะฐะฝะธั
, ัะตะปัััะนะฝะธะผะธ ัะฐ NoSQL ะฑะฐะทะฐะผะธ ะดะฐะฝะธั
ัะพัะพ.
+
+### ะะฟัะพะฒะฐะดะถะตะฝะฝั ะทะฐะปะตะถะฝะพััะตะน
+
+**FastAPI** ะผัััะธัั ะฝะฐะดะทะฒะธัะฐะนะฝะพ ะฟัะพััั ั ะฒะธะบะพัะธััะฐะฝะฝั, ะฐะปะต ะฟะพััะถะฝั ัะธััะตะผั ะฒะฟัะพะฒะฐะดะถะตะฝะฝั ะทะฐะปะตะถะฝะพััะตะน.
+
+* ะะฐะปะตะถะฝะพััั ะผะพะถััั ะผะฐัะธ ะฒะปะฐัะฝั ะทะฐะปะตะถะฝะพััั, ััะฒะพััััะธ ัััะฐัั
ัั ะฐะฑะพ **"ะณัะฐั ะทะฐะปะตะถะฝะพััะตะน"**.
+* ะฃัั ะทะฐะปะตะถะฝะพััั ะฐะฒัะพะผะฐัะธัะฝะพ ะบะตััััััั ััะตะนะผะฒะพัะบะพะผ.
+* ะฃัั ะทะฐะปะตะถะฝะพััั ะผะพะถััั ะพััะธะผัะฒะฐัะธ ะดะฐะฝั ะท ะทะฐะฟะธััะฒ ั ัะพะทัะธััะฒะฐัะธ **ะพะฑะผะตะถะตะฝะฝั ะพะฟะตัะฐััั ะทะฐ ัะปัั
ะพะผ** ัะฐ ะฐะฒัะพะผะฐัะธัะฝั ะดะพะบัะผะตะฝัะฐััั.
+* **ะะฒัะพะผะฐัะธัะฝะฐ ะฒะฐะปัะดะฐััั** ะฝะฐะฒััั ะดะปั ะฟะฐัะฐะผะตัััะฒ *ะพะฟะตัะฐััะน ัะปัั
ั*, ะฒะธะทะฝะฐัะตะฝะธั
ั ะทะฐะปะตะถะฝะพัััั
.
+* ะัะดััะธะผะบะฐ ัะบะปะฐะดะฝะธั
ัะธััะตะผ ะฐะฒัะตะฝัะธััะบะฐััั ะบะพัะธัััะฒะฐััะฒ, **ะท'ัะดะฝะฐะฝั ัะท ะฑะฐะทะฐะผะธ ะดะฐะฝะธั
** ัะพัะพ.
+* **ะะพะดะฝะธั
ะพะฑะผะตะถะตะฝั** ัะพะดะพ ะฒะธะบะพัะธััะฐะฝะฝั ะฑะฐะท ะดะฐะฝะธั
, ััะพะฝัะตะฝะดัะฒ ัะพัะพ, ะฐะปะต ะฒะพะดะฝะพัะฐั ะฟัะพััะฐ ัะฝัะตะณัะฐััั ะท ัััะผะฐ ะฝะธะผะธ.
+
+### ะะตะผะฐั ะพะฑะผะตะถะตะฝั ะฝะฐ "ะฟะปะฐะณัะฝะธ"
+
+ะะฑะพ ัะฝัะธะผะธ ัะปะพะฒะฐะผะธ, ะฒะพะฝะธ ะฝะต ะฟะพัััะฑะฝั โ ะฟัะพััะพ ัะผะฟะพัััะนัะต ัะฐ ะฒะธะบะพัะธััะพะฒัะนัะต ะฝะตะพะฑั
ัะดะฝะธะน ะบะพะด.
+
+ะัะดั-ัะบะฐ ัะฝัะตะณัะฐััั ัะฟัะพัะบัะพะฒะฐะฝะฐ ะฝะฐัััะปัะบะธ ะฟัะพััะพ (ะท ะฒะธะบะพัะธััะฐะฝะฝัะผ ะทะฐะปะตะถะฝะพััะตะน), ัะพ ะฒะธ ะผะพะถะตัะต ััะฒะพัะธัะธ "ะฟะปะฐะณัะฝ" ะดะปั ัะฒะพะณะพ ะทะฐััะพััะฝะบั ะฒััะพะณะพ ั 2 ััะดะบะฐั
ะบะพะดั, ะฒะธะบะพัะธััะพะฒัััะธ ัั ัะฐะผั ััััะบัััั ัะฐ ัะธะฝัะฐะบัะธั, ัะพ ะน ะดะปั ะฒะฐัะธั
*ะพะฟะตัะฐััะน ัะปัั
ั*.
+
+### ะัะพัะตััะพะฒะฐะฝะพ
+
+* 100% ะฟะพะบัะธััั ัะตััะฐะผะธ.
+* 100% ะฐะฝะพัะพะฒะฐะฝะฐ ัะธะฟะฐะผะธ ะบะพะดะพะฒะฐ ะฑะฐะทะฐ.
+* ะะธะบะพัะธััะพะฒัััััั ั ัะพะฑะพัะธั
ัะตัะตะดะพะฒะธัะฐั
.
+
+## ะะพะถะปะธะฒะพััั Starlette
+
+**FastAPI** ะฟะพะฒะฝัััั ััะผััะฝะธะน ัะท (ัะฐ ะฟะพะฑัะดะพะฒะฐะฝะธะน ะฝะฐ ะพัะฝะพะฒั) Starlette. ะขะพะผั ะฑัะดั-ัะบะธะน ะดะพะดะฐัะบะพะฒะธะน ะบะพะด Starlette, ัะบะธะน ะฒะธ ะผะฐััะต, ัะฐะบะพะถ ะฟัะฐััะฒะฐัะธะผะต.
+
+**FastAPI** ัะฐะบัะธัะฝะพ ั ะฟัะดะบะปะฐัะพะผ **Starlette**. ะขะพะผั, ัะบัะพ ะฒะธ ะฒะถะต ะทะฝะฐะนะพะผั ะทั Starlette ะฐะฑะพ ะฒะธะบะพัะธััะพะฒัััะต ะนะพะณะพ, ะฑัะปัััััั ััะฝะบััะพะฝะฐะปัะฝะพััั ะฟัะฐััะฒะฐัะธะผะต ัะฐะบ ัะฐะผะพ.
+
+ะ **FastAPI** ะฒะธ ะพััะธะผัััะต ะฒัั ะผะพะถะปะธะฒะพััั **Starlette** (ะฐะดะถะต FastAPI โ ัะต, ะฟะพ ัััั, Starlette ะฝะฐ ััะตัะพัะดะฐั
):
+
+* ะ ะฐะทััะฐ ะฟัะพะดัะบัะธะฒะฝัััั. ะฆะต ะพะดะธะฝ ัะท ะฝะฐะนัะฒะธะดัะธั
ััะตะนะผะฒะพัะบัะฒ ะฝะฐ Python, ะฝะฐ ััะฒะฝั ะท **NodeJS** ั **Go**.
+* ะัะดััะธะผะบะฐ **WebSocket**.
+* ะคะพะฝะพะฒั ะทะฐะดะฐัั ั ะฟัะพัะตัั.
+* ะะพะดัั ะทะฐะฟััะบั ัะฐ ะทะฐะฒะตััะตะฝะฝั ัะพะฑะพัะธ.
+* ะะปััะฝั ะดะปั ัะตัััะฒะฐะฝะฝั, ะฟะพะฑัะดะพะฒะฐะฝะธะน ะฝะฐ HTTPX.
+* ะัะดััะธะผะบะฐ **CORS**, **GZip**, ััะฐัะธัะฝะธั
ัะฐะนะปัะฒ, ะฟะพัะพะบะพะฒะธั
ะฒัะดะฟะพะฒัะดะตะน.
+* ะัะดััะธะผะบะฐ **ัะตััะน** ั **cookie**.
+* 100% ะฟะพะบัะธััั ัะตััะฐะผะธ.
+* 100% ะฐะฝะพัะพะฒะฐะฝะฐ ัะธะฟะฐะผะธ ะบะพะดะพะฒะฐ ะฑะฐะทะฐ.
+
+## ะะพะถะปะธะฒะพััั Pydantic
+
+**FastAPI** ะฟะพะฒะฝัััั ััะผััะฝะธะน ัะท (ัะฐ ะฟะพะฑัะดะพะฒะฐะฝะธะน ะฝะฐ ะพัะฝะพะฒั) Pydantic. ะขะพะผั ะฑัะดั-ัะบะธะน ะดะพะดะฐัะบะพะฒะธะน ะบะพะด Pydantic, ัะบะธะน ะฒะธ ะผะฐััะต, ัะฐะบะพะถ ะฟัะฐััะฒะฐัะธะผะต.
+
+ะะบะปััะฐััะธ ะทะพะฒะฝััะฝั ะฑัะฑะปัะพัะตะบะธ, ะฟะพะฑัะดะพะฒะฐะฝั ัะฐะบะพะถ ะฝะฐ Pydantic, ัะฐะบั ัะบ ORM, ODM ะดะปั ะฑะฐะท ะดะฐะฝะธั
.
+
+ะฆะต ัะฐะบะพะถ ะพะทะฝะฐัะฐั, ัะพ ะฒ ะฑะฐะณะฐััะพั
ะฒะธะฟะฐะดะบะฐั
ะฒะธ ะผะพะถะตัะต ะฟะตัะตะดะฐัะธ ัะพะน ัะฐะผะธะน ะพะฑ'ัะบั, ัะบะธะน ะพััะธะผัััะต ะท ะทะฐะฟะธัั, **ะฑะตะทะฟะพัะตัะตะดะฝัะพ ะฒ ะฑะฐะทั ะดะฐะฝะธั
**, ะพัะบัะปัะบะธ ะฒัะต ะฐะฒัะพะผะฐัะธัะฝะพ ะฟะตัะตะฒัััััััั.
+
+ะขะต ะถ ัะฐะผะต ะฒัะดะฑัะฒะฐััััั ะน ั ะทะฒะพัะพัะฝะพะผั ะฝะฐะฟััะผะบั โ ั ะฑะฐะณะฐััะพั
ะฒะธะฟะฐะดะบะฐั
ะฒะธ ะผะพะถะตัะต ะฟัะพััะพ ะฟะตัะตะดะฐัะธ ะพะฑ'ัะบั, ัะบะธะน ะพััะธะผัััะต ะท ะฑะฐะทะธ ะดะฐะฝะธั
, **ะฑะตะทะฟะพัะตัะตะดะฝัะพ ะบะปััะฝัั**.
+
+ะ **FastAPI** ะฒะธ ะพััะธะผัััะต ะฒัั ะผะพะถะปะธะฒะพััั **Pydantic** (ะฐะดะถะต FastAPI ะฑะฐะทัััััั ะฝะฐ Pydantic ะดะปั ะพะฑัะพะฑะบะธ ะฒััั
ะดะฐะฝะธั
):
+
+* **ะััะบะพั ะฟะปััะฐะฝะธะฝะธ** :
+ * ะะต ะฟะพัััะฑะฝะพ ะฒัะธัะธ ะฝะพะฒั ะผะพะฒั ะดะปั ะฒะธะทะฝะฐัะตะฝะฝั ัั
ะตะผ.
+ * ะฏะบัะพ ะฒะธ ะทะฝะฐััะต ัะธะฟะธ Python, ะฒะธ ะทะฝะฐััะต, ัะบ ะฒะธะบะพัะธััะพะฒัะฒะฐัะธ Pydantic.
+* ะะตะณะบะพ ะฟัะฐััั ะท ะฒะฐัะธะผ **IDE/ะปัะฝัะตัะพะผ/ะผะพะทะบะพะผ**:
+ * ะัะบัะปัะบะธ ััััะบัััะธ ะดะฐะฝะธั
Pydantic ั ะฟัะพััะพ ะตะบะทะตะผะฟะปััะฐะผะธ ะบะปะฐััะฒ, ัะบั ะฒะธ ะฒะธะทะฝะฐัะฐััะต; ะฐะฒัะพะดะพะฟะพะฒะฝะตะฝะฝั, ะปัะฝัะธะฝะณ, mypy ั ะฒะฐัะฐ ัะฝัััััั ะฟะพะฒะธะฝะฝั ะดะพะฑัะต ะฟัะฐััะฒะฐัะธ ะท ะฒะฐัะธะผะธ ะฟะตัะตะฒััะตะฝะธะผะธ ะดะฐะฝะธะผะธ.
+* ะะฐะปัะดะฐััั **ัะบะปะฐะดะฝะธั
ััััะบััั**:
+ * ะะธะบะพัะธััะฐะฝะฝั ัััะฐัั
ััะฝะธั
ะผะพะดะตะปะตะน Pydantic. Python `typing`, `List` ั `Dict` ัะพัะพ.
+ * ะะฐะปัะดะฐัะพัะธ ะดะพะทะฒะพะปัััั ัััะบะพ ั ะฟัะพััะพ ะฒะธะทะฝะฐัะฐัะธ, ะฟะตัะตะฒััััะธ ะน ะดะพะบัะผะตะฝััะฒะฐัะธ ัะบะปะฐะดะฝั ัั
ะตะผะธ ะดะฐะฝะธั
ั ะฒะธะณะปัะดั JSON-ัั
ะตะผะธ.
+ * ะะธ ะผะพะถะตัะต ะผะฐัะธ ะณะปะธะฑะพะบะพ **ะฒะบะปะฐะดะตะฝั JSON ะพะฑ'ัะบัะธ** ัะฐ ะฟะตัะตะฒััะธัะธ ัะฐ ะฐะฝะพััะฒะฐัะธ ัั
ะฒัั.
+* **ะ ะพะทัะธััะฒะฐะฝัััั**:
+ * Pydantic ะดะพะทะฒะพะปัั ะฒะธะทะฝะฐัะฐัะธ ะบะพัะธัััะฒะฐััะบั ัะธะฟะธ ะดะฐะฝะธั
ะฐะฑะพ ัะพะทัะธััะฒะฐัะธ ะฒะฐะปัะดะฐััั ะผะตัะพะดะฐะผะธ ะฒ ะผะพะดะตะปั ะดะตะบะพัะฐัะพัะพะผ `validator`.
+* 100% ะฟะพะบัะธััั ัะตััะฐะผะธ.
diff --git a/docs/uk/docs/learn/index.md b/docs/uk/docs/learn/index.md
new file mode 100644
index 000000000..7f9f21e57
--- /dev/null
+++ b/docs/uk/docs/learn/index.md
@@ -0,0 +1,5 @@
+# ะะฐะฒัะฐะฝะฝั
+
+ะฃ ััะพะผั ัะพะทะดัะปั ะฝะฐะดะฐะฝั ะฒัััะฟะฝั ัะฐ ะฝะฐะฒัะฐะปัะฝั ะผะฐัะตััะฐะปะธ ะดะปั ะฒะธะฒัะตะฝะฝั FastAPI.
+
+ะฆะต ะผะพะถะฝะฐ ัะพะทะณะปัะดะฐัะธ ัะบ **ะบะฝะธะณั**, **ะบััั**, ะฐะฑะพ **ะพััััะนะฝะธะน** ัะฐ ัะตะบะพะผะตะฝะดะพะฒะฐะฝะธะน ัะฟะพััะฑ ะพัะฒะพััะธ FastAPI. ๐
diff --git a/docs/uk/docs/tutorial/static-files.md b/docs/uk/docs/tutorial/static-files.md
new file mode 100644
index 000000000..a84782d8f
--- /dev/null
+++ b/docs/uk/docs/tutorial/static-files.md
@@ -0,0 +1,40 @@
+# ะกัะฐัะธัะฝั ัะฐะนะปะธ
+
+ะะธ ะผะพะถะตัะต ะฐะฒัะพะผะฐัะธัะฝะพ ะฝะฐะดะฐะฒะฐัะธ ััะฐัะธัะฝั ัะฐะนะปะธ ะท ะบะฐัะฐะปะพะณั, ะฒะธะบะพัะธััะพะฒัััะธ `StaticFiles`.
+
+## ะะธะบะพัะธััะฐะฝะฝั `StaticFiles`
+
+* ะะผะฟะพัััะนัะต `StaticFiles`.
+* "ะัะด'ัะดะฝะฐัะธ" ะตะบะทะตะผะฟะปัั `StaticFiles()` ะท ะฒะบะฐะทะฐะฝะฝัะผ ะฝะตะพะฑั
ัะดะฝะพะณะพ ัะปัั
ั.
+
+{* ../../docs_src/static_files/tutorial001.py hl[2,6] *}
+
+/// note | ะขะตั
ะฝััะฝั ะดะตัะฐะปั
+
+ะะธ ัะฐะบะพะถ ะผะพะถะตัะต ะฒะธะบะพัะธััะพะฒัะฒะฐัะธ `from starlette.staticfiles import StaticFiles`.
+
+**FastAPI** ะฝะฐะดะฐั ัะพะน ัะฐะผะธะน `starlette.staticfiles`, ัะพ ะน `fastapi.staticfiles` ะดะปั ะทัััะฝะพััั ัะพะทัะพะฑะฝะธะบัะฒ. ะะปะต ัะฐะบัะธัะฝะพ ะฒัะฝ ะฑะตะทะฟะพัะตัะตะดะฝัะพ ะฟะพั
ะพะดะธัั ัะท Starlette.
+
+///
+
+### ะฉะพ ัะฐะบะต "ะัะด'ัะดะฝะฐะฝะฝั"
+
+"ะัะด'ัะดะฝะฐะฝะฝั" ะพะทะฝะฐัะฐั ะดะพะดะฐะฒะฐะฝะฝั ะฟะพะฒะฝะพััะฝะฝะพะณะพ "ะฝะตะทะฐะปะตะถะฝะพะณะพ" ะทะฐััะพััะฝะบั ะทะฐ ะฟะตะฒะฝะธะผ ัะปัั
ะพะผ, ัะบะธะน ะฟะพััะผ ะพะฑัะพะฑะปัั ะฒัั ะฟัะด ัะปัั
ะธ.
+
+ะฆะต ะฒัะดััะทะฝัััััั ะฒัะด ะฒะธะบะพัะธััะฐะฝะฝั `APIRouter`, ะพัะบัะปัะบะธ ะฟัะด'ัะดะฝะฐะฝะธะน ะทะฐััะพััะฝะพะบ ั ะฟะพะฒะฝัััั ะฝะตะทะฐะปะตะถะฝะธะผ. OpenAPI ัะฐ ะดะพะบัะผะตะฝัะฐััั ะฒะฐัะพะณะพ ะพัะฝะพะฒะฝะพะณะพ ะทะฐััะพััะฝะบั ะฝะต ะฑัะดััั ะทะฝะฐัะธ ะฝััะพะณะพ ะฟัะพ ะฒะฐั ะฟัะด'ัะดะฝะฐะฝะธะน ะทะฐััะพััะฝะพะบ.
+
+ะะธ ะผะพะถะตัะต ะดัะทะฝะฐัะธัั ะฑัะปััะต ะฟัะพ ัะต ะฒ [ะะพััะฑะฝะธะบั ะดะปั ะฟัะพััะฝััะธั
ะบะพัะธัััะฒะฐััะฒ](../advanced/index.md){.internal-link target=_blank}.
+
+## ะะตัะฐะปั
+
+ะะตััะต `"/static"` ะฒะบะฐะทัั ะฝะฐ ะฟัะด ัะปัั
, ะทะฐ ัะบะธะผ ะฑัะดะต "ะฟัะด'ัะดะฝะฐะฝะพ" ัะตะน ะฝะพะฒะธะน "ะทะฐััะพััะฝะพะบ". ะขะพะผั ะฑัะดั-ัะบะธะน ัะปัั
, ัะบะธะน ะฟะพัะธะฝะฐััััั ะท `"/static"`, ะฑัะดะต ะพะฑัะพะฑะปััะธัั ะฝะธะผ.
+
+`directory="static"` ะฒะธะทะฝะฐัะฐั ะบะฐัะฐะปะพะณ, ัะพ ะผัััะธัั ะฒะฐัั ััะฐัะธัะฝั ัะฐะนะปะธ.
+
+`name="static"` ัะต ัะผ'ั, ัะบะต ะผะพะถะฝะฐ ะฒะธะบะพัะธััะพะฒัะฒะฐัะธ ะฒัะตัะตะดะธะฝั **FastAPI**.
+
+ะฃัั ัั ะฟะฐัะฐะผะตััะธ ะผะพะถััั ะฑััะธ ะทะผัะฝะตะฝั ะฒัะดะฟะพะฒัะดะฝะพ ะดะพ ะฟะพััะตะฑ ั ะพัะพะฑะปะธะฒะพััะตะน ะฒะฐัะพะณะพ ะทะฐััะพััะฝะบั.
+
+## ะะพะดะฐัะบะพะฒะฐ ัะฝัะพัะผะฐััั
+
+ะะตัะฐะปัะฝััะต ะฟัะพ ะฝะฐะปะฐัััะฒะฐะฝะฝั ัะฐ ะผะพะถะปะธะฒะพััั ะผะพะถะฝะฐ ะดัะทะฝะฐัะธัั ะฒ ะดะพะบัะผะตะฝัะฐััั Starlette ะฟัะพ ััะฐัะธัะฝั ัะฐะนะปะธ.
diff --git a/docs/vi/docs/environment-variables.md b/docs/vi/docs/environment-variables.md
new file mode 100644
index 000000000..dd06f8959
--- /dev/null
+++ b/docs/vi/docs/environment-variables.md
@@ -0,0 +1,300 @@
+# Biแบฟn mรดi trฦฐแปng (Environment Variables)
+
+/// tip
+
+Nแบฟu bแบกn ฤรฃ biแบฟt vแป "biแบฟn mรดi trฦฐแปng" vร cรกch sแปญ dแปฅng chรบng, bแบกn cรณ thแป bแป qua phแบงn nร y.
+
+///
+
+Mแปt biแบฟn mรดi trฦฐแปng (cรฒn ฤฦฐแปฃc gแปi lร "**env var**") lร mแปt biแบฟn mร tแปn tแบกi **bรชn ngoร i** ฤoแบกn mรฃ Python, แป trong **hแป ฤiแปu hร nh**, vร cรณ thแป ฤฦฐแปฃc ฤแปc bแปi ฤoแบกn mรฃ Python cแปงa bแบกn (hoแบทc bแปi cรกc chฦฐฦกng trรฌnh khรกc).
+
+Cรกc biแบฟn mรดi trฦฐแปng cรณ thแป ฤฦฐแปฃc sแปญ dแปฅng ฤแป xแปญ lรญ **cรกc thiแบฟt lแบญp** cแปงa แปฉng dแปฅng, nhฦฐ mแปt phแบงn cแปงa **cรกc quรก trรฌnh cร i ฤแบทt** Python, v.v.
+
+## Tแบกo vร Sแปญ dแปฅng cรกc Biแบฟn Mรดi Trฦฐแปng
+
+Bแบกn cรณ thแป **tแบกo** vร sแปญ dแปฅng cรกc biแบฟn mรดi trฦฐแปng trong **shell (terminal)**, mร khรดng cแบงn sแปญ dแปฅng Python:
+
+//// tab | Linux, macOS, Windows Bash
+
+