]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Bengali translation for `docs/bn/docs/index.md` (#9177)
authorFahad Md Kamal <faahad.hossain@gmail.com>
Wed, 10 Jan 2024 17:43:35 +0000 (23:43 +0600)
committerGitHub <noreply@github.com>
Wed, 10 Jan 2024 17:43:35 +0000 (18:43 +0100)
Co-authored-by: SebastiÃĄn Ramírez <tiangolo@gmail.com>
docs/bn/docs/index.md [new file with mode: 0644]
docs/bn/mkdocs.yml [new file with mode: 0644]

diff --git a/docs/bn/docs/index.md b/docs/bn/docs/index.md
new file mode 100644 (file)
index 0000000..4f778e8
--- /dev/null
@@ -0,0 +1,464 @@
+<p align="center">
+  <a href="https://fastapi.tiangolo.com"><img src="https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png" alt="FastAPI"></a>
+</p>
+<p align="center">
+    <em>FastAPI āωāĻšā§āϚāĻ•ā§āώāĻŽāϤāĻž āϏāĻŽā§āĻĒāĻ¨ā§āύ, āϏāĻšāĻœā§‡ āĻļ⧇āĻ–āĻžāϰ āĻāĻŦāĻ‚ āĻĻā§āϰ⧁āϤ āϕ⧋āĻĄ āĻ•āϰ⧇ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻĢā§āϰāĻžāĻŽāĻ“ā§ŸāĻžāĻ°ā§āĻ•āĨ¤</em>
+</p>
+<p align="center">
+<a href="https://github.com/tiangolo/fastapi/actions?query=workflow%3ATest" target="_blank">
+    <img src="https://github.com/tiangolo/fastapi/workflows/Test/badge.svg" alt="Test">
+</a>
+<a href="https://codecov.io/gh/tiangolo/fastapi" target="_blank">
+    <img src="https://img.shields.io/codecov/c/github/tiangolo/fastapi?color=%2334D058" alt="Coverage">
+</a>
+<a href="https://pypi.org/project/fastapi" target="_blank">
+    <img src="https://img.shields.io/pypi/v/fastapi?color=%2334D058&label=pypi%20package" alt="Package version">
+</a>
+</p>
+
+---
+
+**āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ**: <a href="https://fastapi.tiangolo.com" target="_blank">https://fastapi.tiangolo.com</a>
+
+**āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄ**: <a href="https://github.com/tiangolo/fastapi" target="_blank">https://github.com/tiangolo/fastapi</a>
+
+---
+
+FastAPI āĻāĻ•āϟāĻŋ āφāϧ⧁āύāĻŋāĻ•, āĻĻā§āϰ⧁āϤ ( āĻŦ⧇āĻļāĻŋ āĻ•ā§āώāĻŽāϤāĻž ) āϏāĻŽā§āĻĒāĻ¨ā§āύ, Python 3.6+ āĻĻāĻŋā§Ÿā§‡ API āϤ⧈āϰāĻŋāϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĒāĻžāχāĻĨāύ āϟāĻžāχāĻĒ āχāĻ™ā§āĻ—āĻŋāϤ āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻ“āϝāĻŧ⧇āĻŦ āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĨ¤
+
+āĻāϰ āĻŽā§‚āϞ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϗ⧁āϞ⧋ āĻšāϞāσ
+
+- **āĻ—āϤāĻŋ**: āĻāϟāĻŋ **NodeJS** āĻāĻŦāĻ‚ **Go** āĻāϰ āĻŽāϤ āĻ•āĻžāĻ°ā§āϝāĻ•ā§āώāĻŽāϤāĻž āϏāĻŽā§āĻĒāĻ¨ā§āύ (Starlette āĻāĻŦāĻ‚ Pydantic āĻāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇)āĨ¤ [āĻĒāĻžāχāĻĨāύ āĻāϰ āĻĻā§āϰ⧁āϤāϤāĻŽ āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϗ⧁āϞ⧋āϰ āĻŽāĻ§ā§āϝ⧇ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ](#_11)āĨ¤
+- **āĻĻā§āϰ⧁āϤ āϕ⧋āĻĄ āĻ•āϰāĻž**:āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϤ⧈āϰāĻŋāϰ āĻ—āϤāĻŋ ā§¨ā§Ļā§Ļ% āĻĨ⧇āϕ⧇ ā§Šā§Ļā§Ļ% āĻŦ⧃āĻĻā§āϧāĻŋ āĻ•āϰ⧇⧎ \*
+- **āĻ¸ā§āĻŦāĻ˛ā§āĻĒ bugs**: āĻŽāĻžāύ⧁āĻŦ (āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ) āϏ⧃āĻˇā§āϟ āĻ¤ā§āϰ⧁āϟāĻŋāϰ āĻĒā§āϰāĻžāϝāĻŧ ā§Ēā§Ļ% āĻšā§āϰāĻžāϏ āĻ•āϰ⧇āĨ¤ \*
+- **āĻ¸ā§āĻŦāĻœā§āĻžāĻžāϤ**: āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ āĻāĻĄāĻŋāϟāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ <abbr title="also known as auto-complete, autocompletion, IntelliSense">Completion</abbr> āύāĻžāĻŽā§‡āĻ“ āĻĒāϰāĻŋāϚāĻŋāϤāĨ¤ āĻĻā§āϰ⧁āϤ āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āϰāĻž āϝāĻžā§ŸāĨ¤
+
+- **āϏāĻšāϜ**: āĻāϟāĻŋ āĻāĻŽāύ āĻ­āĻžāĻŦ⧇ āϏāϜāĻžāύ⧋ āĻšā§Ÿā§‡āϛ⧇ āϝ⧇āύ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ āĻĒā§œā§‡ āϏāĻšāĻœā§‡ āĻļ⧇āĻ–āĻž āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§ŸāĨ¤
+- **āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ**: āϕ⧋āĻĄ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•āĻŽāĻžāύ⧋āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, bug āĻ•āĻŽāĻžā§Ÿ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻ˜ā§‹āώāĻŖāĻž āĻĨ⧇āϕ⧇ āĻāĻ•āĻžāϧāĻŋāĻ• āĻĢāĻŋāϚāĻžāϰ āĻĒāĻžāĻ“ā§ŸāĻž āϝāĻžā§Ÿ āĨ¤
+- **āĻœā§‹āϰāĻžāϞ⧋**: āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻ­āĻžāĻŦ⧇ āϤ⧈āϰāĻŋ āĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāύāĻž āύāĻĨāĻŋ (documentation) āϏāĻš āĻ‰ā§ŽāĻĒāĻžāĻĻāύ āωāĻĒāϝ⧋āĻ—āĻŋ (Production-ready) āϕ⧋āĻĄ āĻĒāĻžāĻ“ā§ŸāĻž āϝāĻžā§ŸāĨ¤
+- **āĻŽāĻžāύ-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ•**: āĻāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ <a href="https://github.com/OAI/OpenAPI-Specification" class="external-link" target="_blank">OpenAPI</a> (āϝāĻž āĻĒ⧁āĻ°ā§āĻŦ⧇ Swagger āύāĻžāĻŽā§‡ āĻĒāϰāĻŋāϚāĻŋāϤ āĻ›āĻŋāϞ) āĻāĻŦāĻ‚ <a href="https://json-schema.org/" class="external-link" target="_blank">JSON Schema</a> āĻāϰ āφāĻĻāĻ°ā§āĻļ⧇āϰ āĻŽāĻžāύ⧇āϰ āĻ“āĻĒāϰ
+
+<small>\* āĻ‰ā§ŽāĻĒāĻžāĻĻāύāĻŽā§āĻ–āĻŋ āĻāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻŦāĻžāύāĻžāύ⧋āϰ āĻāĻ• āĻĻāϞ āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ āĻāϰ āĻŽāϤāĻžāĻŽāϤ āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻĢāϞāĻžāĻĢāϞāĨ¤</small>
+
+## āĻ¸ā§āĻĒāύāϏāϰ āĻ—āĻŖ
+
+<!-- sponsors -->
+
+{% if sponsors %}
+{% for sponsor in sponsors.gold -%}
+<a href="{{ sponsor.url }}" target="_blank" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
+{% endfor -%}
+{%- for sponsor in sponsors.silver -%}
+<a href="{{ sponsor.url }}" target="_blank" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
+{% endfor %}
+{% endif %}
+
+<!-- /sponsors -->
+
+<a href="https://fastapi.tiangolo.com/fastapi-people/#sponsors" class="external-link" target="_blank">āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻ¸ā§āĻĒāύāϏāϰ āĻ—āĻŖ</a>
+
+## āĻŽāϤāĻžāĻŽāϤ āϏāĻŽā§‚āĻš
+
+"_āφāĻŽāĻŋ āφāϜāĻ•āĻžāϞ **FastAPI** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻ›āĻŋāĨ¤ [...] āφāĻŽāϰāĻž āĻ­āĻžāĻŦāĻ›āĻŋ āĻŽāĻžāχāĻ•ā§āϰ⧋āϏāĻĢā§āĻŸā§‡ **ML āϏāĻžāĻ°ā§āĻ­āĻŋāϏ** āĻ āϏāĻ•āϞ āĻĻāϞ⧇āϰ āϜāĻ¨ā§āϝ āĻāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦāĨ¤ āϝāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻ•āĻŋāϛ⧁ āĻĒāĻŖā§āϝ **Windows** āĻ āϏāĻ‚āϝ⧋āϝāύ āĻšā§Ÿ āĻāĻŦāĻ‚ āĻ•āĻŋāϛ⧁ **Office** āĻāϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧋āϝāύ āĻšāĻšā§āϛ⧇āĨ¤_"
+
+<div style="text-align: right; margin-right: 10%;">āĻ•āĻŦāĻŋāϰ āĻ–āĻžāύ - <strong>āĻŽāĻžāχāĻ•ā§āϰ⧋āϏāĻĢā§āĻŸā§‡</strong> <a href="https://github.com/tiangolo/fastapi/pull/26" target="_blank"><small>(ref)</small></a></div>
+
+---
+
+"_āφāĻŽāϰāĻž **FastAPI** āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰ⧇āĻ›āĻŋ āĻāĻ•āϟāĻŋ **REST** āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇, āϝāĻž **āĻ­āĻŦāĻŋāĻˇā§āϝāĻĻā§āĻŦāĻžāĻŖā§€** āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ [āϞ⧁āĻĄāωāχāϗ⧇āϰ āϜāĻ¨ā§āϝ]_"
+
+<div style="text-align: right; margin-right: 10%;">āĻĒāĻŋāϝāĻŧ⧇āϰ⧋ āĻŽā§‹āϞāĻŋāύ⧋, āχāϝāĻŧāĻžāϰ⧋āĻ¸ā§āϞāĻžāĻ­ āĻĻ⧁āĻĻāĻŋāύ, āĻāĻŦāĻ‚ āϏāĻžāχ āϏ⧁āĻŽāĻ¨ā§āĻĨ āĻŽāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻž - <strong>āωāĻŦāĻžāϰ</strong> <a href="https://eng.uber.com/ludwig-v0-2/" target="_blank"><small>(ref)</small></a></div>
+
+---
+
+"_**Netflix** āφāĻŽāĻžāĻĻ⧇āϰ **āĻ•ā§āϰāĻžāχāϏāĻŋāϏ āĻŽā§āϝāĻžāύ⧇āϜāĻŽā§‡āĻ¨ā§āϟ** āĻ…āĻ°ā§āϕ⧇āĻ¸ā§āĻŸā§āϰ⧇āĻļāύ āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•: **āĻĄāĻŋāϏāĻĒā§āϝāĻžāϚ** āĻāϰ āĻ“āĻĒ⧇āύ āϏ⧋āĻ°ā§āϏ āϰāĻŋāϞāĻŋāϜ āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰāϤ⧇ āĻĒ⧇āϰ⧇ āφāύāĻ¨ā§āĻĻāĻŋāϤ! [āϝāĻžāĻ•āĻŋāύāĻž **FastAPI** āĻĻāĻŋāϝāĻŧ⧇ āύāĻŋāĻ°ā§āĻŽāĻŋāϤ]_"
+
+<div style="text-align: right; margin-right: 10%;">āϕ⧇āĻ­āĻŋāύ āĻ—ā§āϞāĻŋāϏāύ, āĻŽāĻžāĻ°ā§āĻ• āĻ­āĻŋāϞāĻžāύ⧋āĻ­āĻž, āĻĢāϰ⧇āĻ¸ā§āϟ āĻŽāύāϏ⧇āύ - <strong>āύ⧇āϟāĻĢā§āϞāĻŋāĻ•ā§āϏ</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072" target="_blank"><small>(ref)</small></a></div>
+
+---
+
+"_āφāĻŽāĻŋ **FastAPI** āύāĻŋāϝāĻŧ⧇ āϚāĻžāρāĻĻ⧇āϰ āϏāĻŽāĻžāύ āĻ‰ā§ŽāϏāĻžāĻšāĻŋāϤāĨ¤ āĻāϟāĻŋ āϖ⧁āĻŦāχ āĻŽāϜāĻžāϰ!_"
+
+<div style="text-align: right; margin-right: 10%;">āĻŦā§āϰāĻžāϝāĻŧāĻžāύ āĻ“āϕ⧇āύ - <strong><a href="https://pythonbytes.fm/episodes/show/123/time-to-right-the-py-wrongs?time_in_sec=855" target="_blank">āĻĒāĻžāχāĻĨāύ āĻŦāĻžāχāϟāϏ</a> āĻĒāĻĄāĻ•āĻžāĻ¸ā§āϟ āĻšā§‹āĻ¸ā§āϟ</strong> <a href="https://twitter.com/brianokken/status/1112220079972728832" target="_blank"><small>(ref)</small></a></div>
+
+---
+
+"\_āϏāĻ¤ā§āϝāĻŋāχ, āφāĻĒāύāĻŋ āϝāĻž āϤ⧈āϰāĻŋ āĻ•āϰ⧇āϛ⧇āύ āϤāĻž āϖ⧁āĻŦ āĻŽāϜāĻŦ⧁āϤ āĻāĻŦāĻ‚ āĻĒāϰāĻŋāĻĒā§‚āĻ°ā§āύ⧎ āĻ…āύ⧇āĻ• āωāĻĒāĻžāϝāĻŧ⧇, āφāĻŽāĻŋ āϝāĻž **Hug** āĻ āĻ•āϰāϤ⧇ āĻšā§‡ā§Ÿā§‡āĻ›āĻŋāϞāĻžāĻŽ - āϤāĻž āĻ•āĻžāωāϕ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĻ⧇āϖ⧇ āφāĻŽāĻŋ āϏāĻ¤ā§āϝāĻŋāχ āĻ…āύ⧁āĻĒā§āϰāĻžāύāĻŋāϤ⧎\_"
+
+<div style="text-align: right; margin-right: 10%;">āϟāĻŋāĻŽā§‹āĻĨāĻŋ āĻ•ā§āϰāϏāϞ⧇ - <strong><a href="https://www.hug.rest/" target="_blank">Hug</a> āĻ¸ā§āϰāĻˇā§āϟāĻž</strong> <a href="https://news.ycombinator.com/item?id=19455465" target="_blank"><small>(ref)</small></a></div>
+
+---
+
+"āφāĻĒāύāĻŋ āϝāĻĻāĻŋ REST API āϤ⧈āϰāĻŋāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ **āφāϧ⧁āύāĻŋāĻ• āĻĢā§āϰ⧇āĻŽāĻ“ā§ŸāĻžāĻ°ā§āĻ•** āĻļāĻŋāĻ–āϤ⧇ āϚāĻžāύ, āϤāĻžāĻšāϞ⧇ **FastAPI** āĻĻ⧇āϖ⧁āύ [...] āĻāϟāĻŋ āĻĻā§āϰ⧁āϤ, āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϏāĻšāϜ āĻāĻŦāĻ‚ āĻļāĻŋāĻ–āϤ⧇āĻ“ āϏāĻšāϜ [...]\_"
+
+"_āφāĻŽāϰāĻž āφāĻŽāĻžāĻĻ⧇āϰ **APIs** [...] āĻāϰ āϜāĻ¨ā§āϝ **FastAPI**- āϤ⧇ āĻāϏ⧇āĻ›āĻŋ [...] āφāĻŽāĻŋ āĻŽāύ⧇ āĻ•āϰāĻŋ āφāĻĒāύāĻŋāĻ“ āĻāϟāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰāĻŦ⧇āύ [...]_"
+
+<div style="text-align: right; margin-right: 10%;">āχāύ⧇āϏ āĻŽāĻ¨ā§āϟāĻžāύāĻŋ - āĻŽā§āϝāĻžāĻĨāĻŋāω āĻšā§‹āύāĻŋāĻŦāĻžāϞ - <strong><a href="https://explosion.ai" target="_blank">Explosion AI</a> āĻĒā§āϰāϤāĻŋāĻˇā§āĻ āĻžāϤāĻž - <a href="https://spacy.io" target="_blank">spaCy</a> āĻ¸ā§āϰāĻˇā§āϟāĻž</strong> <a href="https://twitter.com/_inesmontani/status/1144173225322143744" target="_blank"><small>(ref)</small></a> - <a href="https://twitter.com/honnibal/status/1144031421859655680" target="_blank"><small>(ref)</small></a></div>
+
+---
+
+## **Typer**, CLI āĻāϰ āϜāĻ¨ā§āϝ FastAPI
+
+<a href="https://typer.tiangolo.com" target="_blank"><img src="https://typer.tiangolo.com/img/logo-margin/logo-margin-vector.svg" style="width: 20%;"></a>
+
+āφāĻĒāύāĻŋ āϝāĻĻāĻŋ <abbr title="Command Line Interface">CLI</abbr> āĻ…ā§āϝāĻžāĻĒ āĻŦāĻžāύāĻžāϤ⧇ āϚāĻžāύ, āϝāĻž āĻ•āĻŋāύāĻž āĻ“ā§Ÿā§‡āĻŦ API āĻāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšāĻŦ⧇, āϤāĻžāĻšāϞ⧇ āĻĻ⧇āϖ⧁āύ<a href="https://typer.tiangolo.com/" class="external-link" target="_blank">**Typer**</a>.
+
+**āϟāĻžāχāĻĒāĻžāϰ** āĻšāϞ FastAPI āĻāϰ āϛ⧋āϟ āĻ­āĻžāĻ‡ā§Ÿā§‡āϰ āĻŽāϤāĨ¤ āĻāĻŦāĻ‚ āĻāϟāĻŋāϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻ›āĻŋāϞ **CLIs āĻāϰ FastAPI** āĻšāĻ“ā§ŸāĻžāĨ¤ âŒ¨ī¸ đŸš€
+
+## āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧāϤāĻž āϗ⧁āϞ⧋
+
+Python 3.7+
+
+FastAPI āĻ•āĻŋāϛ⧁ āĻĻāĻžāύāĻŦ⧇āĻĻ⧇āϰ āĻ•āĻžāρāϧ⧇ āĻĻāĻžāρāĻĄāĻŧāĻŋāϝāĻŧ⧇ āφāϛ⧇:
+
+- <a href="https://www.starlette.io/" class="external-link" target="_blank">Starlette</a> āĻ“āϝāĻŧ⧇āĻŦ āĻ…āĻ‚āĻļ⧇āϰ āϜāĻ¨ā§āϝ.
+- <a href="https://pydantic-docs.helpmanual.io/" class="external-link" target="_blank">Pydantic</a> āĻĄā§‡āϟāĻž āĻ…āĻ‚āĻļāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ.
+
+## āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ āĻĒā§āϰāĻ•ā§āϰāĻŋ⧟āĻž
+
+<div class="termy">
+
+```console
+$ pip install fastapi
+
+---> 100%
+```
+
+</div>
+
+āφāĻĒāύāĻžāϰ āĻāĻ•āϟāĻŋ ASGI āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰāĻ“ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāĻŦ⧇, āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ <a href="https://www.uvicorn.org" class="external-link" target="_blank">Uvicorn</a> āĻ…āĻĨāĻŦāĻž <a href="https://gitlab.com/pgjones/hypercorn" class="external-link" target="_blank">Hypercorn</a>.
+
+<div class="termy">
+
+```console
+$ pip install "uvicorn[standard]"
+
+---> 100%
+```
+
+</div>
+
+## āωāĻĻāĻžāĻšāϰāĻŖ
+
+### āϤ⧈āϰāĻŋ
+
+- `main.py` āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ:
+
+```Python
+from typing import Union
+
+from fastapi import FastAPI
+
+app = FastAPI()
+
+
+@app.get("/")
+def read_root():
+    return {"Hello": "World"}
+
+
+@app.get("/items/{item_id}")
+def read_item(item_id: int, q: Union[str, None] = None):
+    return {"item_id": item_id, "q": q}
+```
+
+<details markdown="1">
+<summary>āĻ…āĻĨāĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ <code>async def</code>...</summary>
+
+āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āϕ⧋āĻĄ `async` / `await`, āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϤāĻžāĻšāϞ⧇ `async def` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ:
+
+```Python hl_lines="9  14"
+from typing import Union
+
+from fastapi import FastAPI
+
+app = FastAPI()
+
+
+@app.get("/")
+async def read_root():
+    return {"Hello": "World"}
+
+
+@app.get("/items/{item_id}")
+async def read_item(item_id: int, q: Union[str, None] = None):
+    return {"item_id": item_id, "q": q}
+```
+
+**āĻŸā§€āĻ•āĻž**:
+
+āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āύāĻž āϜāĻžāύ⧇āύ, _"āϤāĻžāĻĄāĻŧāĻžāĻšā§āĻĄāĻŧā§‹?"_ āĻŦāĻŋāĻ­āĻžāĻ—āϟāĻŋ āĻĻ⧇āϖ⧁āύ <a href="https://fastapi.tiangolo.com/async/#in-a-hurry" target="_blank">`async` āĻāĻŦāĻ‚ `await` āύāĻĨāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻĻ⧇āϖ⧁āύ </a>.
+
+</details>
+
+### āĻāϟāĻŋ āϚāĻžāϞāĻžāύ
+
+āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϚāĻžāϞ⧁ āĻ•āϰ⧁āύ:
+
+<div class="termy">
+
+```console
+$ uvicorn main:app --reload
+
+INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+INFO:     Started reloader process [28720]
+INFO:     Started server process [28722]
+INFO:     Waiting for application startup.
+INFO:     Application startup complete.
+```
+
+</div>
+
+<details markdown="1">
+<summary>āύāĻŋāĻ°ā§āĻĻ⧇āĻļāύāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ <code>uvicorn main:app --reload</code>...</summary>
+
+`uvicorn main:app` āύāĻŋāĻ°ā§āĻĻ⧇āĻļāύāĻžāϟāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§‹āĻāĻžāϝāĻŧ:
+
+- `main`: āĻĢāĻžāχāϞ `main.py` (āĻĒāĻžāχāĻĨāύ "āĻŽāĻĄāĻŋāωāϞ")āĨ¤
+- `app`: `app = FastAPI()` āϞāĻžāχāύ āĻĻāĻŋāϝāĻŧ⧇ `main.py` āĻāϰ āĻ­āĻŋāϤāϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāĨ¤
+- `--reload`: āϕ⧋āĻĄ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āĻĒāϰ⧇ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϚāĻžāϞ⧁ āĻ•āϰ⧁āύāĨ¤ āĻāϟāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻāϰ āϏāĻŽā§Ÿ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤
+
+</details>
+
+### āĻāϟāĻž āĻšā§‡āĻ• āĻ•āϰ⧁āύ
+
+āφāĻĒāύāĻžāϰ āĻŦā§āϰāĻžāωāϜāĻžāϰ āϖ⧁āϞ⧁āύ <a href="http://127.0.0.1:8000/items/5?q=somequery" class="external-link" target="_blank">http://127.0.0.1:8000/items/5?q=somequery</a> āĻāĨ¤
+
+āφāĻĒāύāĻŋ JSON āϰ⧇āϏāĻĒāĻ¨ā§āϏ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύ:
+
+```JSON
+{"item_id": 5, "q": "somequery"}
+```
+
+āφāĻĒāύāĻŋ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ API āϤ⧈āϰāĻŋ āĻ•āϰ⧇āϛ⧇āύ āϝāĻž:
+
+- `/` āĻāĻŦāĻ‚ `/items/{item_id}` _paths_ āĻ HTTP āĻ…āύ⧁āϰ⧋āϧ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰ⧇āĨ¤
+- āωāĻ­āϝāĻŧ *path*āχ `GET` <em>āĻ…āĻĒāĻžāϰ⧇āĻļāύ</em> āύ⧇āϝāĻŧ ( āϝāĻž HTTP _methods_ āύāĻžāĻŽā§‡āĻ“ āĻĒāϰāĻŋāϚāĻŋāϤ)āĨ¤
+- _path_ `/items/{item_id}`-āĻ āĻāĻ•āϟāĻŋ _path āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ_ `item_id` āφāϛ⧇ āϝāĻž āĻ•āĻŋāύāĻž `int` āĻšāϤ⧇ āĻšāĻŦ⧇āĨ¤
+- _path_ `/items/{item_id}`-āĻāϰ āĻāĻ•āϟāĻŋ āϐāĻšā§āĻ›āĻŋāĻ• `str` _query āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ_ `q` āφāϛ⧇āĨ¤
+
+### āĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ API āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ
+
+āĻāĻ–āύ āϝāĻžāύ <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a>.
+
+āφāĻĒāύāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻ­āĻžāĻŦ⧇ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ API āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύ (<a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank">Swagger UI</a> āĻĒā§āϰāĻĻāĻ¤ā§āϤ):
+
+![Swagger UI](https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png)
+
+### āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ API āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ
+
+āĻāĻŦāĻ‚ āĻāĻ–āύ <a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a> āĻ āϝāĻžāύ.
+
+āφāĻĒāύāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻ­āĻžāĻŦ⧇ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύ (<a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank">ReDoc</a> āĻĒā§āϰāĻĻāĻ¤ā§āϤ):
+
+![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png)
+
+## āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ āφāĻĒāĻ—ā§āϰ⧇āĻĄ
+
+āĻāĻ–āύ `main.py` āĻĢāĻžāχāϞāϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧁āύ āϝ⧇āύ āĻāϟāĻŋ `PUT` āϰāĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āϟ āĻĨ⧇āϕ⧇ āĻŦāĻĄāĻŋ āĻĒ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
+
+Python āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ, Pydantic āĻāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇ āĻŦāĻĄāĻŋ āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰ⧁āύāĨ¤
+
+```Python hl_lines="4  9-12  25-27"
+from typing import Union
+
+from fastapi import FastAPI
+from pydantic import BaseModel
+
+app = FastAPI()
+
+
+class Item(BaseModel):
+    name: str
+    price: float
+    is_offer: Union[bool, None] = None
+
+
+@app.get("/")
+def read_root():
+    return {"Hello": "World"}
+
+
+@app.get("/items/{item_id}")
+def read_item(item_id: int, q: Union[str, None] = None):
+    return {"item_id": item_id, "q": q}
+
+
+@app.put("/items/{item_id}")
+def update_item(item_id: int, item: Item):
+    return {"item_name": item.name, "item_id": item_id}
+```
+
+āϏāĻžāĻ°ā§āĻ­āĻžāϰāϟāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϞ⧋āĻĄ āĻšāĻ“āϝāĻŧāĻž āωāϚāĻŋāϤ (āĻ•āĻžāϰāĻŖ āφāĻĒāύāĻŋ āωāĻĒāϰ⧇āϰ `uvicorn` āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ `--reload` āϝ⧋āĻ— āĻ•āϰ⧇āϛ⧇āύ)āĨ¤
+
+### āĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ API āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ āωāĻ¨ā§āύ⧀āϤāĻ•āϰāĻŖ
+
+āĻāĻ–āύ <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> āĻāĻĄāĻĄā§āϰ⧇āϏ⧇ āϝāĻžāύ.
+
+- āĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ API āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋāϟāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āωāĻ¨ā§āύ⧀āϤ āĻšāϝ⧇ āϝāĻžāĻŦ⧇, āύāϤ⧁āύ āĻŦāĻĄāĻŋ āϏāĻš:
+
+![Swagger UI](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png)
+
+- "Try it out" āĻŦāĻžāϟāύ⧇ āϚāĻžāĻĒ⧁āύ, āĻāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻĒ⧇āϰāĻžāĻŽāĻŋāϟāĻžāϰāϗ⧁āϞ⧋ āĻĒā§‚āϰāĻŖ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ API āĻāϰ āϏāĻžāĻĨ⧇ āϏāϰāĻžāϏāϰāĻŋ āĻ•ā§āϰāĻŋ⧟āĻž-āĻ•āϞāĻžāĻĒ āĻ•āϰāϤ⧇ āĻĻāĻŋāĻŦ⧇:
+
+![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-04-swagger-03.png)
+
+- āϤāĻžāϰāĻĒāϰ⧇ "Execute" āĻŦāĻžāϟāύ⧇ āϚāĻžāĻĒ⧁āύ, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āφāĻĒāύāĻžāϰ API āĻāϰ āϏāĻžāĻĨ⧇ āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻ•āϰāĻŦ⧇, āĻĒ⧇āϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻĒāĻžāĻ āĻžāĻŦ⧇, āĻĢāϞāĻžāĻĢāϞāϗ⧁āϞāĻŋ āĻĒāĻžāĻŦ⧇ āĻāĻŦāĻ‚ āϏ⧇āϗ⧁āϞāĻŋ āĻĒāĻ°ā§āϰāĻĻāĻžā§Ÿ āĻĻ⧇āĻ–āĻžāĻŦ⧇:
+
+![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-05-swagger-04.png)
+
+### āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ API āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ āφāĻĒāĻ—ā§āϰ⧇āĻĄ
+
+āĻāĻŦāĻ‚ āĻāĻ–āύ <a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a> āĻ āϝāĻžāύāĨ¤
+
+- āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋāϤ⧇āĻ“ āύāϤ⧁āύ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻāĻŦāĻ‚ āĻŦāĻĄāĻŋ āĻĒā§āϰāϤāĻŋāĻĢāϞāĻŋāϤ āĻšāĻŦ⧇:
+
+![ReDoc](https://fastapi.tiangolo.com/img/index/index-06-redoc-02.png)
+
+### āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤāĻ•āϰāĻŖ
+
+āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇, āφāĻĒāύāĻŋ **āĻļ⧁āϧ⧁ āĻāĻ•āĻŦāĻžāϰ** āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ⧇āϰ āϧāϰāύ, āĻŦāĻĄāĻŋ āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻĢāĻžāĻ‚āĻļāύ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰ⧇āύāĨ¤
+
+āφāĻĒāύāĻŋ āϏ⧇āϟāĻŋ āφāϧ⧁āύāĻŋāĻ• āĻĒāĻžāχāĻĨāύ⧇āϰ āϏāĻžāĻĨ⧇ āĻ•āϰ⧇āύāĨ¤
+
+āφāĻĒāύāĻžāϕ⧇ āύāϤ⧁āύ āĻ•āϰ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϕ⧋āύ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϰ āĻŦāĻžāĻ•ā§āϝ āĻ—āĻ āύ, āĻĢāĻžāĻ‚āĻļāύ āĻŦāĻž āĻ•ā§āϞāĻžāϏ āĻ•āĻŋāϛ⧁āχ āĻļāĻŋāĻ–āϤ⧇ āĻšāĻšā§āϛ⧇ āύāĻžāĨ¤
+
+āĻļ⧁āϧ⧁āχ āφāϧ⧁āύāĻŋāĻ• **Python 3.6+**
+
+āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, `int` āĻāϰ āϜāĻ¨ā§āϝ:
+
+```Python
+item_id: int
+```
+
+āĻ…āĻĨāĻŦāĻž āφāϰāĻ“ āϜāϟāĻŋāϞ `Item` āĻŽāĻĄā§‡āϞ⧇āϰ āϜāĻ¨ā§āϝ:
+
+```Python
+item: Item
+```
+
+...āĻāĻŦāĻ‚ āϏ⧇āχ āĻāĻ•āχ āĻ˜ā§‹āώāĻŖāĻžāϰ āϏāĻžāĻĨ⧇ āφāĻĒāύāĻŋ āĻĒāĻžāĻŦ⧇āύ:
+
+- āĻāĻĄāĻŋāϟāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ, āϝ⧇āĻŽāύ
+  - āϏāĻŽāĻžāĻĒā§āϤāĻŋāĨ¤
+  - āϧāϰāĻŖ āϝāĻžāϚāĻžāχ
+- āϤāĻĨā§āϝ āϝāĻžāϚāĻžāχāĻ•āϰāĻŖ:
+  - āĻĄā§‡āϟāĻž āĻ…āĻŦ⧈āϧ āĻšāϞ⧇ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻāĻŦāĻ‚ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻ¤ā§āϰ⧁āϟāĻŋāϰ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāύāĻžāĨ¤
+  - āĻāĻŽāύāĻ•āĻŋ āĻ—āĻ­ā§€āϰāĻ­āĻžāĻŦ⧇ āύ⧇āĻ¸ā§āϟ āĻ•āϰāĻž JSON āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻŦ⧈āϧāϤāĻžāĨ¤
+- āĻĒā§āϰ⧇āϰāĻŋāϤ āϤāĻĨā§āϝ <abbr title="āϝāĻž āĻĒāϰāĻŋāϚāĻŋāϤ: serialization, parsing, marshalling">āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ</abbr>: āϝāĻž āύ⧇āϟāĻ“ā§ŸāĻžāĻ°ā§āĻ• āĻĨ⧇āϕ⧇ āĻĒāĻžāχāĻĨāύ⧇āϰ āϤāĻĨā§āϝ āĻāĻŦāĻ‚ āϧāϰāύ⧇ āφāϏ⧇, āĻāĻŦāĻ‚ āϏ⧇āĻ–āĻžāύ āĻĨ⧇āϕ⧇ āĻĒ⧜āĻž:
+
+  - JSONāĨ¤
+  - āĻĒāĻžāĻĨ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰāĨ¤
+  - āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰāĨ¤
+  - āϕ⧁āĻ•āĻŋāϜ
+  - āĻšā§‡āĻĄāĻžāϰ
+  - āĻĢāĻ°ā§āĻŽ
+  - āĻĢāĻžāχāϞ
+
+- āφāωāϟāĻĒ⧁āϟ āĻĄā§‡āϟāĻžāϰ <abbr title="āϝāĻž āĻĒāϰāĻŋāϚāĻŋāϤ: serialization, parsing, marshalling">āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ</abbr>: āĻĒāĻžāχāĻĨāύ āĻĄā§‡āϟāĻž āĻāĻŦāĻ‚ āϟāĻžāχāĻĒ āĻĨ⧇āϕ⧇ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻĄā§‡āϟāĻžāϤ⧇ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰāĻž (JSON āĻšāĻŋāϏāĻžāĻŦ⧇):
+  -āĻĒāĻžāχāĻĨāύ āϟāĻžāχāĻĒ⧇ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰ⧁āύ (`str`, `int`, `float`, `bool`, `list`, āχāĻ¤ā§āϝāĻžāĻĻāĻŋ)āĨ¤
+  - `datetime` āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāĨ¤
+  - `UUID` objeāĻ…āĻŦāĻœā§‡āĻ•ā§āϟctsāĨ¤
+  - āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻŽāĻĄā§‡āϞāĨ¤
+  - ...āĻāĻŦāĻ‚ āφāϰ⧋ āĻ…āύ⧇āĻ•āĨ¤
+- āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ API āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ, 2āϟāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āϏāĻš:
+  - āϏ⧋āϝāĻŧāĻžāĻ—āĻžāϰ āχāω āφāχ (Swagger UI)āĨ¤
+  - āϰāĻŋāĻĄāĻ• (ReDoc)āĨ¤
+
+---
+
+āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āϕ⧋āĻĄ āωāĻĻāĻžāĻšāϰāϪ⧇ āĻĢāĻŋāϰ⧇ āφāϏāĻž āϝāĻžāĻ•, **FastAPI** āϝāĻž āĻ•āϰāĻŦ⧇:
+
+- `GET` āĻāĻŦāĻ‚ `PUT` āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āϜāĻ¨ā§āϝ āĻĒāĻĨ⧇ `item_id` āφāϛ⧇ āĻ•āĻŋāύāĻž āϤāĻž āϝāĻžāϚāĻžāχ āĻ•āϰāĻŦ⧇āĨ¤
+- `GET` āĻāĻŦāĻ‚ `PUT` āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āϜāĻ¨ā§āϝ `item_id` āϟāĻžāχāĻĒ `int` āĻāϰ āĻšāϤ⧇ āĻšāĻŦ⧇ āϤāĻž āϝāĻžāϚāĻžāχ āĻ•āϰāĻŦ⧇āĨ¤
+  - āϝāĻĻāĻŋ āύāĻž āĻšāϝāĻŧ āϤāĻŦ⧇ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āĻāĻ•āϟāĻŋ āωāĻĒāϝ⧁āĻ•ā§āϤ, āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻ¤ā§āϰ⧁āϟāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύāĨ¤
+- `GET` āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϐāĻšā§āĻ›āĻŋāĻ• āĻ•ā§āϝ⧁āϝāĻŧ⧇āϰāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āύāĻžāĻŽāĻ• `q` (āϝ⧇āĻŽāύ `http://127.0.0.1:8000/items/foo?q=somequery`) āφāϛ⧇ āĻ•āĻŋ āϤāĻž āĻšā§‡āĻ• āĻ•āϰāĻŦ⧇āĨ¤
+  - āϝ⧇āĻšā§‡āϤ⧁ `q` āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰāϟāĻŋ `= None` āĻĻāĻŋāϝāĻŧ⧇ āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϤāĻžāχ āĻāϟāĻŋ āϐāĻšā§āĻ›āĻŋāĻ•āĨ¤
+  - `None` āĻ›āĻžāĻĄāĻŧāĻž āĻāϟāĻŋ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āĻšāϤ⧋ (āϝ⧇āĻŽāύ `PUT` āĻāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻšā§Ÿā§‡āϛ⧇)āĨ¤
+- `/items/{item_id}` āĻāϰ āϜāĻ¨ā§āϝ `PUT` āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āĻŦāĻĄāĻŋ JSON āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĒāĻĄāĻŧ⧁āύ:
+  - āϞāĻ•ā§āώ āĻ•āϰ⧁āύ, `name` āĻāĻ•āϟāĻŋ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧇āϛ⧇ āĻāĻŦāĻ‚ āĻāϟāĻŋ `str` āĻšāϤ⧇ āĻšāĻŦ⧇āĨ¤
+  - āϞāĻ•ā§āώ āĻ•āϰ⧁āύ āĻāĻ–āĻžāύ⧇, `price` āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟāϟāĻŋ āφāĻŦāĻļā§āϝāĻ• āĻāĻŦāĻ‚ āĻāϟāĻŋ `float` āĻšāϤ⧇ āĻšāĻŦ⧇āĨ¤
+  - āϞāĻ•ā§āώ āĻ•āϰ⧁āύ `is_offer` āĻāĻ•āϟāĻŋ āϐāĻšā§āĻ›āĻŋāĻ• āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āĻāĻŦāĻ‚ āĻāϟāĻŋ `bool` āĻšāϤ⧇ āĻšāĻŦ⧇ āϝāĻĻāĻŋ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻĨāĻžāϕ⧇āĨ¤
+  - āĻāχ āϏāĻŦāϟāĻŋ āĻ—āĻ­ā§€āϰāĻ­āĻžāĻŦ⧇ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύāϰāϤ JSON āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāϗ⧁āϞāĻŋāϤ⧇āĻ“ āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇āĨ¤
+- āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ JSON āĻšāϤ⧇ āĻāĻŦāĻ‚ JSON āĻĨ⧇āϕ⧇ āĻ•āύāĻ­āĻžāĻ°ā§āϟ āĻ•āϰ⧁āύāĨ¤
+- OpenAPI āĻĻāĻŋāϝāĻŧ⧇ āϏāĻŦāĻ•āĻŋāϛ⧁ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻ•āϰ⧁āύ, āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇:
+  - āĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋāĨ¤
+  - āĻ…āύ⧇āĻ• āĻ­āĻžāώāĻžāϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āϕ⧋āĻĄ āϤ⧈āϰāĻŋāϰ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāĨ¤
+- āϏāϰāĻžāϏāϰāĻŋ 2āϟāĻŋ āĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āύāĻĨāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧃āĻˇā§āĻ  āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤
+
+---
+
+āφāĻŽāϰāĻž āĻāϤāĻ•ā§āώāύ āĻļ⧁āϧ⧁ āĻāϰ āĻĒ⧃āĻˇā§āĻ  āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĻ›āĻŋ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻĒāύāĻŋ āχāϤāĻŽāĻ§ā§āϝ⧇āχ āĻāϟāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āϤāĻžāϰ āϧāĻžāϰāĻŖāĻžāĻ“ āĻĒā§‡ā§Ÿā§‡ āĻ—āĻŋā§Ÿā§‡āϛ⧇āύāĨ¤
+
+āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āϞāĻžāχāύ āϗ⧁āϞ⧋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ:
+
+```Python
+    return {"item_name": item.name, "item_id": item_id}
+```
+
+...āĻĒ⧁āĻ°ā§āĻŦ⧇:
+
+```Python
+        ... "item_name": item.name ...
+```
+
+...āĻĒāϰāĻŦāĻ°ā§āϤ⧀āϤ⧇:
+
+```Python
+        ... "item_price": item.price ...
+```
+
+...āĻāĻŦāĻ‚ āĻĻ⧇āϖ⧁āύ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āφāĻĒāύāĻžāϰ āĻāĻĄāĻŋāϟāϰ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞ⧋āϕ⧇ āϏ⧟āĻ‚āĻ•ā§āϰāĻŋ⧟āĻ­āĻžāĻŦ⧇-āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻ•āϰāĻŦ⧇ āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āϧāϰāύ āϜāĻžāύāϤ⧇ āĻĒāĻžāϰāĻŦ⧇:
+
+![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png)
+
+āφāϰāĻ“ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϏāĻŽā§āĻĒāĻ¨ā§āύ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āϜāĻ¨ā§āϝ, āĻĻ⧇āϖ⧁āύ <a href="https://fastapi.tiangolo.com/tutorial/">āϟāĻŋāωāĻŸā§‹āϰāĻŋ⧟āĻžāϞ - āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻ—āĻžāχāĻĄ</a>.
+
+**āĻ¸ā§āĻĒ⧟āϞāĻžāϰ āϏāϤāĻ°ā§āĻ•āϤāĻž**: āϟāĻŋāωāĻŸā§‹āϰāĻŋ⧟āĻžāϞ - āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻ—āĻžāχāĻĄ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻŦāĻŋāώ⧟āϗ⧁āϞāĻŋ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰ⧇:
+
+- **āĻšā§‡āĻĄāĻžāϰ**, **āϕ⧁āĻ•āĻŋāϜ**, **āĻĢāĻ°ā§āĻŽ āĻĢāĻŋāĻ˛ā§āĻĄ** āĻāĻŦāĻ‚ **āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ** āĻāĻŽāύ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āϜāĻžā§ŸāĻ—āĻž āĻĨ⧇āϕ⧇ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰāĻžāĨ¤
+- `maximum_length` āĻŦāĻž `regex` āĻāϰ āĻŽāϤ⧋ **āϝāĻžāϚāĻžāχāĻ•āϰāĻŖ āĻŦāĻžāϧāĻžāĻŽā§āĻ•ā§āϤāĻŋ** āϏ⧇āϟ āĻ•āϰāĻž āĻšāϝāĻŧ āĻ•āĻŋāĻ­āĻžāĻŦ⧇, āϤāĻž āύāĻŋā§Ÿā§‡ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤
+- āĻāĻ•āϟāĻŋ āϖ⧁āĻŦ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϏāĻšāϜ <abbr title="also known as components, resources, providers, services, injectables">āĻĄāĻŋāĻĒ⧇āĻ¨ā§āĻĄā§‡āĻ¨ā§āϏāĻŋ āχāύāĻœā§‡āĻ•āĻļāύ</abbr> āĻĒāĻĻā§āϧāϤāĻŋ
+- **OAuth2** āĻāĻŦāĻ‚ **JWT āĻŸā§‹āϕ⧇āύ** āĻāĻŦāĻ‚ **HTTP Basic** auth āϏāĻš āύāĻŋāϰāĻžāĻĒāĻ¤ā§āϤāĻž āĻāĻŦāĻ‚ āĻ…āύ⧁āĻŽā§‹āĻĻāύāĻĒā§āϰāĻžāĻĒā§āϤāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻŦāĻŋāώ⧟āϏāĻŽā§‚āĻšā§‡āϰ āωāĻĒāϰāĨ¤
+- **āĻ—āĻ­ā§€āϰāĻ­āĻžāĻŦ⧇ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύāϰāϤ JSON āĻŽāĻĄā§‡āϞ** āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āφāϰāĻ“ āωāĻ¨ā§āύāϤ (āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāĻŽāĻžāύ āϏāĻšāϜ) āĻ•ā§ŒāĻļāϞ (Pydantic āϕ⧇ āϧāĻ¨ā§āϝāĻŦāĻžāĻĻ)āĨ¤
+- āφāϰ⧋ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ (āĻ¸ā§āϟāĻžāϰāϞ⧇āϟāϕ⧇ āϧāĻ¨ā§āϝāĻŦāĻžāĻĻ) āĻšāĻŋāϏāĻžāĻŦ⧇:
+  - **WebSockets**
+  - **GraphQL**
+  - HTTPX āĻāĻŦāĻ‚ `pytest` āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āϏāĻšāϜ āĻĒāϰ⧀āĻ•ā§āώāĻž
+  - **CORS**
+  - **Cookie Sessions**
+  - ...āĻāĻŦāĻ‚ āφāϰ⧋āĨ¤
+
+## āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž
+
+āĻ¸ā§āĻŦāĻžāϧ⧀āύ TechEmpower Benchmarks āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝ⧇ **FastAPI** āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞāĻŋ Uvicorn-āĻāϰ āĻ…āϧ⧀āύ⧇ āϚāϞāĻŽāĻžāύ āĻĻā§āϰ⧁āϤāϤāĻŽ<a href="https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7" class="external-link" target="_blank">āĻĒāĻžāχāĻĨāύ āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ,</a> āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ Starlette āĻāĻŦāĻ‚ Uvicorn-āĻāϰ āĻĒāϰ (FastAPI āĻĻā§āĻŦāĻžāϰāĻž āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ)āĨ¤ (\*)
+
+āĻāϟāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰāĻ“ āĻŦ⧁āĻāϤ⧇, āĻĻ⧇āϖ⧁āύ <a href="https://fastapi.tiangolo.com/benchmarks/" class="internal-link" target="_blank">Benchmarks</a>.
+
+## āϐāĻšā§āĻ›āĻŋāĻ• āύāĻŋāĻ°ā§āĻ­āϰāĻļā§€āϞāϤāĻž
+
+Pydantic āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻŦāĻšā§ƒāϤ:
+
+- <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - āĻĻā§āϰ⧁āϤ JSON āĻāϰ āϜāĻ¨ā§āϝ <abbr title="converting the string that comes from an HTTP request into Python data">"parsing"</abbr>.
+- <a href="https://github.com/JoshData/python-email-validator" target="_blank"><code>email_validator</code></a> - āχāĻŽā§‡āϞ āϝāĻžāϚāĻžāχāĻ•āϰāϪ⧇āϰ āϜāĻ¨ā§āϝāĨ¤
+
+āĻ¸ā§āϟāĻžāϰāϞ⧇āϟ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻŦāĻšā§ƒāϤ:
+
+- <a href="https://www.python-httpx.org" target="_blank"><code>httpx</code></a> - āφāĻĒāύāĻŋ āϝāĻĻāĻŋ `TestClient` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āϚāĻžāύ āϤāĻžāĻšāϞ⧇ āφāĻŦāĻļā§āϝāĻ•āĨ¤
+- <a href="https://jinja.palletsprojects.com" target="_blank"><code>jinja2</code></a> - āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĒā§āϰāĻĻāĻ¤ā§āϤ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āϰ⧂āĻĒāϰ⧇āĻ–āĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āϚāĻžāύ āϤāĻžāĻšāϞ⧇ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤
+- <a href="https://andrew-d.github.io/python-multipart/" target="_blank"><code>python-multipart</code></a> - āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĢāĻ°ā§āĻŽ āϏāĻšāĻžāϝāĻŧāϤāĻž āĻ•āϰāϤ⧇ āϚāĻžāύ āϤāĻžāĻšāϞ⧇ āĻĒā§āϰāϝāĻŧā§‹āϜāύ <abbr title="converting the string that comes from an HTTP request into Python data">"parsing"</abbr>, `request.form()` āϏāĻšāĨ¤
+- <a href="https://pythonhosted.org/itsdangerous/" target="_blank"><code>itsdangerous</code></a> - `SessionMiddleware` āϏāĻšāĻžāϝāĻŧāϤāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤
+- <a href="https://pyyaml.org/wiki/PyYAMLDocumentation" target="_blank"><code>pyyaml</code></a> - āĻ¸ā§āϟāĻžāϰāϞ⧇āĻŸā§‡āϰ SchemaGenerator āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻāϰ āϜāĻ¨ā§āϝ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ (āφāĻĒāύāĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāϤ FastAPI āĻĒā§āϰāϝāĻŧā§‹āϜāύ āύ⧇āχ)āĨ¤
+- <a href="https://graphene-python.org/" target="_blank"><code>graphene</code></a> - `GraphQLApp` āϏāĻšāĻžāϝāĻŧāϤāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āĻ°ā§Ÿā§‹āϜāύāĨ¤
+- <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - āφāĻĒāύāĻŋ `UJSONResponse` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āϚāĻžāχāϞ⧇ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤
+
+FastAPI / Starlette āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻŦāĻšā§ƒāϤ:
+
+- <a href="https://www.uvicorn.org" target="_blank"><code>uvicorn</code></a> - āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āϝāĻž āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϞ⧋āĻĄ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻĒāϰāĻŋāĻŦ⧇āĻļāύ āĻ•āϰ⧇āĨ¤
+- <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - āφāĻĒāύāĻŋ `ORJSONResponse` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āϚāĻžāχāϞ⧇ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤
+
+āφāĻĒāύāĻŋ āĻāχ āϏāĻŦ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ `pip install fastapi[all]` āĻĻāĻŋā§Ÿā§‡.
+
+## āϞāĻžāχāϏ⧇āĻ¨ā§āϏ
+
+āĻāχ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ MIT āϞāĻžāχāϏ⧇āĻ¨ā§āϏ āύ⧀āϤāĻŋāĻŽāĻžāϞāĻžāϰ āĻ…āϧ⧀āύ⧇ āĻļāĻ°ā§āϤāĻžā§ŸāĻŋāϤāĨ¤
diff --git a/docs/bn/mkdocs.yml b/docs/bn/mkdocs.yml
new file mode 100644 (file)
index 0000000..de18856
--- /dev/null
@@ -0,0 +1 @@
+INHERIT: ../en/mkdocs.yml