]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Update translations for uk (update outdated, found by fixer tool) (#14739)
authorMotov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Sun, 1 Feb 2026 09:44:39 +0000 (12:44 +0300)
committerGitHub <noreply@github.com>
Sun, 1 Feb 2026 09:44:39 +0000 (10:44 +0100)
docs/uk/docs/alternatives.md
docs/uk/docs/fastapi-cli.md
docs/uk/docs/features.md

index 786df45c50a607af29a9bf857b68bc8fbd798d9b..d44ca794f82f09e443a152f2d5f5efc93685f7b0 100644 (file)
@@ -1,8 +1,8 @@
-# Альтернативи, натхнення та порівняння
+# Альтернативи, натхнення та порівняння { #alternatives-inspiration-and-comparisons }
 
-Що надихнуло на створення **FastAPI**, який він у порінянні з іншими альтернативами та чого він у них навчився.
+Що надихнуло **FastAPI**, як він порівнюється з альтернативами та чого він у них навчився.
 
-## Вступ
+## Вступ { #intro }
 
 **FastAPI** не існувало б, якби не попередні роботи інших.
 
 
 Але в якийсь момент не було іншого виходу, окрім створення чогось, що надавало б усі ці функції, взявши найкращі ідеї з попередніх інструментів і поєднавши їх найкращим чином, використовуючи мовні функції, які навіть не були доступні раніше (Python 3.6+ підказки типів).
 
-## Попередні інструменти
+## Попередні інструменти { #previous-tools }
 
-### <a href="https://www.djangoproject.com/" class="external-link" target="_blank">Django</a>
+### <a href="https://www.djangoproject.com/" class="external-link" target="_blank">Django</a> { #django }
 
 Це найпопулярніший фреймворк Python, який користується широкою довірою. Він використовується для створення таких систем, як Instagram.
 
 Він відносно тісно пов’язаний з реляційними базами даних (наприклад, MySQL або PostgreSQL), тому мати базу даних NoSQL (наприклад, Couchbase, MongoDB, Cassandra тощо) як основний механізм зберігання не дуже просто.
 
-Він був створений для створення HTML у серверній частині, а не для створення API, які використовуються сучасним інтерфейсом (як-от React, Vue.js і Angular) або іншими системами (як-от <abbr title="Internet of Things">IoT</abbr > пристрої), які спілкуються з ним.
+Він був створений для створення HTML у серверній частині, а не для створення API, які використовуються сучасним інтерфейсом (як-от React, Vue.js і Angular) або іншими системами (як-от <abbr title="Internet of Things - Інтернет речей">IoT</abbr> пристрої), які спілкуються з ним.
 
-### <a href="https://www.django-rest-framework.org/" class="external-link" target="_blank">Django REST Framework</a>
+### <a href="https://www.django-rest-framework.org/" class="external-link" target="_blank">Django REST Framework</a> { #django-rest-framework }
 
 Фреймворк Django REST був створений як гнучкий інструментарій для створення веб-інтерфейсів API використовуючи Django в основі, щоб покращити його можливості API.
 
@@ -42,7 +42,7 @@ Django REST Framework створив Том Крісті. Той самий тв
 
 ///
 
-### <a href="https://flask.palletsprojects.com" class="external-link" target="_blank">Flask</a>
+### <a href="https://flask.palletsprojects.com" class="external-link" target="_blank">Flask</a> { #flask }
 
 Flask — це «мікрофреймворк», він не включає інтеграцію бази даних, а також багато речей, які за замовчуванням є в Django.
 
@@ -64,7 +64,7 @@ Flask — це «мікрофреймворк», він не включає ін
 
 ///
 
-### <a href="https://requests.readthedocs.io" class="external-link" target="_blank">Requests</a>
+### <a href="https://requests.readthedocs.io" class="external-link" target="_blank">Requests</a> { #requests }
 
 **FastAPI** насправді не є альтернативою **Requests**. Сфера їх застосування дуже різна.
 
@@ -88,12 +88,12 @@ Requests мають дуже простий та інтуїтивно зрозу
 response = requests.get("http://example.com/some/url")
 ```
 
-Відповідна операція *роуту* API FastAPI може виглядати так:
+Відповідна операція шляху API FastAPI може виглядати так:
 
 ```Python hl_lines="1"
 @app.get("/some/url")
 def read_url():
-     return {"message": "Hello World"}
+    return {"message": "Hello World"}
 ```
 
 Зверніть увагу на схожість у `requests.get(...)` і `@app.get(...)`.
@@ -101,12 +101,12 @@ def read_url():
 /// check | Надихнуло **FastAPI** на
 
 * Майте простий та інтуїтивно зрозумілий API.
- * Використовуйте імена (операції) методів HTTP безпосередньо, простим та інтуїтивно зрозумілим способом.
- * Розумні параметри за замовчуванням, але потужні налаштування.
+* Використовуйте імена (операції) методів HTTP безпосередньо, простим та інтуїтивно зрозумілим способом.
+* Розумні параметри за замовчуванням, але потужні налаштування.
 
 ///
 
-### <a href="https://swagger.io/" class="external-link" target="_blank">Swagger</a> / <a href="https://github.com/OAI /OpenAPI-Specification/" class="external-link" target="_blank">OpenAPI</a>
+### <a href="https://swagger.io/" class="external-link" target="_blank">Swagger</a> / <a href="https://github.com/OAI/OpenAPI-Specification/" class="external-link" target="_blank">OpenAPI</a> { #swagger-openapi }
 
 Головною функцією, яку я хотів від Django REST Framework, була автоматична API документація.
 
@@ -124,18 +124,18 @@ def read_url():
 
  Інтегрувати інструменти інтерфейсу на основі стандартів:
 
- * <a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank">Інтерфейс Swagger</a>
- * <a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank">ReDoc</a>
+* <a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank">Інтерфейс Swagger</a>
+* <a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank">ReDoc</a>
 
  Ці два було обрано через те, що вони досить популярні та стабільні, але, виконавши швидкий пошук, ви можете знайти десятки додаткових альтернативних інтерфейсів для OpenAPI (які можна використовувати з **FastAPI**).
 
 ///
 
-### Фреймворки REST для Flask
+### Фреймворки REST для Flask { #flask-rest-frameworks }
 
 Існує кілька фреймворків Flask REST, але, витративши час і роботу на їх дослідження, я виявив, що багато з них припинено або залишено, з кількома постійними проблемами, які зробили їх непридатними.
 
-### <a href="https://marshmallow.readthedocs.io/en/stable/" class="external-link" target="_blank">Marshmallow</a>
+### <a href="https://marshmallow.readthedocs.io/en/stable/" class="external-link" target="_blank">Marshmallow</a> { #marshmallow }
 
 Однією з головних функцій, необхідних для систем API, є "<abbr title="також звана marshalling, conversion">серіалізація</abbr>", яка бере дані з коду (Python) і перетворює їх на щось, що можна надіслати через мережу. Наприклад, перетворення об’єкта, що містить дані з бази даних, на об’єкт JSON. Перетворення об’єктів `datetime` на строки тощо.
 
@@ -153,7 +153,7 @@ Marshmallow створено для забезпечення цих функці
 
 ///
 
-### <a href="https://webargs.readthedocs.io/en/latest/" class="external-link" target="_blank">Webargs</a>
+### <a href="https://webargs.readthedocs.io/en/latest/" class="external-link" target="_blank">Webargs</a> { #webargs }
 
 Іншою важливою функцією, необхідною для API, є <abbr title="читання та перетворення даних Python">аналіз</abbr> даних із вхідних запитів.
 
@@ -175,7 +175,7 @@ Webargs був створений тими ж розробниками Marshmall
 
 ///
 
-### <a href="https://apispec.readthedocs.io/en/stable/" class="external-link" target="_blank">APISpec</a>
+### <a href="https://apispec.readthedocs.io/en/stable/" class="external-link" target="_blank">APISpec</a> { #apispec }
 
 Marshmallow і Webargs забезпечують перевірку, аналіз і серіалізацію як плагіни.
 
@@ -205,7 +205,7 @@ APISpec був створений тими ж розробниками Marshmall
 
 ///
 
-### <a href="https://flask-apispec.readthedocs.io/en/latest/" class="external-link" target="_blank">Flask-apispec</a>
+### <a href="https://flask-apispec.readthedocs.io/en/latest/" class="external-link" target="_blank">Flask-apispec</a> { #flask-apispec }
 
 Це плагін Flask, який об’єднує Webargs, Marshmallow і APISpec.
 
@@ -237,13 +237,13 @@ Flask-apispec був створений тими ж розробниками Mar
 
 ///
 
-### <a href="https://nestjs.com/" class="external-link" target="_blank">NestJS</a> (та <a href="https://angular.io/ " class="external-link" target="_blank">Angular</a>)
+### <a href="https://nestjs.com/" class="external-link" target="_blank">NestJS</a> (та <a href="https://angular.io/" class="external-link" target="_blank">Angular</a>) { #nestjs-and-angular }
 
 Це навіть не Python, NestJS — це фреймворк NodeJS JavaScript (TypeScript), натхненний Angular.
 
 Це досягає чогось подібного до того, що можна зробити з Flask-apispec.
 
-Він має інтегровану систему впровадження залежностей, натхненну Angular two. Він потребує попередньої реєстрації «injectables» (як і всі інші системи впровадження залежностей, які я знаю), тому це збільшує багатослівність та повторення коду.
+Він має інтегровану систему впровадження залежностей, натхненну Angular 2. Він потребує попередньої реєстрації «injectables» (як і всі інші системи впровадження залежностей, які я знаю), тому це збільшує багатослівність та повторення коду.
 
 Оскільки параметри описані за допомогою типів TypeScript (подібно до підказок типу Python), підтримка редактора досить хороша.
 
@@ -259,7 +259,7 @@ Flask-apispec був створений тими ж розробниками Mar
 
 ///
 
-### <a href="https://sanic.readthedocs.io/en/latest/" class="external-link" target="_blank">Sanic</a>
+### <a href="https://sanic.readthedocs.io/en/latest/" class="external-link" target="_blank">Sanic</a> { #sanic }
 
 Це був один із перших надзвичайно швидких фреймворків Python на основі `asyncio`. Він був дуже схожий на Flask.
 
@@ -279,7 +279,7 @@ Flask-apispec був створений тими ж розробниками Mar
 
 ///
 
-### <a href="https://falconframework.org/" class="external-link" target="_blank">Falcon</a>
+### <a href="https://falconframework.org/" class="external-link" target="_blank">Falcon</a> { #falcon }
 
 Falcon — ще один високопродуктивний фреймворк Python, він розроблений як мінімальний і працює як основа інших фреймворків, таких як Hug.
 
@@ -297,7 +297,7 @@ Falcon — ще один високопродуктивний фреймворк
 
 ///
 
-### <a href="https://moltenframework.com/" class="external-link" target="_blank">Molten</a>
+### <a href="https://moltenframework.com/" class="external-link" target="_blank">Molten</a> { #molten }
 
 Я відкрив для себе Molten на перших етапах створення **FastAPI**. І він має досить схожі ідеї:
 
@@ -321,7 +321,7 @@ Falcon — ще один високопродуктивний фреймворк
 
 ///
 
-### <a href="https://github.com/hugapi/hug" class="external-link" target="_blank">Hug</a>
+### <a href="https://github.com/hugapi/hug" class="external-link" target="_blank">Hug</a> { #hug }
 
 Hug був одним із перших фреймворків, який реалізував оголошення типів параметрів API за допомогою підказок типу Python. Це була чудова ідея, яка надихнула інші інструменти зробити те саме.
 
@@ -351,7 +351,7 @@ Hug надихнув частину APIStar і був одним із найбі
 
 ///
 
-### <a href="https://github.com/encode/apistar" class="external-link" target="_blank">APIStar</a> (<= 0,5)
+### <a href="https://github.com/encode/apistar" class="external-link" target="_blank">APIStar</a> (<= 0,5) { #apistar-0-5 }
 
 Безпосередньо перед тим, як вирішити створити **FastAPI**, я знайшов сервер **APIStar**. Він мав майже все, що я шукав, і мав чудовий дизайн.
 
@@ -379,9 +379,9 @@ Hug надихнув частину APIStar і був одним із найбі
 
 APIStar створив Том Крісті. Той самий хлопець, який створив:
 
- * Django REST Framework
- * Starlette (на якому базується **FastAPI**)
- * Uvicorn (використовується Starlette і **FastAPI**)
+* Django REST Framework
+* Starlette (на якому базується **FastAPI**)
+* Uvicorn (використовується Starlette і **FastAPI**)
 
 ///
 
@@ -393,13 +393,15 @@ APIStar створив Том Крісті. Той самий хлопець, я
 
  І після тривалого пошуку подібної структури та тестування багатьох різних альтернатив, APIStar став найкращим доступним варіантом.
 
- Потім APIStar перестав існувати як сервер, і було створено Starlette, який став новою кращою основою для такої системи. Це стало останнім джерелом натхнення для створення **FastAPI**. Я вважаю **FastAPI** «духовним спадкоємцем» APIStar, удосконалюючи та розширюючи функції, систему введення тексту та інші частини на основі досвіду, отриманого від усіх цих попередніх інструментів.
+ Потім APIStar перестав існувати як сервер, і було створено Starlette, який став новою кращою основою для такої системи. Це стало останнім джерелом натхнення для створення **FastAPI**.
+
+ Я вважаю **FastAPI** «духовним спадкоємцем» APIStar, удосконалюючи та розширюючи функції, систему типізації та інші частини на основі досвіду, отриманого від усіх цих попередніх інструментів.
 
 ///
 
-## Використовується **FastAPI**
+## Використовується **FastAPI** { #used-by-fastapi }
 
-### <a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic</a>
+### <a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic</a> { #pydantic }
 
 Pydantic — це бібліотека для визначення перевірки даних, серіалізації та документації (за допомогою схеми JSON) на основі підказок типу Python.
 
@@ -415,9 +417,9 @@ Pydantic — це бібліотека для визначення переві
 
 ///
 
-### <a href="https://www.starlette.dev/" class="external-link" target="_blank">Starlette</a>
+### <a href="https://www.starlette.dev/" class="external-link" target="_blank">Starlette</a> { #starlette }
 
-Starlette — це легкий фреймворк/набір інструментів <abbr title="The new standard for build asynchronous Python web">ASGI</abbr>, який ідеально підходить для створення високопродуктивних asyncio сервісів.
+Starlette — це легкий фреймворк/набір інструментів <abbr title="Новий стандарт для створення асинхронних Python вебзастосунків">ASGI</abbr>, який ідеально підходить для створення високопродуктивних asyncio сервісів.
 
 Він дуже простий та інтуїтивно зрозумілий. Його розроблено таким чином, щоб його можна було легко розширювати та мати модульні компоненти.
 
@@ -460,7 +462,7 @@ ASGI — це новий «стандарт», який розробляєтьс
 
 ///
 
-### <a href="https://www.uvicorn.dev/" class="external-link" target="_blank">Uvicorn</a>
+### <a href="https://www.uvicorn.dev/" class="external-link" target="_blank">Uvicorn</a> { #uvicorn }
 
 Uvicorn — це блискавичний сервер ASGI, побудований на uvloop і httptools.
 
@@ -472,12 +474,12 @@ Uvicorn — це блискавичний сервер ASGI, побудован
 
 Основний веб-сервер для запуску програм **FastAPI**.
 
- Ви можете поєднати його з Gunicorn, щоб мати асинхронний багатопроцесний сервер.
+ Ви також можете використати параметр командного рядка `--workers`, щоб мати асинхронний багатопроцесний сервер.
 
  Додаткову інформацію див. у розділі [Розгортання](deployment/index.md){.internal-link target=_blank}.
 
 ///
 
-## Орієнтири та швидкість
+## Орієнтири та швидкість { #benchmarks-and-speed }
 
 Щоб зрозуміти, порівняти та побачити різницю між Uvicorn, Starlette і FastAPI, перегляньте розділ про [Бенчмарки](benchmarks.md){.internal-link target=_blank}.
index f18b104718797d0e0a89c594aead94acc4243231..eb55382302a93aeb533b17193a4a85f715f6cedb 100644 (file)
@@ -1,83 +1,75 @@
-# FastAPI CLI
+# FastAPI CLI { #fastapi-cli }
 
-**FastAPI CLI** це програма командного рядка, яку Ви можете використовувати, щоб обслуговувати Ваш додаток FastAPI, керувати Вашими FastApi проектами, тощо.
+**FastAPI CLI** — це програма командного рядка, яку ви можете використовувати, щоб обслуговувати ваш застосунок FastAPI, керувати вашим проєктом FastAPI тощо.
 
\9aоли Ð\92и Ð²Ñ\81Ñ\82ановлÑ\8eÑ\94Ñ\82е FastApi (Ñ\82обÑ\82о Ð²Ð¸ÐºÐ¾Ð½Ñ\83Ñ\94Ñ\82е `pip install "fastapi[standard]"`), Ð\92и Ñ\82акож Ð²Ñ\81Ñ\82ановлÑ\8eÑ\94Ñ\82е Ð¿Ð°ÐºÑ\83нок `fastapi-cli`, Ñ\86ей Ð¿Ð°ÐºÑ\83нок Ð½Ð°Ð´Ð°Ñ\94 ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ\83 `fastapi` Ð² терміналі.
\9aоли Ð²Ð¸ Ð²Ñ\81Ñ\82ановлÑ\8eÑ\94Ñ\82е FastAPI (напÑ\80иклад, Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ\8e `pip install "fastapi[standard]"`), Ð²Ñ\96н Ð²ÐºÐ»Ñ\8eÑ\87аÑ\94 Ð¿Ð°ÐºÐµÑ\82 Ð¿Ñ\96д Ð½Ð°Ð·Ð²Ð¾Ñ\8e `fastapi-cli`, Ñ\86ей Ð¿Ð°ÐºÐµÑ\82 Ð½Ð°Ð´Ð°Ñ\94 ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ\83 `fastapi` Ñ\83 терміналі.
 
\94лÑ\8f Ð·Ð°Ð¿Ñ\83Ñ\81кÑ\83 Ð\92аÑ\88ого FastAPI Ð¿Ñ\80оекÑ\82Ñ\83 Ð´Ð»Ñ\8f Ñ\80озÑ\80обки, Ð\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ñ\81коÑ\80иÑ\81Ñ\82аÑ\82иÑ\81Ñ\8c ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ñ\8e `fastapi dev`:
©Ð¾Ð± Ð·Ð°Ð¿Ñ\83Ñ\81Ñ\82иÑ\82и Ð²Ð°Ñ\88 Ð·Ð°Ñ\81Ñ\82оÑ\81Ñ\83нок FastAPI Ð´Ð»Ñ\8f Ñ\80озÑ\80обки, Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аÑ\82и ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ\83 `fastapi dev`:
 
 <div class="termy">
 
 ```console
-$ <font color="#4E9A06">fastapi</font> dev <u style="text-decoration-style:single">main.py</u>
-<font color="#3465A4">INFO    </font> Using path <font color="#3465A4">main.py</font>
-<font color="#3465A4">INFO    </font> Resolved absolute path <font color="#75507B">/home/user/code/awesomeapp/</font><font color="#AD7FA8">main.py</font>
-<font color="#3465A4">INFO    </font> Searching for package file structure from directories with <font color="#3465A4">__init__.py</font> files
-<font color="#3465A4">INFO    </font> Importing from <font color="#75507B">/home/user/code/</font><font color="#AD7FA8">awesomeapp</font>
-
- ╭─ <font color="#8AE234"><b>Python module file</b></font> ─╮
- │                      │
- │  🐍 main.py          │
- │                      │
- ╰──────────────────────╯
-
-<font color="#3465A4">INFO    </font> Importing module <font color="#4E9A06">main</font>
-<font color="#3465A4">INFO    </font> Found importable FastAPI app
-
- ╭─ <font color="#8AE234"><b>Importable FastAPI app</b></font> ─╮
- │                          │
- │  <span style="background-color:#272822"><font color="#FF4689">from</font></span><span style="background-color:#272822"><font color="#F8F8F2"> main </font></span><span style="background-color:#272822"><font color="#FF4689">import</font></span><span style="background-color:#272822"><font color="#F8F8F2"> app</font></span><span style="background-color:#272822">  </span>  │
- │                          │
- ╰──────────────────────────╯
-
-<font color="#3465A4">INFO    </font> Using import string <font color="#8AE234"><b>main:app</b></font>
-
- <span style="background-color:#C4A000"><font color="#2E3436">╭────────── FastAPI CLI - Development mode ───────────╮</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">│                                                     │</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">│  Serving at: http://127.0.0.1:8000                  │</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">│                                                     │</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">│  API docs: http://127.0.0.1:8000/docs               │</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">│                                                     │</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">│  Running in development mode, for production use:   │</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">│                                                     │</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">│  </font></span><span style="background-color:#C4A000"><font color="#555753"><b>fastapi run</b></font></span><span style="background-color:#C4A000"><font color="#2E3436">                                        │</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">│                                                     │</font></span>
- <span style="background-color:#C4A000"><font color="#2E3436">╰─────────────────────────────────────────────────────╯</font></span>
-
-<font color="#4E9A06">INFO</font>:     Will watch for changes in these directories: [&apos;/home/user/code/awesomeapp&apos;]
-<font color="#4E9A06">INFO</font>:     Uvicorn running on <b>http://127.0.0.1:8000</b> (Press CTRL+C to quit)
-<font color="#4E9A06">INFO</font>:     Started reloader process [<font color="#34E2E2"><b>2265862</b></font>] using <font color="#34E2E2"><b>WatchFiles</b></font>
-<font color="#4E9A06">INFO</font>:     Started server process [<font color="#06989A">2265873</font>]
-<font color="#4E9A06">INFO</font>:     Waiting for application startup.
-<font color="#4E9A06">INFO</font>:     Application startup complete.
+$ <font color="#4E9A06">fastapi</font> dev <u style="text-decoration-style:solid">main.py</u>
+
+  <span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span>  Starting development server 🚀
+
+             Searching for package file structure from directories with
+             <font color="#3465A4">__init__.py</font> files
+             Importing from <font color="#75507B">/home/user/code/</font><font color="#AD7FA8">awesomeapp</font>
+
+   <span style="background-color:#007166"><font color="#D3D7CF"> module </font></span>  🐍 main.py
+
+     <span style="background-color:#007166"><font color="#D3D7CF"> code </font></span>  Importing the FastAPI app object from the module with the
+             following code:
+
+             <u style="text-decoration-style:solid">from </u><u style="text-decoration-style:solid"><b>main</b></u><u style="text-decoration-style:solid"> import </u><u style="text-decoration-style:solid"><b>app</b></u>
+
+      <span style="background-color:#007166"><font color="#D3D7CF"> app </font></span>  Using import string: <font color="#3465A4">main:app</font>
+
+   <span style="background-color:#007166"><font color="#D3D7CF"> server </font></span>  Server started at <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000</u></font>
+   <span style="background-color:#007166"><font color="#D3D7CF"> server </font></span>  Documentation at <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000/docs</u></font>
+
+      <span style="background-color:#007166"><font color="#D3D7CF"> tip </font></span>  Running in development mode, for production use:
+             <b>fastapi run</b>
+
+             Logs:
+
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Will watch for changes in these directories:
+             <b>[</b><font color="#4E9A06">&apos;/home/user/code/awesomeapp&apos;</font><b>]</b>
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Uvicorn running on <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000</u></font> <b>(</b>Press CTRL+C to
+             quit<b>)</b>
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Started reloader process <b>[</b><font color="#34E2E2"><b>383138</b></font><b>]</b> using WatchFiles
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Started server process <b>[</b><font color="#34E2E2"><b>383153</b></font><b>]</b>
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Waiting for application startup.
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Application startup complete.
 ```
 
 </div>
 
-Програма командного рядка `fastapi` це **FastAPI CLI**.
+Програма командного рядка під назвою `fastapi` — це **FastAPI CLI**.
 
-FastAPI CLI Ð¿Ñ\80иймаÑ\94 Ñ\88лÑ\8fÑ\85 Ð´Ð¾ Ð\92аÑ\88оÑ\97 Python Ð¿Ñ\80огÑ\80ами (напÑ\80. `main.py`) Ñ\96 Ð°Ð²Ñ\82омаÑ\82иÑ\87но Ð²Ð¸Ñ\8fвлÑ\8fÑ\94 ÐµÐºÐ·ÐµÐ¼Ð¿Ð»Ñ\8fÑ\80 `FastAPI` (зазвиÑ\87ай Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ð¹ `app`), Ð¾Ð±Ð¸Ñ\80аÑ\94 ÐºÐ¾Ñ\80екÑ\82ний процес імпорту, а потім обслуговує його.
+FastAPI CLI Ð±ÐµÑ\80е Ñ\88лÑ\8fÑ\85 Ð´Ð¾ Ð²Ð°Ñ\88оÑ\97 Python-пÑ\80огÑ\80ами (напÑ\80иклад, `main.py`) Ñ\96 Ð°Ð²Ñ\82омаÑ\82иÑ\87но Ð²Ð¸Ñ\8fвлÑ\8fÑ\94 ÐµÐºÐ·ÐµÐ¼Ð¿Ð»Ñ\8fÑ\80 `FastAPI` (зазвиÑ\87ай Ð· Ð½Ð°Ð·Ð²Ð¾Ñ\8e `app`), Ð²Ð¸Ð·Ð½Ð°Ñ\87аÑ\94 Ð¿Ñ\80авилÑ\8cний процес імпорту, а потім обслуговує його.
 
\9dаÑ\82омÑ\96Ñ\81Ñ\82Ñ\8c, Ð´Ð»Ñ\8f Ð·Ð°Ð¿Ñ\83Ñ\81кÑ\83 Ñ\83 Ð¿Ñ\80одакÑ\88н Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83йÑ\82е `fastapi run`. 🚀
\9dаÑ\82омÑ\96Ñ\81Ñ\82Ñ\8c, Ð´Ð»Ñ\8f Ð¿Ñ\80одакÑ\88н Ð²Ð¸ Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82али Ð± `fastapi run`. 🚀
 
середині **FastAPI CLI** використовує <a href="https://www.uvicorn.dev" class="external-link" target="_blank">Uvicorn</a>, високопродуктивний, production-ready, ASGI cервер. 😎
нутрішньо **FastAPI CLI** використовує <a href="https://www.uvicorn.dev" class="external-link" target="_blank">Uvicorn</a>, високопродуктивний, production-ready, ASGI сервер. 😎
 
-## `fastapi dev`
+## `fastapi dev` { #fastapi-dev }
 
\92икоÑ\80иÑ\81Ñ\82аннÑ\8f `fastapi dev` ініціює режим розробки.
\97апÑ\83Ñ\81к `fastapi dev` ініціює режим розробки.
 
-За замовчуванням, **автоматичне перезавантаження** увімкнене, автоматично перезавантажуючи сервер кожного разу, коли Ви змінюєте Ваш код. Це ресурсо-затратно, та може бути менш стабільним, ніж коли воно вимкнене. Ви повинні використовувати його тільки під час розробки. Воно також слухає IP-адресу `127.0.0.1`, що є IP Вашого девайсу для самостійної комунікації з самим собою (`localhost`).
+За замовчуванням **auto-reload** увімкнено, і сервер автоматично перезавантажується, коли ви вносите зміни у ваш код. Це ресурсоємно та може бути менш стабільним, ніж коли його вимкнено. Вам слід використовувати це лише для розробки. Також він слухає IP-адресу `127.0.0.1`, яка є IP-адресою для того, щоб ваша машина могла взаємодіяти лише сама з собою (`localhost`).
 
-## `fastapi run`
+## `fastapi run` { #fastapi-run }
 
-Виконання `fastapi run` запустить FastAPI у продакшн-режимі за замовчуванням.
+Виконання `fastapi run` за замовчуванням запускає FastAPI у продакшн-режимі.
 
-За замовчуванням, **автоматичне перезавантаження** вимкнене. Воно також прослуховує IP-адресу `0.0.0.0`, що означає всі доступні IP адреси, тим самим даючи змогу будь-кому комунікувати з девайсом. Так Ви зазвичай будете запускати його у продакшн, наприклад у контейнері.
+За замовчуванням **auto-reload** вимкнено. Також він слухає IP-адресу `0.0.0.0`, що означає всі доступні IP-адреси, таким чином він буде публічно доступним для будь-кого, хто може взаємодіяти з машиною. Зазвичай саме так ви запускатимете його в продакшн, наприклад у контейнері.
 
\92 Ð±Ñ\96лÑ\8cÑ\88оÑ\81Ñ\82Ñ\96 Ð²Ð¸Ð¿Ð°Ð´ÐºÑ\96в Ð\92и Ð¼Ð¾Ð¶ÐµÑ\82е (Ñ\96 Ð¼Ð°Ñ\94Ñ\82е) Ð¼Ð°Ñ\82и "termination proxy", Ñ\8fкий Ð¾Ð±Ñ\80облÑ\8fÑ\94 HTTPS Ð´Ð»Ñ\8f Ð\92аÑ\81, Ñ\86е Ð·Ð°Ð»ÐµÐ¶Ð¸Ñ\82Ñ\8c Ð²Ñ\96д Ñ\81поÑ\81обÑ\83 Ñ\80озгоÑ\80Ñ\82аннÑ\8f Ð²Ð°Ñ\88ого Ð´Ð¾Ð´Ð°Ñ\82кÑ\83, Ð\92аÑ\88 Ð¿Ñ\80овайдеÑ\80 Ð¼Ð¾Ð¶Ðµ Ð·Ñ\80обиÑ\82и Ñ\86е Ð´Ð»Ñ\8f Ð\92аÑ\81, Ð°Ð±Ð¾ Ð\92ам Ð¿Ð¾Ñ\82Ñ\80Ñ\96бно Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ваÑ\82и Ð¹Ð¾Ð³Ð¾ самостійно.
£ Ð±Ñ\96лÑ\8cÑ\88оÑ\81Ñ\82Ñ\96 Ð²Ð¸Ð¿Ð°Ð´ÐºÑ\96в Ð²Ð¸ (Ñ\96 Ð²Ð°Ð¼ Ñ\81лÑ\96д) Ð¼Ð°Ñ\82имеÑ\82е Â«termination proxy», Ñ\8fкий Ð¾Ð±Ñ\80облÑ\8fÑ\94 HTTPS Ð´Ð»Ñ\8f Ð²Ð°Ñ\81 Ð·Ð²ÐµÑ\80Ñ\85Ñ\83; Ñ\86е Ð·Ð°Ð»ÐµÐ¶Ð°Ñ\82име Ð²Ñ\96д Ñ\82ого, Ñ\8fк Ð²Ð¸ Ñ\80озгоÑ\80Ñ\82аÑ\94Ñ\82е Ð²Ð°Ñ\88 Ð·Ð°Ñ\81Ñ\82оÑ\81Ñ\83нок: Ð²Ð°Ñ\88 Ð¿Ñ\80овайдеÑ\80 Ð¼Ð¾Ð¶Ðµ Ð·Ñ\80обиÑ\82и Ñ\86е Ð·Ð° Ð²Ð°Ñ\81, Ð°Ð±Ð¾ Ð²Ð°Ð¼ Ð¼Ð¾Ð¶Ðµ Ð·Ð½Ð°Ð´Ð¾Ð±Ð¸Ñ\82иÑ\81Ñ\8f Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ваÑ\82и Ñ\86е самостійно.
 
-/// tip
+/// tip | Порада
 
\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð´Ñ\96знаÑ\82иÑ\81Ñ\8c Ð±Ñ\96лÑ\8cÑ\88е Ð¿Ñ\80о Ñ\86е Ñ\83 [докÑ\83менÑ\82аÑ\86Ñ\96Ñ\97 Ð¿Ñ\80о Ñ\80озгоÑ\80Ñ\82Ñ\83вання](deployment/index.md){.internal-link target=_blank}.
\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð´Ñ\96знаÑ\82иÑ\81Ñ\8f Ð±Ñ\96лÑ\8cÑ\88е Ð¿Ñ\80о Ñ\86е Ð² [докÑ\83менÑ\82аÑ\86Ñ\96Ñ\97 Ð· Ñ\80озгоÑ\80Ñ\82ання](deployment/index.md){.internal-link target=_blank}.
 
 ///
index aa0ef7c79d0a0dde0f9090673dd886786df3712e..d8233115fde3583da1b79f0a2d51aad22dbe5b9f 100644 (file)
@@ -1,21 +1,21 @@
-# Функціональні можливості
+# Функціональні можливості { #features }
 
-## Функціональні можливості FastAPI
+## Функціональні можливості FastAPI { #fastapi-features }
 
 **FastAPI** надає вам такі можливості:
 
-### Ð\92икоÑ\80иÑ\81Ñ\82аннÑ\8f Ð²Ñ\96дкÑ\80иÑ\82иÑ\85 Ñ\81Ñ\82андаÑ\80Ñ\82Ñ\96в
+### Ð\9dа Ð¾Ñ\81новÑ\96 Ð²Ñ\96дкÑ\80иÑ\82иÑ\85 Ñ\81Ñ\82андаÑ\80Ñ\82Ñ\96в { #based-on-open-standards }
 
 * <a href="https://github.com/OAI/OpenAPI-Specification" class="external-link" target="_blank"><strong>OpenAPI</strong></a> для створення API, включаючи оголошення <abbr title="також відомі як: endpoints, маршрути">шляхів</abbr>, <abbr title="також відомі як HTTP-методи, наприклад, POST, GET, PUT, DELETE">операцій</abbr>, параметрів, тіл запитів, безпеки тощо.
 * Автоматична документація моделей даних за допомогою <a href="https://json-schema.org/" class="external-link" target="_blank"><strong>JSON Schema</strong></a> (оскільки OpenAPI базується саме на JSON Schema).
 * Розроблено на основі цих стандартів після ретельного аналізу, а не як додатковий рівень поверх основної архітектури.
-* Ð¦Ðµ Ñ\82акож Ð´Ð°Ñ\94 Ð·Ð¼Ð¾Ð³Ñ\83 Ð°Ð²Ñ\82омаÑ\82иÑ\87но **генеÑ\80Ñ\83ваÑ\82и ÐºÐ¾Ð´ ÐºÐ»Ñ\96Ñ\94нÑ\82а** багатьма мовами.
+* Ð¦Ðµ Ñ\82акож Ð´Ð°Ñ\94 Ð·Ð¼Ð¾Ð³Ñ\83 Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ð°Ð²Ñ\82омаÑ\82иÑ\87нÑ\83 **генеÑ\80аÑ\86Ñ\96Ñ\8e ÐºÐ»Ñ\96Ñ\94нÑ\82Ñ\81Ñ\8cкого ÐºÐ¾Ð´Ñ\83** багатьма мовами.
 
-### Ð\90вÑ\82омаÑ\82иÑ\87на Ð³ÐµÐ½ÐµÑ\80аÑ\86Ñ\96Ñ\8f Ð´Ð¾ÐºÑ\83менÑ\82аÑ\86Ñ\96Ñ\97
+### Ð\90вÑ\82омаÑ\82иÑ\87на Ð´Ð¾ÐºÑ\83менÑ\82аÑ\86Ñ\96Ñ\8f { #automatic-docs }
 
-Інтерактивна документація API та вебінтерфейс для його дослідження. Оскільки фреймворк базується на OpenAPI, є кілька варіантів, два з яких включені за замовчуванням.
+Інтерактивна документація API та вебінтерфейси для його дослідження. Оскільки фреймворк базується на OpenAPI, є кілька варіантів, 2 з яких включені за замовчуванням.
 
-* <a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank"><strong>Swagger UI</strong></a> â\80\94 Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\8fÑ\94 Ñ\96нÑ\82еÑ\80акÑ\82ивно Ð¿ÐµÑ\80еглÑ\8fдаÑ\82и API, Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ñ\82и Ñ\82а Ñ\82еÑ\81Ñ\82Ñ\83ваÑ\82и Ð¹Ð¾Ð³Ð¾ Ð¿Ñ\80Ñ\8fмо Ñ\83 Ð±Ñ\80аÑ\83зеÑ\80Ñ\96.
+* <a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank"><strong>Swagger UI</strong></a> â\80\94 Ð· Ñ\96нÑ\82еÑ\80акÑ\82ивним Ð´Ð¾Ñ\81лÑ\96дженнÑ\8fм, Ð²Ð¸ÐºÐ»Ð¸ÐºÐ¾Ð¼ Ñ\96 Ñ\82еÑ\81Ñ\82Ñ\83ваннÑ\8fм Ð²Ð°Ñ\88ого API Ð¿Ñ\80Ñ\8fмо Ð· Ð±Ñ\80аÑ\83зеÑ\80а.
 
 ![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png)
 
 
 ![ReDoc](https://fastapi.tiangolo.com/img/index/index-06-redoc-02.png)
 
-### Ð¢Ñ\96лÑ\8cки Ñ\81Ñ\83Ñ\87аÑ\81ний Python
+### Ð\9bиÑ\88е Ñ\81Ñ\83Ñ\87аÑ\81ний Python { #just-modern-python }
 
-FastAPI використовує стандартні **типи Python** (завдяки Pydantic). Вам не потрібно вивчати новий синтаксис — лише стандартний сучасний Python.
+Усе базується на стандартних оголошеннях **типів Python** (завдяки Pydantic). Жодного нового синтаксису для вивчення. Лише стандартний сучасний Python.
 
-ЯкÑ\89о Ð²Ð°Ð¼ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бне ÐºÐ¾Ñ\80оÑ\82ке Ð½Ð°Ð³Ð°Ð´Ñ\83ваннÑ\8f Ð¿Ñ\80о Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\8f Ñ\82ипÑ\96в Ñ\83 Python (навÑ\96Ñ\82Ñ\8c Ñ\8fкÑ\89о Ð²Ð¸ Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\94Ñ\82е FastAPI), Ð¿ÐµÑ\80еглÑ\8fнÑ\8cÑ\82е ÐºÐ¾Ñ\80оÑ\82кий Ð¿Ñ\96дÑ\80Ñ\83Ñ\87ник: [Ð\92Ñ\81Ñ\82Ñ\83п Ð´Ð¾ Ñ\82ипÑ\96в Python](python-types.md){.internal-link target=_blank}.
+ЯкÑ\89о Ð²Ð°Ð¼ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бно 2-Ñ\85вилинне Ð½Ð°Ð³Ð°Ð´Ñ\83ваннÑ\8f Ð¿Ñ\80о Ñ\82е, Ñ\8fк Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ñ\82ипи Python (навÑ\96Ñ\82Ñ\8c Ñ\8fкÑ\89о Ð²Ð¸ Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\94Ñ\82е FastAPI), Ð¿ÐµÑ\80еглÑ\8fнÑ\8cÑ\82е ÐºÐ¾Ñ\80оÑ\82кий Ð¿Ñ\96дÑ\80Ñ\83Ñ\87ник: [Типи Python](python-types.md){.internal-link target=_blank}.
 
\9eÑ\81Ñ\8c Ð¿Ñ\80иклад Ñ\81Ñ\82андаÑ\80Ñ\82ного Python-кодÑ\83 з типами:
\92и Ð¿Ð¸Ñ\88еÑ\82е Ñ\81Ñ\82андаÑ\80Ñ\82ний Python з типами:
 
 ```Python
 from datetime import date
+
 from pydantic import BaseModel
 
-# Ð\9eголоÑ\88еннÑ\8f Ð·Ð¼Ñ\96нноÑ\97 як str
-# з підтримкою автодоповнення у редакторі
+# Ð\9eголоÑ\81Ñ\96Ñ\82Ñ\8c Ð·Ð¼Ñ\96ннÑ\83 як str
+# та отримайте підтримку редактора всередині функції
 def main(user_id: str):
     return user_id
 
+
 # Модель Pydantic
 class User(BaseModel):
     id: int
@@ -47,7 +49,7 @@ class User(BaseModel):
     joined: date
 ```
 
\9fÑ\80иклад Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\8f Ñ\86Ñ\96Ñ\94Ñ\97 Ð¼Ð¾Ð´ÐµÐ»Ñ\96:
\94алÑ\96 Ñ\86е Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ñ\82ак:
 
 ```Python
 my_user: User = User(id=3, name="John Doe", joined="2018-07-19")
@@ -65,19 +67,21 @@ my_second_user: User = User(**second_user_data)
 
 `**second_user_data` означає:
 
-Передати ключі та значення словника `second_user_data` як аргументи у вигляді "ключ-значення", еквівалентно `User(id=4, name="Mary", joined="2018-11-30")`.
+Передати ключі та значення словника `second_user_data` безпосередньо як аргументи у вигляді «ключ-значення», еквівалентно: `User(id=4, name="Mary", joined="2018-11-30")`
 
 ///
 
-### Підтримка редакторів (IDE)
+### Підтримка редакторів (IDE) { #editor-support }
 
¤Ñ\80еймвоÑ\80к Ñ\81пÑ\80оÑ\94кÑ\82ований Ñ\82ак, Ñ\89об Ð±Ñ\83Ñ\82и Ð»ÐµÐ³ÐºÐ¸Ð¼ Ñ\96 Ñ\96нÑ\82Ñ\83Ñ\97Ñ\82ивно Ð·Ñ\80озÑ\83мÑ\96лим. Ð£Ñ\81Ñ\96 Ñ\80Ñ\96Ñ\88еннÑ\8f Ñ\82еÑ\81Ñ\82Ñ\83валиÑ\81Ñ\8f Ñ\83 Ñ\80Ñ\96зниÑ\85 Ñ\80едакÑ\82оÑ\80аÑ\85 Ñ\89е Ð´Ð¾ Ð¿Ð¾Ñ\87аÑ\82кÑ\83 Ñ\80озÑ\80обки, Ñ\89об Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ\87иÑ\82и Ð½Ð°Ð¹ÐºÑ\80аÑ\89ий Ð´Ð¾Ñ\81вÑ\96д Ð¿Ñ\80огÑ\80амÑ\83ваннÑ\8f.
£Ð²ÐµÑ\81Ñ\8c Ñ\84Ñ\80еймвоÑ\80к Ñ\81пÑ\80оÑ\94кÑ\82овано Ñ\82ак, Ñ\89об Ð½Ð¸Ð¼ Ð±Ñ\83ло Ð»ÐµÐ³ÐºÐ¾ Ñ\82а Ñ\96нÑ\82Ñ\83Ñ\97Ñ\82ивно ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\82иÑ\81Ñ\8f; Ñ\83Ñ\81Ñ\96 Ñ\80Ñ\96Ñ\88еннÑ\8f Ñ\82еÑ\81Ñ\82Ñ\83валиÑ\81Ñ\8f Ñ\83 ÐºÑ\96лÑ\8cкоÑ\85 Ñ\80едакÑ\82оÑ\80аÑ\85 Ñ\89е Ð´Ð¾ Ð¿Ð¾Ñ\87аÑ\82кÑ\83 Ñ\80озÑ\80обки, Ñ\89об Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ\87иÑ\82и Ð½Ð°Ð¹ÐºÑ\80аÑ\89ий Ð´Ð¾Ñ\81вÑ\96д Ñ\80озÑ\80обки.
 
а результатами опитувань розробників Python <a href="https://www.jetbrains.com/research/python-developers-survey-2017/#tools-and-features" class="external-link" target="_blank">однією з найпопулярніших функцій є "автодоповнення"</a>.
 опитувань розробників Python зрозуміло <a href="https://www.jetbrains.com/research/python-developers-survey-2017/#tools-and-features" class="external-link" target="_blank">що однією з найуживаніших функцій є «автодоповнення»</a>.
 
-**FastAPI** повністю підтримує автодоповнення у всіх місцях, тому вам рідко доведеться повертатися до документації.
+Увесь фреймворк **FastAPI** побудований так, щоб це забезпечити. Автодоповнення працює всюди.
 
-Приклад автодоповнення у редакторах:
+Вам рідко доведеться повертатися до документації.
+
+Ось як ваш редактор може вам допомогти:
 
 * у <a href="https://code.visualstudio.com/" class="external-link" target="_blank">Visual Studio Code</a>:
 
@@ -87,17 +91,25 @@ my_second_user: User = User(**second_user_data)
 
 ![editor support](https://fastapi.tiangolo.com/img/pycharm-completion.png)
 
-### Короткий код
-FastAPI має розумні налаштування **за замовчуванням**, але всі параметри можна налаштовувати відповідно до ваших потреб. Однак за замовчуванням все "просто працює".
+Ви отримаєте автодоповнення в коді, який раніше могли вважати навіть неможливим. Наприклад, для ключа `price` всередині JSON body (який міг бути вкладеним), що надходить із запиту.
+
+Більше не доведеться вводити неправильні назви ключів, постійно повертатися до документації або прокручувати вгору-вниз, щоб знайти, чи ви зрештою використали `username` чи `user_name`.
+
+### Короткий код { #short }
+
+FastAPI має розумні **налаштування за замовчуванням** для всього, з можливістю конфігурації всюди. Усі параметри можна точно налаштувати під ваші потреби та визначити потрібний вам API.
+
+Але за замовчуванням усе **«просто працює»**.
+
+### Валідація { #validation }
 
-### Валідація
 * Підтримка валідації для більшості (або всіх?) **типів даних Python**, зокрема:
     * JSON-об'єктів (`dict`).
-    * JSON-списків (`list`) з визначенням типів елементів.
-    * Ð Ñ\8fдкÑ\96в (`str`) Ñ\96з Ð¼Ñ\96нÑ\96малÑ\8cноÑ\8e Ñ\82а Ð¼Ð°ÐºÑ\81ималÑ\8cноÑ\8e Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¾Ñ\8e.
-    * Ð§Ð¸Ñ\81ел (`int`, `float`) Ð· Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ\8fми Ð¼Ñ\96нÑ\96малÑ\8cниÑ\85 Ñ\82а Ð¼Ð°ÐºÑ\81ималÑ\8cниÑ\85 Ð·Ð½Ð°Ñ\87енÑ\8c тощо.
+    * JSON-масивів (`list`) із визначенням типів елементів.
+    * Ð\9fолÑ\96в-Ñ\80Ñ\8fдкÑ\96в (`str`) Ñ\96з Ð²Ð¸Ð·Ð½Ð°Ñ\87еннÑ\8fм Ð¼Ñ\96нÑ\96малÑ\8cноÑ\97 Ñ\82а Ð¼Ð°ÐºÑ\81ималÑ\8cноÑ\97 Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸.
+    * Ð§Ð¸Ñ\81ел (`int`, `float`) Ð· Ð¼Ñ\96нÑ\96малÑ\8cними Ñ\82а Ð¼Ð°ÐºÑ\81ималÑ\8cними Ð·Ð½Ð°Ñ\87еннÑ\8fми тощо.
 
-* Валідація складніших типів, таких як:
+* Валідація для більш екзотичних типів, як-от:
     * URL.
     * Email.
     * UUID.
@@ -105,55 +117,55 @@ FastAPI має розумні налаштування **за замовчува
 
 Уся валідація виконується через надійний та перевірений **Pydantic**.
 
-### Безпека та автентифікація
+### Безпека та автентифікація { #security-and-authentication }
 
-**FastAPI** підтримує вбудовану автентифікацію та авторизацію, без прив’язки до конкретних баз даних чи моделей даних.
+Інтегровані безпека та автентифікація. Без жодних компромісів із базами даних чи моделями даних.
 
-Підтримуються всі схеми безпеки OpenAPI, включаючи:
+Підтримуються всі схеми безпеки, визначені в OpenAPI, включно з:
 
 * HTTP Basic.
-* **OAuth2** (також із підтримкою **JWT-токенів**). Див. підручник: [OAuth2 із JWT](tutorial/security/oauth2-jwt.md){.internal-link target=_blank}.
+* **OAuth2** (також із підтримкою **JWT tokens**). Перегляньте підручник: [OAuth2 із JWT](tutorial/security/oauth2-jwt.md){.internal-link target=_blank}.
 * Ключі API в:
     * Заголовках.
     * Параметрах запиту.
     * Cookies тощо.
 
-А також усі можливості безпеки від Starlette (зокрема **сесійні cookies**).
+А також усі можливості безпеки від Starlette (зокрема **session cookies**).
 
-Усі вони створені як багаторазові інструменти та компоненти, які легко інтегруються з вашими системами, сховищами даних, реляційними та NoSQL базами даних тощо.
+Усе це зроблено як багаторазові інструменти та компоненти, які легко інтегруються з вашими системами, сховищами даних, реляційними та NoSQL базами даних тощо.
 
-### Впровадження залежностей
+### Впровадження залежностей { #dependency-injection }
 
-**FastAPI** містить надзвичайно просту у використанні, але потужну систему впровадження залежностей.
+FastAPI містить надзвичайно просту у використанні, але надзвичайно потужну систему <abbr title='також відоме як: "components", "resources", "services", "providers"'><strong>Dependency Injection</strong></abbr>.
 
-* Ð\97алежноÑ\81Ñ\82Ñ\96 Ð¼Ð¾Ð¶Ñ\83Ñ\82Ñ\8c Ð¼Ð°Ñ\82и Ð²Ð»Ð°Ñ\81нÑ\96 Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ\81Ñ\82Ñ\96, Ñ\83Ñ\82воÑ\80Ñ\8eÑ\8eÑ\87и Ñ\96Ñ\94Ñ\80аÑ\80Ñ\85Ñ\96Ñ\8e Ð°Ð±Ð¾ **"гÑ\80аÑ\84 Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ\81Ñ\82ей"**.
-* Усі залежності автоматично керуються фреймворком.
-* Ð£Ñ\81Ñ\96 Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ\81Ñ\82Ñ\96 Ð¼Ð¾Ð¶Ñ\83Ñ\82Ñ\8c Ð¾Ñ\82Ñ\80имÑ\83ваÑ\82и Ð´Ð°Ð½Ñ\96 Ð· Ð·Ð°Ð¿Ð¸Ñ\82Ñ\96в Ñ\96 Ñ\80озÑ\88иÑ\80Ñ\8eваÑ\82и **обмеженнÑ\8f Ð¾Ð¿ÐµÑ\80аÑ\86Ñ\96Ñ\97 Ð·Ð° Ñ\88лÑ\8fÑ\85ом** та автоматичну документацію.
-* **Автоматична валідація** навіть для параметрів *операцій шляху*, визначених у залежностях.
-* Ð\9fÑ\96дÑ\82Ñ\80имка Ñ\81кладниÑ\85 Ñ\81иÑ\81Ñ\82ем Ð°Ð²Ñ\82енÑ\82иÑ\84Ñ\96каÑ\86Ñ\96Ñ\97 ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87Ñ\96в, **з'Ñ\94днанÑ\8c Ñ\96з Ð±Ð°Ð·Ð°Ð¼Ð¸ даних** тощо.
-* **Ð\96одниÑ\85 Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ\8c** Ñ\89одо Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\8f Ð±Ð°Ð· Ð´Ð°Ð½Ð¸Ñ\85, Ñ\84Ñ\80онÑ\82ендÑ\96в Ñ\82оÑ\89о, Ð°Ð»Ðµ Ð²Ð¾Ð´Ð½Ð¾Ñ\87аÑ\81 проста інтеграція з усіма ними.
+* Ð\9dавÑ\96Ñ\82Ñ\8c Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ\81Ñ\82Ñ\96 Ð¼Ð¾Ð¶Ñ\83Ñ\82Ñ\8c Ð¼Ð°Ñ\82и Ð²Ð»Ð°Ñ\81нÑ\96 Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ\81Ñ\82Ñ\96, Ñ\83Ñ\82воÑ\80Ñ\8eÑ\8eÑ\87и Ñ\96Ñ\94Ñ\80аÑ\80Ñ\85Ñ\96Ñ\8e Ð°Ð±Ð¾ **«гÑ\80аÑ\84» Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ\81Ñ\82ей**.
+* Усе **автоматично обробляється** фреймворком.
+* Ð£Ñ\81Ñ\96 Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñ\81Ñ\82Ñ\96 Ð¼Ð¾Ð¶Ñ\83Ñ\82Ñ\8c Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ\82и Ð´Ð°Ð½Ñ\96 Ñ\96з Ð·Ð°Ð¿Ð¸Ñ\82Ñ\96в Ñ\96 **Ñ\80озÑ\88иÑ\80Ñ\8eваÑ\82и Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ\8f Ð¾Ð¿ÐµÑ\80аÑ\86Ñ\96Ñ\97 Ñ\88лÑ\8fÑ\85Ñ\83** та автоматичну документацію.
+* **Автоматична валідація** навіть для параметрів *операції шляху*, визначених у залежностях.
+* Ð\9fÑ\96дÑ\82Ñ\80имка Ñ\81кладниÑ\85 Ñ\81иÑ\81Ñ\82ем Ð°Ð²Ñ\82енÑ\82иÑ\84Ñ\96каÑ\86Ñ\96Ñ\97 ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87Ñ\96в, **пÑ\96дклÑ\8eÑ\87енÑ\8c Ð´Ð¾ Ð±Ð°Ð· даних** тощо.
+* **Ð\96одниÑ\85 ÐºÐ¾Ð¼Ð¿Ñ\80омÑ\96Ñ\81Ñ\96в** Ñ\96з Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð¸Ñ\85, Ñ\84Ñ\80онÑ\82ендами Ñ\82оÑ\89о. Ð\90ле проста інтеграція з усіма ними.
 
-### Ð\9dемаÑ\94 Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ\8c Ð½Ð° "плагÑ\96ни"
+### Ð\9dеобмеженÑ\96 Â«Ð¿Ð»Ð°Ð³Ñ\96ни» { #unlimited-plug-ins }
 
\90бо Ñ\96нÑ\88ими Ñ\81ловами, Ð²Ð¾Ð½Ð¸ Ð½Ðµ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бнÑ\96 â\80\93 Ð¿Ñ\80оÑ\81Ñ\82о Ñ\96мпоÑ\80Ñ\82Ñ\83йÑ\82е Ñ\82а Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83йÑ\82е Ð½ÐµÐ¾Ð±Ñ\85Ñ\96дний ÐºÐ¾Ð´.
\86накÑ\88е ÐºÐ°Ð¶Ñ\83Ñ\87и, Ð²Ð¾Ð½Ð¸ Ð½Ðµ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бнÑ\96 â\80\94 Ñ\96мпоÑ\80Ñ\82Ñ\83йÑ\82е Ñ\82а Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83йÑ\82е ÐºÐ¾Ð´, Ñ\8fкий Ð²Ð°Ð¼ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бен.
 
-Будь-яка інтеграція спроєктована настільки просто (з використанням залежностей), що ви можете створити "плагін" для свого застосунку всього у 2 рядках коду, використовуючи ту саму структуру та синтаксис, що й для ваших *операцій шляху*.
+Будь-яка інтеграція спроєктована так, щоб її було дуже просто використовувати (із залежностями), тож ви можете створити «плагін» для свого застосунку у 2 рядках коду, використовуючи ту саму структуру та синтаксис, що й для ваших *операцій шляху*.
 
-### Протестовано
+### Протестовано { #tested }
 
 * 100% <abbr title="Обсяг коду, що автоматично тестується">покриття тестами</abbr>.
 * 100% <abbr title="Анотації типів у Python, завдяки яким ваш редактор і зовнішні інструменти можуть надавати кращу підтримку">анотована типами</abbr> кодова база.
-* Використовується у робочих середовищах.
+* Використовується в production-застосунках.
 
-## Можливості Starlette
+## Можливості Starlette { #starlette-features }
 
 **FastAPI** повністю сумісний із (та побудований на основі) <a href="https://www.starlette.dev/" class="external-link" target="_blank"><strong>Starlette</strong></a>. Тому будь-який додатковий код Starlette, який ви маєте, також працюватиме.
 
-**FastAPI** фактично є підкласом **Starlette**. Тому, якщо ви вже знайомі зі Starlette або використовуєте його, більшість функціональності працюватиме так само.
+`FastAPI` фактично є підкласом `Starlette`. Тому, якщо ви вже знайомі зі Starlette або використовуєте його, більшість функціональності працюватиме так само.
 
-З **FastAPI** ви отримуєте всі можливості **Starlette** (адже FastAPI — це, по суті, Starlette на стероїдах):
+З **FastAPI** ви отримуєте всі можливості **Starlette** (адже FastAPI — це просто Starlette на стероїдах):
 
-* Разюча продуктивність. Це <a href="https://github.com/encode/starlette#performance" class="external-link" target="_blank">один із найшвидших фреймворків на Python</a>, на рівні з **NodeJS** і **Go**.
+* Разюча продуктивність. Це <a href="https://github.com/encode/starlette#performance" class="external-link" target="_blank">один із найшвидших доступних Python-фреймворків, на рівні з **NodeJS** і **Go**</a>.
 * Підтримка **WebSocket**.
 * Фонові задачі у процесі.
 * Події запуску та завершення роботи.
@@ -163,27 +175,27 @@ FastAPI має розумні налаштування **за замовчува
 * 100% покриття тестами.
 * 100% анотована типами кодова база.
 
-## Можливості Pydantic
+## Можливості Pydantic { #pydantic-features }
 
 **FastAPI** повністю сумісний із (та побудований на основі) <a href="https://docs.pydantic.dev/" class="external-link" target="_blank"><strong>Pydantic</strong></a>. Тому будь-який додатковий код Pydantic, який ви маєте, також працюватиме.
 
\92клÑ\8eÑ\87аÑ\8eÑ\87и Ð·Ð¾Ð²Ð½Ñ\96Ñ\88нÑ\96 Ð±Ñ\96блÑ\96оÑ\82еки, Ð¿Ð¾Ð±Ñ\83дованÑ\96 Ñ\82акож Ð½Ð° Pydantic, Ñ\82акÑ\96 Ñ\8fк <abbr title="Object-Relational Mapper">ORM</abbr>, <abbr title="Object-Document Mapper">ODM</abbr> для баз даних.
\92клÑ\8eÑ\87но Ñ\96з Ð·Ð¾Ð²Ð½Ñ\96Ñ\88нÑ\96ми Ð±Ñ\96блÑ\96оÑ\82еками, Ñ\8fкÑ\96 Ñ\82акож Ð±Ð°Ð·Ñ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð½Ð° Pydantic, Ñ\8fк-оÑ\82 <abbr title="Object-Relational Mapper - Ð\9eб'Ñ\94кÑ\82но-Ñ\80елÑ\8fÑ\86Ñ\96йний Ð²Ñ\96добÑ\80ажÑ\83ваÑ\87">ORM</abbr>-и, <abbr title="Object-Document Mapper - Ð\9eб'Ñ\94кÑ\82но-докÑ\83менÑ\82ний Ð²Ñ\96добÑ\80ажÑ\83ваÑ\87">ODM</abbr>-и для баз даних.
 
-Це також означає, що в багатьох випадках ви можете передати той самий об'єкт, який отримуєте з запиту, **безпосередньо в базу даних**, оскільки все автоматично перевіряється.
+Це також означає, що в багатьох випадках ви можете передати той самий об'єкт, який отримуєте із запиту, **безпосередньо в базу даних**, оскільки все автоматично перевіряється.
 
-Те ж саме відбувається й у зворотному напрямку — у багатьох випадках ви можете просто передати об'єкт, який отримуєте з бази даних, **безпосередньо клієнту**.
+Те саме застосовується й у зворотному напрямку — у багатьох випадках ви можете просто передати об'єкт, який отримуєте з бази даних, **безпосередньо клієнту**.
 
 З **FastAPI** ви отримуєте всі можливості **Pydantic** (адже FastAPI базується на Pydantic для обробки всіх даних):
 
-* **Ніякої плутанини** :
-    * Не потрібно вчити нову мову для визначення схем.
+* **Ніякої плутанини**:
+    * Не потрібно вчити нову мікромову для визначення схем.
     * Якщо ви знаєте типи Python, ви знаєте, як використовувати Pydantic.
-* Легко працює з вашим **<abbr title="Інтегроване середовище розробки, схоже на редактор коду">IDE</abbr>/<abbr title="Програма, яка перевіряє помилки в коді">лінтером</abbr>/мозком**:
-    * Оскільки структури даних Pydantic є просто екземплярами класів, які ви визначаєте; автодоповнення, лінтинг, mypy і ваша інтуїція повинні добре працювати з вашими перевіреними даними.
-* Валідація **складних структур**:
-    * Використання ієрархічних моделей Pydantic. Python `typing`, `List` і `Dict` тощо.
-    * Ð\92алÑ\96даÑ\82оÑ\80и Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\8fÑ\8eÑ\82Ñ\8c Ñ\87Ñ\96Ñ\82ко Ñ\96 Ð¿Ñ\80оÑ\81Ñ\82о Ð²Ð¸Ð·Ð½Ð°Ñ\87аÑ\82и, Ð¿ÐµÑ\80евÑ\96Ñ\80Ñ\8fÑ\82и Ð¹ Ð´Ð¾ÐºÑ\83менÑ\82Ñ\83ваÑ\82и Ñ\81кладнÑ\96 Ñ\81Ñ\85еми Ð´Ð°Ð½Ð¸Ñ\85 Ñ\83 Ð²Ð¸Ð³Ð»Ñ\8fдÑ\96 JSON-Ñ\81Ñ\85еми.
-    * Ви можете мати глибоко **вкладені JSON об'єкти** та перевірити та анотувати їх всі.
+* Легко працює з вашим **<abbr title="Integrated Development Environment - Інтегроване середовище розробки: схоже на код-редактор">IDE</abbr>/<abbr title="Програма, що перевіряє код на помилки">linter</abbr>/мозком**:
+    * Оскільки структури даних pydantic є просто екземплярами класів, які ви визначаєте; автодоповнення, лінтинг, mypy і ваша інтуїція повинні добре працювати з вашими перевіреними даними.
+* Валідує **складні структури**:
+    * Використання ієрархічних моделей Pydantic, Python `typing`’s `List` і `Dict` тощо.
+    * Ð\92алÑ\96даÑ\82оÑ\80и Ð´Ð°Ñ\8eÑ\82Ñ\8c Ð·Ð¼Ð¾Ð³Ñ\83 Ñ\81кладнÑ\96 Ñ\81Ñ\85еми Ð´Ð°Ð½Ð¸Ñ\85 Ñ\87Ñ\96Ñ\82ко Ð¹ Ð¿Ñ\80оÑ\81Ñ\82о Ð²Ð¸Ð·Ð½Ð°Ñ\87аÑ\82и, Ð¿ÐµÑ\80евÑ\96Ñ\80Ñ\8fÑ\82и Ð¹ Ð´Ð¾ÐºÑ\83менÑ\82Ñ\83ваÑ\82и Ñ\8fк JSON Schema.
+    * Ви можете мати глибоко **вкладені JSON** об'єкти, і всі вони будуть валідовані та анотовані.
 * **Розширюваність**:
-    * Pydantic дозволяє визначати користувацькі типи даних або розширювати валідацію методами в моделі декоратором `validator`.
+    * Pydantic дозволяє визначати користувацькі типи даних або ви можете розширити валідацію методами в моделі, позначеними декоратором validator.
 * 100% покриття тестами.