From 93fa0185798004cee1e5e7329c2adfc71a2d9895 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Sun, 21 Jul 2024 22:53:22 +0400
Subject: [PATCH 01/27] Initialize translation
---
docs/en/mkdocs.yml | 2 +
docs/ka/docs/index.md | 502 ++++++++++++++++++++++++++++++++++++++++++
docs/ka/mkdocs.yml | 1 +
3 files changed, 505 insertions(+)
create mode 100644 docs/ka/docs/index.md
create mode 100644 docs/ka/mkdocs.yml
diff --git a/docs/en/mkdocs.yml b/docs/en/mkdocs.yml
index 05dffb706..44e93b4a2 100644
--- a/docs/en/mkdocs.yml
+++ b/docs/en/mkdocs.yml
@@ -295,6 +295,8 @@ extra:
name: it - italiano
- link: /ja/
name: ja - 日本語
+ - link: /ka/
+ name: ka - ქართული
- link: /ko/
name: ko - 한국어
- link: /pl/
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
new file mode 100644
index 000000000..55d9a41a1
--- /dev/null
+++ b/docs/ka/docs/index.md
@@ -0,0 +1,502 @@
+
+{!../../../docs/missing-translation.md!}
+
+
+---
+hide:
+ - navigation
+---
+
+
+
+
+
+
+
+ FastAPI framework, high performance, easy to learn, fast to code, ready for production
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+---
+
+**Documentation**: https://fastapi.tiangolo.com
+
+**Source Code**: https://github.com/tiangolo/fastapi
+
+---
+
+FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints.
+
+The key features are:
+
+* **Fast**: Very high performance, on par with **NodeJS** and **Go** (thanks to Starlette and Pydantic). [One of the fastest Python frameworks available](#performance).
+* **Fast to code**: Increase the speed to develop features by about 200% to 300%. *
+* **Fewer bugs**: Reduce about 40% of human (developer) induced errors. *
+* **Intuitive**: Great editor support. Completion everywhere. Less time debugging.
+* **Easy**: Designed to be easy to use and learn. Less time reading docs.
+* **Short**: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.
+* **Robust**: Get production-ready code. With automatic interactive documentation.
+* **Standards-based**: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.
+
+* estimation based on tests on an internal development team, building production applications.
+
+## Sponsors
+
+
+
+{% if sponsors %}
+{% for sponsor in sponsors.gold -%}
+
+{% endfor -%}
+{%- for sponsor in sponsors.silver -%}
+
+{% endfor %}
+{% endif %}
+
+
+
+Other sponsors
+
+## Opinions
+
+"_[...] I'm using **FastAPI** a ton these days. [...] I'm actually planning to use it for all of my team's **ML services at Microsoft**. Some of them are getting integrated into the core **Windows** product and some **Office** products._"
+
+Kabir Khan -
Microsoft (ref)
+
+---
+
+"_We adopted the **FastAPI** library to spawn a **REST** server that can be queried to obtain **predictions**. [for Ludwig]_"
+
+Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
+
+---
+
+"_**Netflix** is pleased to announce the open-source release of our **crisis management** orchestration framework: **Dispatch**! [built with **FastAPI**]_"
+
+Kevin Glisson, Marc Vilanova, Forest Monsen -
Netflix (ref)
+
+---
+
+"_I’m over the moon excited about **FastAPI**. It’s so fun!_"
+
+
+
+---
+
+"_Honestly, what you've built looks super solid and polished. In many ways, it's what I wanted **Hug** to be - it's really inspiring to see someone build that._"
+
+
+
+---
+
+"_If you're looking to learn one **modern framework** for building REST APIs, check out **FastAPI** [...] It's fast, easy to use and easy to learn [...]_"
+
+"_We've switched over to **FastAPI** for our **APIs** [...] I think you'll like it [...]_"
+
+
+
+---
+
+"_If anyone is looking to build a production Python API, I would highly recommend **FastAPI**. It is **beautifully designed**, **simple to use** and **highly scalable**, it has become a **key component** in our API first development strategy and is driving many automations and services such as our Virtual TAC Engineer._"
+
+Deon Pillsbury -
Cisco (ref)
+
+---
+
+## **Typer**, the FastAPI of CLIs
+
+
+
+If you are building a CLI app to be used in the terminal instead of a web API, check out **Typer**.
+
+**Typer** is FastAPI's little sibling. And it's intended to be the **FastAPI of CLIs**. ⌨️ 🚀
+
+## Requirements
+
+FastAPI stands on the shoulders of giants:
+
+* Starlette for the web parts.
+* Pydantic for the data parts.
+
+## Installation
+
+
+
+```console
+$ pip install fastapi
+
+---> 100%
+```
+
+
+
+## Example
+
+### Create it
+
+* Create a file `main.py` with:
+
+```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}
+```
+
+
+Or use async def
...
+
+If your code uses `async` / `await`, use `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}
+```
+
+**Note**:
+
+If you don't know, check the _"In a hurry?"_ section about `async` and `await` in the docs.
+
+
+
+### Run it
+
+Run the server with:
+
+
+
+```console
+$ fastapi dev main.py
+
+ ╭────────── FastAPI CLI - Development mode ───────────╮
+ │ │
+ │ Serving at: http://127.0.0.1:8000 │
+ │ │
+ │ API docs: http://127.0.0.1:8000/docs │
+ │ │
+ │ Running in development mode, for production use: │
+ │ │
+ │ fastapi run │
+ │ │
+ ╰─────────────────────────────────────────────────────╯
+
+INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp']
+INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+INFO: Started reloader process [2248755] using WatchFiles
+INFO: Started server process [2248757]
+INFO: Waiting for application startup.
+INFO: Application startup complete.
+```
+
+
+
+
+About the command fastapi dev main.py
...
+
+The command `fastapi dev` reads your `main.py` file, detects the **FastAPI** app in it, and starts a server using Uvicorn.
+
+By default, `fastapi dev` will start with auto-reload enabled for local development.
+
+You can read more about it in the FastAPI CLI docs.
+
+
+
+### Check it
+
+Open your browser at http://127.0.0.1:8000/items/5?q=somequery.
+
+You will see the JSON response as:
+
+```JSON
+{"item_id": 5, "q": "somequery"}
+```
+
+You already created an API that:
+
+* Receives HTTP requests in the _paths_ `/` and `/items/{item_id}`.
+* Both _paths_ take `GET` operations (also known as HTTP _methods_).
+* The _path_ `/items/{item_id}` has a _path parameter_ `item_id` that should be an `int`.
+* The _path_ `/items/{item_id}` has an optional `str` _query parameter_ `q`.
+
+### Interactive API docs
+
+Now go to http://127.0.0.1:8000/docs.
+
+You will see the automatic interactive API documentation (provided by Swagger UI):
+
+
+
+### Alternative API docs
+
+And now, go to http://127.0.0.1:8000/redoc.
+
+You will see the alternative automatic documentation (provided by ReDoc):
+
+
+
+## Example upgrade
+
+Now modify the file `main.py` to receive a body from a `PUT` request.
+
+Declare the body using standard Python types, thanks to 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}
+```
+
+The `fastapi dev` server should reload automatically.
+
+### Interactive API docs upgrade
+
+Now go to http://127.0.0.1:8000/docs.
+
+* The interactive API documentation will be automatically updated, including the new body:
+
+
+
+* Click on the button "Try it out", it allows you to fill the parameters and directly interact with the API:
+
+
+
+* Then click on the "Execute" button, the user interface will communicate with your API, send the parameters, get the results and show them on the screen:
+
+
+
+### Alternative API docs upgrade
+
+And now, go to http://127.0.0.1:8000/redoc.
+
+* The alternative documentation will also reflect the new query parameter and body:
+
+
+
+### Recap
+
+In summary, you declare **once** the types of parameters, body, etc. as function parameters.
+
+You do that with standard modern Python types.
+
+You don't have to learn a new syntax, the methods or classes of a specific library, etc.
+
+Just standard **Python**.
+
+For example, for an `int`:
+
+```Python
+item_id: int
+```
+
+or for a more complex `Item` model:
+
+```Python
+item: Item
+```
+
+...and with that single declaration you get:
+
+* Editor support, including:
+ * Completion.
+ * Type checks.
+* Validation of data:
+ * Automatic and clear errors when the data is invalid.
+ * Validation even for deeply nested JSON objects.
+* Conversion of input data: coming from the network to Python data and types. Reading from:
+ * JSON.
+ * Path parameters.
+ * Query parameters.
+ * Cookies.
+ * Headers.
+ * Forms.
+ * Files.
+* Conversion of output data: converting from Python data and types to network data (as JSON):
+ * Convert Python types (`str`, `int`, `float`, `bool`, `list`, etc).
+ * `datetime` objects.
+ * `UUID` objects.
+ * Database models.
+ * ...and many more.
+* Automatic interactive API documentation, including 2 alternative user interfaces:
+ * Swagger UI.
+ * ReDoc.
+
+---
+
+Coming back to the previous code example, **FastAPI** will:
+
+* Validate that there is an `item_id` in the path for `GET` and `PUT` requests.
+* Validate that the `item_id` is of type `int` for `GET` and `PUT` requests.
+ * If it is not, the client will see a useful, clear error.
+* Check if there is an optional query parameter named `q` (as in `http://127.0.0.1:8000/items/foo?q=somequery`) for `GET` requests.
+ * As the `q` parameter is declared with `= None`, it is optional.
+ * Without the `None` it would be required (as is the body in the case with `PUT`).
+* For `PUT` requests to `/items/{item_id}`, Read the body as JSON:
+ * Check that it has a required attribute `name` that should be a `str`.
+ * Check that it has a required attribute `price` that has to be a `float`.
+ * Check that it has an optional attribute `is_offer`, that should be a `bool`, if present.
+ * All this would also work for deeply nested JSON objects.
+* Convert from and to JSON automatically.
+* Document everything with OpenAPI, that can be used by:
+ * Interactive documentation systems.
+ * Automatic client code generation systems, for many languages.
+* Provide 2 interactive documentation web interfaces directly.
+
+---
+
+We just scratched the surface, but you already get the idea of how it all works.
+
+Try changing the line with:
+
+```Python
+ return {"item_name": item.name, "item_id": item_id}
+```
+
+...from:
+
+```Python
+ ... "item_name": item.name ...
+```
+
+...to:
+
+```Python
+ ... "item_price": item.price ...
+```
+
+...and see how your editor will auto-complete the attributes and know their types:
+
+
+
+For a more complete example including more features, see the Tutorial - User Guide.
+
+**Spoiler alert**: the tutorial - user guide includes:
+
+* Declaration of **parameters** from other different places as: **headers**, **cookies**, **form fields** and **files**.
+* How to set **validation constraints** as `maximum_length` or `regex`.
+* A very powerful and easy to use **Dependency Injection** system.
+* Security and authentication, including support for **OAuth2** with **JWT tokens** and **HTTP Basic** auth.
+* More advanced (but equally easy) techniques for declaring **deeply nested JSON models** (thanks to Pydantic).
+* **GraphQL** integration with Strawberry and other libraries.
+* Many extra features (thanks to Starlette) as:
+ * **WebSockets**
+ * extremely easy tests based on HTTPX and `pytest`
+ * **CORS**
+ * **Cookie Sessions**
+ * ...and more.
+
+## Performance
+
+Independent TechEmpower benchmarks show **FastAPI** applications running under Uvicorn as one of the fastest Python frameworks available, only below Starlette and Uvicorn themselves (used internally by FastAPI). (*)
+
+To understand more about it, see the section Benchmarks.
+
+## Dependencies
+
+Used by Pydantic:
+
+* email_validator
- for email validation.
+* pydantic-settings
- for settings management.
+* pydantic-extra-types
- for extra types to be used with Pydantic.
+
+Used by Starlette:
+
+* httpx
- Required if you want to use the `TestClient`.
+* jinja2
- Required if you want to use the default template configuration.
+* python-multipart
- Required if you want to support form "parsing", with `request.form()`.
+
+Used by FastAPI / Starlette:
+
+* uvicorn
- for the server that loads and serves your application.
+* `fastapi-cli` - to provide the `fastapi` command.
+
+When you install `fastapi` it comes these standard dependencies.
+
+Additional optional dependencies:
+
+* orjson
- Required if you want to use `ORJSONResponse`.
+* ujson
- Required if you want to use `UJSONResponse`.
+
+## `fastapi-slim`
+
+If you don't want the extra standard optional dependencies, install `fastapi-slim` instead.
+
+When you install with:
+
+```bash
+pip install fastapi
+```
+
+...it includes the same code and dependencies as:
+
+```bash
+pip install "fastapi-slim[standard]"
+```
+
+The standard extra dependencies are the ones mentioned above.
+
+## License
+
+This project is licensed under the terms of the MIT license.
diff --git a/docs/ka/mkdocs.yml b/docs/ka/mkdocs.yml
new file mode 100644
index 000000000..de18856f4
--- /dev/null
+++ b/docs/ka/mkdocs.yml
@@ -0,0 +1 @@
+INHERIT: ../en/mkdocs.yml
From e08ed4d8e2c03810586bf5350f6501ca81cb5deb Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Sun, 21 Jul 2024 23:19:52 +0400
Subject: [PATCH 02/27] Translate 1st paragraph (intro/overview)
---
docs/ka/docs/index.md | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 55d9a41a1..344663d4b 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -1,7 +1,3 @@
-
-{!../../../docs/missing-translation.md!}
-
-
---
hide:
- navigation
@@ -15,7 +11,7 @@ hide:
- FastAPI framework, high performance, easy to learn, fast to code, ready for production
+ FastAPI ფრეიმვორქი, მაღალი წარმადობა, ასათვისებლად მარტივი, ეფექტური, წარმოებაში ჩაშვებისათვის გამზადებული
@@ -34,26 +30,37 @@ hide:
---
-**Documentation**: https://fastapi.tiangolo.com
+**დოკუმენტაცია**: https://fastapi.tiangolo.com
-**Source Code**: https://github.com/tiangolo/fastapi
+**პროგრამული კოდი**: https://github.com/tiangolo/fastapi
---
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints.
+FastAPI არის თანამედროვე, სწრაფი (მაღალი წარმადობის მქონე), Python-ზე დაფუძნებული ვებფრეიმვორქი, რომელიც იყენებს Python-ის სტანდარტულ ტიპთა ინდიკატორებს და საშუალებას გვაძლევს შევქმნათ API-ები.
The key features are:
+ძირითადი მახასიათებლები გახლავთ:
* **Fast**: Very high performance, on par with **NodeJS** and **Go** (thanks to Starlette and Pydantic). [One of the fastest Python frameworks available](#performance).
+* **სისწრაფე**: აქვს ძალიან მაღალი წარმადობა, როგორც **NodeJS**-სა და **Go**-ს (მადლობა Starlette-სა და Pydantic-ს). [ერთ-ერთი უსწრაფესი ფრეიმვორქია Python-ის არსებულ ფრეიმვორქებს შორის](#performance).
* **Fast to code**: Increase the speed to develop features by about 200% to 300%. *
+* **ეფექტურობა**: დეველოპმენტის პროცესს აჩქარებს დაახლოებით 200-300 პროცენტით. *
* **Fewer bugs**: Reduce about 40% of human (developer) induced errors. *
+* **ნაკლები პროგრამული ხარვეზი**: ადამიანის (დეველოპერის) მიერ გამოწვეული ხარვეზების ალბათობას ამცირებს დაახლოებით 40 პროცენტით. *
* **Intuitive**: Great editor support. Completion everywhere. Less time debugging.
+* **ინტუიციურობა**: შესანიშნავი თავსებადობა ტექსტურ რედაქტორებთან. კოდის ავტოდასრულების ფუნქციონალი ხელმისაწვდომია ყველგან. ნაკლებ დროს დახარჯავთ ხარვეზების აღმოფხვრაში.
* **Easy**: Designed to be easy to use and learn. Less time reading docs.
+* **სიმარტივე**: ტექნოლოგია შემუშავებულია იმგვარად, რომ მარტივად გამოსაყენებელი და ასათვისებელი იყოს. დოკუმენტაციის კითხვაში ნაკლებ დროს დახარჯავთ.
* **Short**: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.
+* **კომპაქტური**: კოდის დუბლიკაციის საჭიროება მინიმუმამდეა დაყვანილი. თითოეული პარამეტრის განსაზღვრით აქტიურდება მრავალი ფუნქციონალი. პროგრამული ხარვეზების წარმოქმნის ალბათობა მინიმუმამდეა დაყვანილი.
* **Robust**: Get production-ready code. With automatic interactive documentation.
+* **მდგრადობა**: მიიღებთ წარმოებაში ჩაშვებისათვის გამზადებულ კოდს. ამას გარდა, მიიღებთ ავტომატურად გენერირებულ ინტერაქციულ დოკუმენტაციას.
* **Standards-based**: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.
+* **სტანდარტებზე დაფუძნებულობა**: დაფუძნებულია (და სრულად თავსებადია) API-ებისთვის განსაზღვრულ ღია სტანდარტებზე: OpenAPI (ადრე ცნობილი იყო, როგორც Swagger) და JSON Schema.
* estimation based on tests on an internal development team, building production applications.
+* ზემოთ მოცემული შეფასებები ეფუძნება შიდა დეველოპმენტის გუნდის ტესტებს, რომლებიც მუშაობენ წარმოებაში მყოფ (რეალურ) აპლიკაციებზე.
## Sponsors
From 9d7d521084970d86b7db9b4582ea0f9729a6656d Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Sun, 21 Jul 2024 23:21:15 +0400
Subject: [PATCH 03/27] Translate 2nd paragraph (sponsors)
---
docs/ka/docs/index.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 344663d4b..9c5f0d154 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -63,6 +63,7 @@ The key features are:
* ზემოთ მოცემული შეფასებები ეფუძნება შიდა დეველოპმენტის გუნდის ტესტებს, რომლებიც მუშაობენ წარმოებაში მყოფ (რეალურ) აპლიკაციებზე.
## Sponsors
+## სპონსორები
@@ -78,6 +79,7 @@ The key features are:
Other sponsors
+სხვა სპონსორები
## Opinions
From 765116e2071101c42c69f225384bc46b07c0d5dd Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Sun, 21 Jul 2024 23:38:19 +0400
Subject: [PATCH 04/27] Start translating 3rd section: Opinions
---
docs/ka/docs/index.md | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 9c5f0d154..0876e9b46 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -82,13 +82,24 @@ The key features are:
სხვა სპონსორები
## Opinions
+## მოსაზრებები
"_[...] I'm using **FastAPI** a ton these days. [...] I'm actually planning to use it for all of my team's **ML services at Microsoft**. Some of them are getting integrated into the core **Windows** product and some **Office** products._"
Kabir Khan -
Microsoft (ref)
---
+"_[...] ბოლო დროს, **FastAPI**-ს ძალიან ხშირად ვიყენებ. [...] სინამდვილეში, მის გამოყენებას ვგეგმავ ჩემი გუნდის ყველა **ML სერვისისათვის Microsoft-ში**. ზოგიერთი მათგანი ინტეგრირებულია Windows-ის ძირითად და **Office**-ის ზოგიერთ პროდუქტებში._"
+Kabir Khan -
Microsoft (ref)
+
+---
+
+"_We adopted the **FastAPI** library to spawn a **REST** server that can be queried to obtain **predictions**. [for Ludwig]_"
+
+Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
+
+---
"_We adopted the **FastAPI** library to spawn a **REST** server that can be queried to obtain **predictions**. [for Ludwig]_"
Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
From be635ffb15434d49145f518a73cf48b8d21b40e8 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Sun, 21 Jul 2024 23:39:50 +0400
Subject: [PATCH 05/27] Do not translate opinion contents
---
docs/ka/docs/index.md | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 0876e9b46..218d38dd1 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -89,17 +89,7 @@ The key features are:
Kabir Khan -
Microsoft (ref)
---
-"_[...] ბოლო დროს, **FastAPI**-ს ძალიან ხშირად ვიყენებ. [...] სინამდვილეში, მის გამოყენებას ვგეგმავ ჩემი გუნდის ყველა **ML სერვისისათვის Microsoft-ში**. ზოგიერთი მათგანი ინტეგრირებულია Windows-ის ძირითად და **Office**-ის ზოგიერთ პროდუქტებში._"
-Kabir Khan -
Microsoft (ref)
-
----
-
-"_We adopted the **FastAPI** library to spawn a **REST** server that can be queried to obtain **predictions**. [for Ludwig]_"
-
-Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
-
----
"_We adopted the **FastAPI** library to spawn a **REST** server that can be queried to obtain **predictions**. [for Ludwig]_"
Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
From df8652b7642d0dc88815351676cdee398e7f5b1a Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Sun, 21 Jul 2024 23:49:36 +0400
Subject: [PATCH 06/27] Translate Typer section
---
docs/ka/docs/index.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 218d38dd1..c58316110 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -129,12 +129,15 @@ The key features are:
---
## **Typer**, the FastAPI of CLIs
+## **Typer**: ბრძანებათა სტრიქონების FastAPI
If you are building a CLI app to be used in the terminal instead of a web API, check out **Typer**.
+თუკი მუშაობთ CLI აპლიკაციაზე, რომელიც გამოყენებულ იქნება ტერმინალში, - ნაცვლად ვებ API-ისა, გადახედეთ **Typer**-ს.
**Typer** is FastAPI's little sibling. And it's intended to be the **FastAPI of CLIs**. ⌨️ 🚀
+**Typer** არის FastAPI-ის პატარა ძამიკო. და ჩაფიქრებულია, რომ იგი იყოს **CLI-ების FastAPI**. ⌨️ 🚀
## Requirements
From 444c1fecc70460a3b5d0b881b347d916e8c26ad4 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Sun, 21 Jul 2024 23:56:54 +0400
Subject: [PATCH 07/27] Translate Requirements part
---
docs/ka/docs/index.md | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index c58316110..f3b1e34af 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -134,17 +134,21 @@ The key features are:
If you are building a CLI app to be used in the terminal instead of a web API, check out **Typer**.
-თუკი მუშაობთ CLI აპლიკაციაზე, რომელიც გამოყენებულ იქნება ტერმინალში, - ნაცვლად ვებ API-ისა, გადახედეთ **Typer**-ს.
+თუკი მუშაობთ CLI აპლიკაციაზე, რომელიც გამოყენებულ იქნება ტერმინალში, - ნაცვლად ვებ API-ისა, თვალი შეავლეთ **Typer**-ს.
**Typer** is FastAPI's little sibling. And it's intended to be the **FastAPI of CLIs**. ⌨️ 🚀
**Typer** არის FastAPI-ის პატარა ძამიკო. და ჩაფიქრებულია, რომ იგი იყოს **CLI-ების FastAPI**. ⌨️ 🚀
## Requirements
+## მოთხოვნები
FastAPI stands on the shoulders of giants:
+FastAPI მხრებზე შემოსდგომია შემდეგ გიგანტებს:
* Starlette for the web parts.
+* Starlette-ს ვებთან დაკავშირებულ საკითხებში.
* Pydantic for the data parts.
+* Pydantic-ს მონაცემებთან დაკავშირებულ საკითხებში.
## Installation
From 57ec5749e05bd8d646c5f758cca1c00527b42379 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Sun, 21 Jul 2024 23:59:57 +0400
Subject: [PATCH 08/27] Translate installation part
---
docs/ka/docs/index.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index f3b1e34af..9c74e4aae 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -151,6 +151,7 @@ FastAPI მხრებზე შემოსდგომია შემდე
* Pydantic-ს მონაცემებთან დაკავშირებულ საკითხებში.
## Installation
+## ინსტალაცია
From 37ea714910fbc977e84303b62888d233c26feeac Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Mon, 22 Jul 2024 00:22:02 +0400
Subject: [PATCH 09/27] Partially translate the Example section. Start
tranlating 'Run it' section
---
docs/ka/docs/index.md | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 9c74e4aae..33b3c0c01 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -164,10 +164,13 @@ $ pip install fastapi
## Example
+## მაგალითი
### Create it
+### შევქმნათ
* Create a file `main.py` with:
+* შექმენით `main.py` ფაილი შემდეგი შიგთავსით:
```Python
from typing import Union
@@ -189,8 +192,10 @@ def read_item(item_id: int, q: Union[str, None] = None):
Or use async def
...
+ან გამოიყენეთ async def
...
If your code uses `async` / `await`, use `async def`:
+თუკი თქვენი კოდი იყენებს `async` / `await`-ს, გამოიყენეთ `async def`:
```Python hl_lines="9 14"
from typing import Union
@@ -211,14 +216,18 @@ async def read_item(item_id: int, q: Union[str, None] = None):
```
**Note**:
+**შენიშვნა**:
If you don't know, check the _"In a hurry?"_ section about `async` and `await` in the docs.
+თუკი ჯერ არ ერკვევით აღნიშნულ საკითხში, `async`-ისა და `await`-ის შესახებ დოკუმენტაციაში თვალი გადაავლეთ განყოფილებას _„გეჩქარებათ?“_.
### Run it
+### გავუშვათ
Run the server with:
+გაუშვით სერვერი შემდეგი ბრძანებით:
From d479213eb23d9cd532a673f855c97415c9354c71 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Thu, 25 Jul 2024 16:13:17 +0400
Subject: [PATCH 10/27] Translate Run it paragraph
---
docs/ka/docs/index.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 33b3c0c01..21fcf3471 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -258,12 +258,16 @@ INFO: Application startup complete.
About the command fastapi dev main.py
...
+fastapi dev main.py
ბრძანების შესახებ...
The command `fastapi dev` reads your `main.py` file, detects the **FastAPI** app in it, and starts a server using Uvicorn.
+`fastapi dev` ბრძანება კითხულობს თქვენს `main.py` ფაილს, მასში **FastAPI** აპლიკაციას აიდენტიფიცირებს და Uvicorn-ის გამოყენებით უშვებს სერვერს.
By default, `fastapi dev` will start with auto-reload enabled for local development.
+ნაგულისხმევად, ლოკალური დეველოპმენტისთვის, `fastapi dev` ბრძანებით გაშვებული სერვერისათვის აქტივირებული იქნება ავტომატური გადატვირთვის ფუნქცია.
You can read more about it in the FastAPI CLI docs.
+ამ საკითხზე დეტალური ინფორმაცია შეგიძლიათ წაიკითხოთ FastAPI CLI-ის დოკუმენტაციაში.
From 7e7796a5bb8aba14739ade747f62069372163892 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Thu, 25 Jul 2024 16:24:13 +0400
Subject: [PATCH 11/27] Translate Check it section
---
docs/ka/docs/index.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 21fcf3471..e2f349480 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -272,21 +272,29 @@ You can read more about it in the http://127.0.0.1:8000/items/5?q=somequery.
+თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/items/5?q=somequery.
You will see the JSON response as:
+დაინახავთ შემდეგნაირ JSON ტიპის მონაცემს:
```JSON
{"item_id": 5, "q": "somequery"}
```
You already created an API that:
+ამგვარად, თქვენ უკვე შექმენით API, რომელიც:
* Receives HTTP requests in the _paths_ `/` and `/items/{item_id}`.
+* იღებს HTTP მოთხოვნებს შემდეგ _მისამართებზე_: `/` და `/items/{item_id}`.
* Both _paths_ take `GET` operations (also known as HTTP _methods_).
+* ორივე მისამართი ამუშავებს `GET` ოპერაციას (ასევე ცნობილს, როგორც HTTP _მეთოდი_).
* The _path_ `/items/{item_id}` has a _path parameter_ `item_id` that should be an `int`.
+* `/items/{item_id}` მისამართს გააჩნია _მარშრუტის პარამეტრი_ `item_id`, რომელიც უნდა იყოს მთელი რიცხვის (`int`) ტიპის.
* The _path_ `/items/{item_id}` has an optional `str` _query parameter_ `q`.
+* `/items/{item_id}` მისამართს გააჩნია არასავალდებულო სტრიქონის (`str`) ტიპის _საძიებო (query) პარამეტრი_ `q`.
### Interactive API docs
From c6308f63b4af906b901ad0602e1bd1ca5844359a Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Thu, 25 Jul 2024 17:41:28 +0400
Subject: [PATCH 12/27] Translate Interactive API docs section
---
docs/ka/docs/index.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index e2f349480..a2a4ac95e 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -297,10 +297,13 @@ You already created an API that:
* `/items/{item_id}` მისამართს გააჩნია არასავალდებულო სტრიქონის (`str`) ტიპის _საძიებო (query) პარამეტრი_ `q`.
### Interactive API docs
+### ინტერაქციული API-დოკუმენტაცია
Now go to http://127.0.0.1:8000/docs.
+ახლა კი, თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/docs.
You will see the automatic interactive API documentation (provided by Swagger UI):
+დაინახავთ ავტომატურად გენერირებულ ინტერაქციულ API-დოკუმენტაციას (რომელიც უზრუნველყოფილია Swagger UI-ის მიერ):

From 9a47a6378a20795b2c6fa39a0424f3ac5ec06bcd Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Thu, 25 Jul 2024 17:46:10 +0400
Subject: [PATCH 13/27] Translate Alternative API docs section
---
docs/ka/docs/index.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index a2a4ac95e..987bc8917 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -308,10 +308,13 @@ You will see the automatic interactive API documentation (provided by http://127.0.0.1:8000/redoc.
+თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
You will see the alternative automatic documentation (provided by ReDoc):
+დაინახავთ ალტერნატიულ ავტომატურად გენერირებულ დოკუმენტაციას (რომელიც უზრუნველყოფილია ReDoc-ის მიერ):

From d8f2906a8981c6744f9affb1c30779fc6da519d4 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Thu, 25 Jul 2024 17:57:49 +0400
Subject: [PATCH 14/27] Translate Example upgrade section
---
docs/ka/docs/index.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 987bc8917..ad2b8ee0d 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -319,10 +319,13 @@ You will see the alternative automatic documentation (provided by
Date: Thu, 25 Jul 2024 20:43:23 +0400
Subject: [PATCH 15/27] Translate Interactive API docs upgrade section
---
docs/ka/docs/index.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index ad2b8ee0d..d53aba812 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -361,18 +361,24 @@ The `fastapi dev` server should reload automatically.
ცვლილებების შენახვის შემდეგ, `fastapi dev` ბრძანებით გაშვებული სერვერი, წესით და რიგით, ავტომატურად გადაიტვირთება.
### Interactive API docs upgrade
+### გავაუმჯობესოთ ინტერაქციული API-დოკუმენტაცია
Now go to http://127.0.0.1:8000/docs.
+თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/docs.
+
* The interactive API documentation will be automatically updated, including the new body:
+* ინტერაქციული API-დოკუმენტაცია, ახლად დამატებული პროტოტიპის ჩათვლით, განახლდება ავტომატურად:

* Click on the button "Try it out", it allows you to fill the parameters and directly interact with the API:
+* დააკლიკეთ "Try it out" ღილაკს. ეს საშუალებას მოგცემთ, განსაზღვროთ პარამეტრები და API-სთან უშუალო ინტერაქციით დაკავდეთ:

* Then click on the "Execute" button, the user interface will communicate with your API, send the parameters, get the results and show them on the screen:
+* შემდგომ ამისა, დააკლიკეთ "Execute" ღილაკს, რითაც თქვენ მიერ გახსნილი ინტერფეისი დაუკავშირდება API-ს, გაგზავნის თქვენ მიერ განსაზღვრულ პარამეტრებს, მიიღებს მოთხოვნის შედეგებს და გამოიტანს ეკრანზე:

From 8ced404f8b6f5a1d62d91f22e6f7e505fd02b473 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Thu, 25 Jul 2024 20:48:47 +0400
Subject: [PATCH 16/27] Translate Alternative API docs upgrade section
---
docs/ka/docs/index.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index d53aba812..7d820269b 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -383,10 +383,13 @@ Now go to http://127.0.0.1:8000/redoc.
+ახლა კი, თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
* The alternative documentation will also reflect the new query parameter and body:
+* ახლად დამატებული საძიებო პარამეტრი და შიგთავსის პროტოტიპი ალტერნატიულ დოკუმენტაციაშიც აისახება:

From 694a057775e6d193a79a5e4bcb39d9ed65a97079 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 00:31:22 +0400
Subject: [PATCH 17/27] Translate Recap section
---
docs/ka/docs/index.md | 71 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 69 insertions(+), 2 deletions(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 7d820269b..d96d12f22 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -290,9 +290,9 @@ You already created an API that:
* Receives HTTP requests in the _paths_ `/` and `/items/{item_id}`.
* იღებს HTTP მოთხოვნებს შემდეგ _მისამართებზე_: `/` და `/items/{item_id}`.
* Both _paths_ take `GET` operations (also known as HTTP _methods_).
-* ორივე მისამართი ამუშავებს `GET` ოპერაციას (ასევე ცნობილს, როგორც HTTP _მეთოდი_).
+* ორივე _მისამართი_ ამუშავებს `GET` ოპერაციას (ასევე ცნობილს, როგორც HTTP _მეთოდი_).
* The _path_ `/items/{item_id}` has a _path parameter_ `item_id` that should be an `int`.
-* `/items/{item_id}` მისამართს გააჩნია _მარშრუტის პარამეტრი_ `item_id`, რომელიც უნდა იყოს მთელი რიცხვის (`int`) ტიპის.
+* `/items/{item_id}` _მისამართს_ გააჩნია _მარშრუტის პარამეტრი_ `item_id`, რომელიც უნდა იყოს მთელი რიცხვის (`int`) ტიპის.
* The _path_ `/items/{item_id}` has an optional `str` _query parameter_ `q`.
* `/items/{item_id}` მისამართს გააჩნია არასავალდებულო სტრიქონის (`str`) ტიპის _საძიებო (query) პარამეტრი_ `q`.
@@ -394,35 +394,49 @@ And now, go to Conversion of input data: coming from the network to Python data and types. Reading from:
* JSON.
* Path parameters.
@@ -431,79 +445,132 @@ item: Item
* Headers.
* Forms.
* Files.
+* შემავალ მონაცემთა გარდაქმნას: ქსელიდან შემომავალი მონაცემების გადათარგმნას Python-ისთვის გასაგებ მონაცემებად და ტიპებად. შესაძლებელია შემდეგი სახის მონაცემების წაკითხვა და გარდაქმნა:
+ * JSON.
+ * მარშრუტის (Path) პარამეტრები.
+ * საძიებო (Query) პარამეტრები.
+ * Cookie-ები.
+ * თავსართები (Headers).
+ * ფორმები.
+ * ფაილები.
* Conversion of output data: converting from Python data and types to network data (as JSON):
* Convert Python types (`str`, `int`, `float`, `bool`, `list`, etc).
* `datetime` objects.
* `UUID` objects.
* Database models.
* ...and many more.
+* გამომავალ მონაცემთა გარდაქმნას: Python-ის მონაცემებისა და ტიპების გადათარგმნას ქსელურ მონაცემებად (JSON-ად). შესაძლებელია შემდეგი სახის მონაცემების გარდაქმნა:
+ * Python-ის ტიპები (`str`, `int`, `float`, `bool`, `list` და სხვ.).
+ * `datetime` ობიექტები.
+ * `UUID` ობიექტები.
+ * მონაცემთა ბაზის მოდელები.
+ * ...და მრავალი სხვა.
* Automatic interactive API documentation, including 2 alternative user interfaces:
* Swagger UI.
* ReDoc.
+* ავტომატურად გენერირებულ ინტერაქციულ API-დოკუმენტაციას, რომელიც მოიცავს 2 ალტერნატიულ ინტერფეისს. ესენია:
+ * Swagger UI.
+ * ReDoc.
---
Coming back to the previous code example, **FastAPI** will:
+მოდით, მივუბრუნდეთ წინა მაგალითს და გავაანალიზოთ, რას და როგორ გააკეთებს **FastAPI**:
* Validate that there is an `item_id` in the path for `GET` and `PUT` requests.
+* `GET` და `PUT` ოპერაციებისათვის შეამოწმებს, არის თუ არა მისამართში განსაზღვრული `item_id` პარამეტრი.
* Validate that the `item_id` is of type `int` for `GET` and `PUT` requests.
* If it is not, the client will see a useful, clear error.
+* `GET` და `PUT` ოპერაციებისათვის გადაამოწმებს, არის თუ არა `item_id` პარამეტრი `int` ტიპის.
+ * თუ ეს ასე არ იქნება, კლიენტი იხილავს გამოსადეგ, მარტივად გასაგებ ცდომილების შეტყობინებას.
* Check if there is an optional query parameter named `q` (as in `http://127.0.0.1:8000/items/foo?q=somequery`) for `GET` requests.
* As the `q` parameter is declared with `= None`, it is optional.
* Without the `None` it would be required (as is the body in the case with `PUT`).
+* `GET` ოპერაციებისათვის შეამოწმებს, არის თუ არა წარმოდგენილი არასავალდებულო საძიებო (query) პარამეტრი სახელად `q` (მაგ.: `http://127.0.0.1:8000/items/foo?q=somequery`).
+ * ვინაიდან `q` პარამეტრი განსაზღვრულია `= None` ბოლოსართით, იგი არასავალდებულოა.
+ * `None`-ის არარსებობის შემთხვევაში, იგი იქნებოდა სავალდებულო (როგორც მოთხოვნის შიგთავსი `PUT` ოპერაციის შემთხვევაში).
* For `PUT` requests to `/items/{item_id}`, Read the body as JSON:
* Check that it has a required attribute `name` that should be a `str`.
* Check that it has a required attribute `price` that has to be a `float`.
* Check that it has an optional attribute `is_offer`, that should be a `bool`, if present.
* All this would also work for deeply nested JSON objects.
+* `/items/{item_id}` მისამართზე `PUT` ოპერაციისას, წაიკითხავს მოთხოვნის შიგთავსს როგორც JSON მონაცემს. ამასთან:
+ * შეამოწმებს, არის თუ არა განსაზღვრული `str` ტიპის სავალდებულო `name` ატრიბუტი.
+ * შეამოწმებს, არის თუ არა განსაზღვრული `float` ტიპის სავალდებულო `price` ატრიბუტი.
+ * შეამოწმებს, მოთხოვნის შიგთავსში არის თუ არა წარმოდგენილი `bool` ტიპის არასავალდებულო `is_offer` ატრიბუტი.
+ * ყველაფერი ეს იმუშავებს ნებისმიერი სახის (მაგ.: მრავალშრიანი) JSON მონაცემისათვის.
* Convert from and to JSON automatically.
+* ავტომატურად გარდაქმნის JSON-ს სხვა სახის მონაცემად და პირიქით.
* Document everything with OpenAPI, that can be used by:
* Interactive documentation systems.
* Automatic client code generation systems, for many languages.
+* OpenAPI-ით მოახდენს ყველაფრის დოკუმენტირებას, რაც გამოსადეგი იქნება:
+ * ინტერაქციული დოკუმენტაციის სისტემებისათვის.
+ * კლიენტის კოდის ავტომატიზირებული გენერირების სისტემებისათვის სხვადასხვა ენაში.
* Provide 2 interactive documentation web interfaces directly.
+* უშუალოდ უზრუნველყოფს 2 ალტერნატიულ ინტერაქციულ დოკუმენტაციის ვებინტერფეისს.
---
We just scratched the surface, but you already get the idea of how it all works.
+ჯერჯერობით ჩვენ რაც განვიხილეთ, მხოლოდ და მხოლოდ ზედაპირია აისბერგისა, მაგრამ, ასე თუ ისე, ალბათ გაიაზრეთ ზოგადი პრინციპი, თუ როგორ მუშაობს ეს ყველაფერი.
Try changing the line with:
+სცადეთ შემდეგ ხაზში ცვლილების შეტანა:
```Python
return {"item_name": item.name, "item_id": item_id}
```
...from:
+...ძველი:
```Python
... "item_name": item.name ...
```
...to:
+...ახალი:
```Python
... "item_price": item.price ...
```
...and see how your editor will auto-complete the attributes and know their types:
+...და დააკვირდით, როგორ მოახდენს თქვენი ტექსტური რედაქტორი ატრიბუტების ავტოდასრულებას და მათი ტიპების იდენტიფიცირებას:

For a more complete example including more features, see the Tutorial - User Guide.
+მეტად სრულყოფილი მაგალითის სანახავად, სადაც განხილული იქნება უფრო მეტი საკითხი, იხილეთ სახელმძღვანელო - მომხმარებლის გზამკვლევი.
**Spoiler alert**: the tutorial - user guide includes:
+**გაფრთხილება სპოილერის შესახებ**: მომხმარებლის გზამკვლევი მოიცავს შემდეგ საკითხებს:
* Declaration of **parameters** from other different places as: **headers**, **cookies**, **form fields** and **files**.
+* **პარამეტრების** დეკლარირება სხვა წყაროებიდან, როგორებიცაა: **თავსართები (headers)**, **cookie-ები**, **ფორმის ველები** და **ფაილები**.
* How to set **validation constraints** as `maximum_length` or `regex`.
+* **შემმოწმებლებისათვის (ვალიდატორებისათვის) შეზღუდვების** დაწესება, როგორებიცაა: `maximum_length` ან `regex`.
* A very powerful and easy to use **Dependency Injection** system.
+* ძალიან მძლავრი და მარტივად გამოსაყენებელი **პაკეტების ინექციის** სისტემა.
* Security and authentication, including support for **OAuth2** with **JWT tokens** and **HTTP Basic** auth.
+* უსაფრთხოება და ავთენტიკაცია, მათ შორის **OAuth2**-ის მხარდაჭერა **JWT ტოკენებით** და **HTTP Basic** ავთენტიკაცია.
* More advanced (but equally easy) techniques for declaring **deeply nested JSON models** (thanks to Pydantic).
+* მეტად სიღრმისეული (მაგრამ ისეთივე მარტივი) მეთოდოლოგიები **კომპლექსური (მრავალშრიანი) JSON მოდელების** დეკლარირებისათვის (მადლობა Pydantic-ს).
* **GraphQL** integration with Strawberry and other libraries.
+* **GraphQL**-ის ინტეგრირება Strawberry-სთან და სხვა ბიბლიოთეკებთან.
* Many extra features (thanks to Starlette) as:
* **WebSockets**
* extremely easy tests based on HTTPX and `pytest`
* **CORS**
* **Cookie Sessions**
* ...and more.
+* არაერთი სხვა თავისებურება (მადლობა Starlette-ს), როგორებიცაა:
+ * **ვებსოკეტები**
+ * HTTPX-ზე და `pytest`-ზე დაფუძნებული უმარტივესი ტესტები
+ * **CORS**
+ * **Cookie სესიები**
+ * ...და მრავალი სხვა.
## Performance
From 7f6e87b887dba6c1b4ddc1cbd1b0b8cdc7731ddc Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 00:54:30 +0400
Subject: [PATCH 18/27] Translate Performance section
---
docs/ka/docs/index.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index d96d12f22..21e6e60e1 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -573,10 +573,13 @@ For a more complete example including more features, see the one of the fastest Python frameworks available, only below Starlette and Uvicorn themselves (used internally by FastAPI). (*)
+TechEmpower-ის მიუკერძოებელი ტესტები ცხადყოფენ, რომ Uvicorn-ით გაშვებული **FastAPI**-ზე დაფუძნებული აპლიკაციები წარმოაჩენენ FastAPI-ს, როგორც ერთ-ერთ უსწრაფეს ფრეიმვორქს Python-ის არსებულ ფრეიმვორქებს შორის. მას წინ უსწრებენ მხოლოდ Starlette-ი და Uvicorn-ი (რომლებსაც თავის მხრივ, FastAPI-ი იყენებს). (*)
To understand more about it, see the section Benchmarks.
+ამ ყველაფრის უკეთ გასააზრებლად იხილეთ შემდეგი განყოფილება: წარმადობის ტესტები (Benchmarks).
## Dependencies
From 1755abd63444ad5ae4c29b398a8f02f090ee0005 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 11:37:34 +0400
Subject: [PATCH 19/27] Translate Dependencies section
---
docs/ka/docs/index.md | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 21e6e60e1..684d6947c 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -582,48 +582,68 @@ To understand more about it, see the section წარმადობის ტესტები (Benchmarks).
## Dependencies
+## პაკეტები
Used by Pydantic:
+Pydantic-ის მიერ გამოიყენება:
* email_validator
- for email validation.
+* email_validator
- მეილის ვალიდაციისათვის.
* pydantic-settings
- for settings management.
+* pydantic-settings
- პარამეტრების სამართავად.
* pydantic-extra-types
- for extra types to be used with Pydantic.
+* pydantic-extra-types
- Pydantic-თან ერთად გამოყენებადი დამატებითი ტიპებისათვის.
Used by Starlette:
+Starlette-ის მიერ გამოიყენება:
* httpx
- Required if you want to use the `TestClient`.
+* httpx
- სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ `TestClient`-ი .
* jinja2
- Required if you want to use the default template configuration.
+* jinja2
- სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ შაბლონის ნაგულისხმევი კონფიგურაცია.
* python-multipart
- Required if you want to support form "parsing", with `request.form()`.
+* python-multipart
- სავალდებულოა, თუკი გსურთ, რომ გქონდეთ ფორმების „პარსინგის“ შესაძლებლობა `request.form()`-ის გამოყენებით.
Used by FastAPI / Starlette:
+FastAPI / Starlette-ის მიერ გამოიყენება:
* uvicorn
- for the server that loads and serves your application.
+* uvicorn
- სერვერისთვის, რომელიც ემსახურება თქვენი აპლიკაციის ჩატვირთვას და მუშაობას.
* `fastapi-cli` - to provide the `fastapi` command.
+* `fastapi-cli` - უზრუნველყოფს `fastapi` ბრძანების ხელმისაწვდომობას.
When you install `fastapi` it comes these standard dependencies.
+`fastapi`-ის ინსტალირებისას, მასთან ერთად ინსტალირდება ზემოთ ჩამოთვლილი სტანდარტული პაკეტებიც.
Additional optional dependencies:
+დამატებითი არასავალდებულო პაკეტები:
* orjson
- Required if you want to use `ORJSONResponse`.
+* orjson
- სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ `ORJSONResponse`-ი.
* ujson
- Required if you want to use `UJSONResponse`.
+* ujson
- სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ `UJSONResponse`-ი.
## `fastapi-slim`
If you don't want the extra standard optional dependencies, install `fastapi-slim` instead.
+თუ არ გჭირდებათ დამატებითი არასავალდებულო სტანდარტული პაკეტები, `fastapi`-ის ნაცვლად დააინსტალირეთ `fastapi-slim`-ი.
When you install with:
+როდესაც ინსტალაციას ახორციელებთ შემდეგი ბრძანებით:
```bash
pip install fastapi
```
...it includes the same code and dependencies as:
+...ინსტალირდება იგივე კოდი და პაკეტები, რაც დაინსტალირდებოდა შემდეგი ბრძანების გამოყენების შემთხვევაში:
```bash
pip install "fastapi-slim[standard]"
```
The standard extra dependencies are the ones mentioned above.
+არასავალდებულო სტანდარტული პაკეტები გახლავთ ზემოთ ნახსენები პაკეტები.
## License
From 99dabd2d72dcaddbd1cbf0be31c57633a5e2e562 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 11:38:45 +0400
Subject: [PATCH 20/27] Translate License section
---
docs/ka/docs/index.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 684d6947c..1e9044154 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -646,5 +646,7 @@ The standard extra dependencies are the ones mentioned above.
არასავალდებულო სტანდარტული პაკეტები გახლავთ ზემოთ ნახსენები პაკეტები.
## License
+## ლიცენზია
This project is licensed under the terms of the MIT license.
+წინამდებარე პროექტზე ვრცელდება MIT ლიცენზიით გათვალისწინებული წესები და პირობები.
From 133f34a61418bb2ccb31d2223e139e199b5a4d47 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 13:50:30 +0400
Subject: [PATCH 21/27] Translate Opinions section. General updates
---
docs/ka/docs/index.md | 43 ++++++++++++++++++++++++++++++++++++++++---
1 file changed, 40 insertions(+), 3 deletions(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 1e9044154..1cd3822d5 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -40,7 +40,7 @@ FastAPI is a modern, fast (high-performance), web framework for building APIs wi
FastAPI არის თანამედროვე, სწრაფი (მაღალი წარმადობის მქონე), Python-ზე დაფუძნებული ვებფრეიმვორქი, რომელიც იყენებს Python-ის სტანდარტულ ტიპთა ინდიკატორებს და საშუალებას გვაძლევს შევქმნათ API-ები.
The key features are:
-ძირითადი მახასიათებლები გახლავთ:
+მისი ძირითადი მახასიათებლები გახლავთ:
* **Fast**: Very high performance, on par with **NodeJS** and **Go** (thanks to Starlette and Pydantic). [One of the fastest Python frameworks available](#performance).
* **სისწრაფე**: აქვს ძალიან მაღალი წარმადობა, როგორც **NodeJS**-სა და **Go**-ს (მადლობა Starlette-სა და Pydantic-ს). [ერთ-ერთი უსწრაფესი ფრეიმვორქია Python-ის არსებულ ფრეიმვორქებს შორის](#performance).
@@ -53,14 +53,14 @@ The key features are:
* **Easy**: Designed to be easy to use and learn. Less time reading docs.
* **სიმარტივე**: ტექნოლოგია შემუშავებულია იმგვარად, რომ მარტივად გამოსაყენებელი და ასათვისებელი იყოს. დოკუმენტაციის კითხვაში ნაკლებ დროს დახარჯავთ.
* **Short**: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.
-* **კომპაქტური**: კოდის დუბლიკაციის საჭიროება მინიმუმამდეა დაყვანილი. თითოეული პარამეტრის განსაზღვრით აქტიურდება მრავალი ფუნქციონალი. პროგრამული ხარვეზების წარმოქმნის ალბათობა მინიმუმამდეა დაყვანილი.
+* **კომპაქტურობა**: კოდის დუბლიკაციის საჭიროება მინიმუმამდეა დაყვანილი. თითოეული პარამეტრის განსაზღვრით აქტიურდება მრავალი ფუნქციონალი. პროგრამული ხარვეზების წარმოქმნის ალბათობა მინიმუმამდეა დაყვანილი.
* **Robust**: Get production-ready code. With automatic interactive documentation.
* **მდგრადობა**: მიიღებთ წარმოებაში ჩაშვებისათვის გამზადებულ კოდს. ამას გარდა, მიიღებთ ავტომატურად გენერირებულ ინტერაქციულ დოკუმენტაციას.
* **Standards-based**: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.
* **სტანდარტებზე დაფუძნებულობა**: დაფუძნებულია (და სრულად თავსებადია) API-ებისთვის განსაზღვრულ ღია სტანდარტებზე: OpenAPI (ადრე ცნობილი იყო, როგორც Swagger) და JSON Schema.
* estimation based on tests on an internal development team, building production applications.
-* ზემოთ მოცემული შეფასებები ეფუძნება შიდა დეველოპმენტის გუნდის ტესტებს, რომლებიც მუშაობენ წარმოებაში მყოფ (რეალურ) აპლიკაციებზე.
+* ზემოთ მოცემული შეფასებები ეფუძნება წარმოებაში ჩაშვებულ (რეალურ) აპლიკაციებზე მომუშავე შიდა დეველოპმენტის გუნდის ტესტებს.
## Sponsors
## სპონსორები
@@ -88,30 +88,55 @@ The key features are:
Kabir Khan -
Microsoft (ref)
+---
+"_[...] ბოლო დროს, ძალიან ხშირად ვიყენებ **FastAPI**-ს. [...] სიმართლე გითხრათ, მის გამოყენებას ვაპირებ ყველა იმ **ML სერვისისათვის Microsoft-ში**, რაზეც კი ჩემი გუნდი მუშაობს. ამ სერვისებიდან ზოგიერთი ინტეგრირებულია **Windows**-ის ბირთვში, ზოგი კი — **Office**-ის პროდუქტებში._"
+
+Kabir Khan -
Microsoft (ref)
+
---
"_We adopted the **FastAPI** library to spawn a **REST** server that can be queried to obtain **predictions**. [for Ludwig]_"
Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
+---
+"_ჩვენ გამოვიყენეთ **FastAPI** ბიბლიოთეკა **REST** სერვერის შესაქმნელად, რომლის დანიშნულებაც გახლავთ **პროგნოზების** გაკეთება. [Ludwig-ისთვის]_"
+
+Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
+
---
"_**Netflix** is pleased to announce the open-source release of our **crisis management** orchestration framework: **Dispatch**! [built with **FastAPI**]_"
Kevin Glisson, Marc Vilanova, Forest Monsen -
Netflix (ref)
+---
+"_**Netflix**-ის სახელით, მოხარული ვარ, გაცნობოთ ჩვენი კრიტიკული ინფრასტრუქტურის, **Dispatch**-ის წყაროს ღია რელიზის შესახებ! [რომელიც შექმნილია **FastAPI**-ს გამოყენებით]_"
+
+Kevin Glisson, Marc Vilanova, Forest Monsen -
Netflix (ref)
+
---
"_I’m over the moon excited about **FastAPI**. It’s so fun!_"
+---
+"_**FastAPI**-ით ცამდე აღფრთოვანებული ვარ. მისი გამოყენება ძალიან სახალისოა!_"
+
+
+
---
"_Honestly, what you've built looks super solid and polished. In many ways, it's what I wanted **Hug** to be - it's really inspiring to see someone build that._"
+---
+"_გულწრფელად გეუბნებით, თქვენი ნამუშევარი ძალიან სანდოდ და დახვეწილად გამოიყურება. სწორედ ეს არის ის, რაც მინდოდა **Hug**-ი ყოფილიყო - მართლაც შთამაგონებელია იმის დანახვა, რომ ვიღაცამ შეძლო ამის შექმნა._"
+
+
+
---
"_If you're looking to learn one **modern framework** for building REST APIs, check out **FastAPI** [...] It's fast, easy to use and easy to learn [...]_"
@@ -120,12 +145,24 @@ The key features are:
+---
+"_თუ შესწავლის მიზნით ეძებთ **თანამედროვე ფრეიმვორქს**, რომლითაც შეძლებთ REST API-ების შექმნას, თვალი გადაავლეთ **FastAPI**-ს [...] იგი არის სწრაფი, ასათვისებლად და გამოსაყენებლად მარტივი [...]_"
+
+"_ჩვენი **API**-ები გადავაწყეთ **FastAPI**-ზე [...] ვფიქრობ, აღნიშნული ფრეიმვორქი გულგრილს არავის დატოვებს [...]_"
+
+
+
---
"_If anyone is looking to build a production Python API, I would highly recommend **FastAPI**. It is **beautifully designed**, **simple to use** and **highly scalable**, it has become a **key component** in our API first development strategy and is driving many automations and services such as our Virtual TAC Engineer._"
Deon Pillsbury -
Cisco (ref)
+---
+"_თუკი ვინმე აპირებს Python-ზე დაფუძნებული, წარმოებაში ჩასაშვებად ვარგისი API-ი შექმნას, შემიძლია **FastAPI**-ის გამოყენება ვურჩიო. იგი არის **დახვეწილი**, **გამოსაყენებლად მარტივი** და **ძალზე მასშტაბირებადი** ტექნოლოგია, იგი გახდა API-ების შემუშავების ჩვენეული სტრატეგიის **ქვაკუთხედი** და სწორედ მისი გამოყენებითაა შემუშავებული ჩვენი არაერთი ავტომატიზაციის სისტემა და სერვისები, როგირიცაა მაგალითად ჩვენი ვირტუალური TAC ინჟინერი._"
+
+Deon Pillsbury -
Cisco (ref)
+
---
## **Typer**, the FastAPI of CLIs
From 882a11926e46f34e56b7bec0748546bdc15b7e79 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 19:29:30 +0400
Subject: [PATCH 22/27] Edit the whole text. General improvements
---
docs/ka/docs/index.md | 88 +++++++++++++++++++++----------------------
1 file changed, 44 insertions(+), 44 deletions(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 1cd3822d5..7d7d9686e 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -37,7 +37,7 @@ hide:
---
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints.
-FastAPI არის თანამედროვე, სწრაფი (მაღალი წარმადობის მქონე), Python-ზე დაფუძნებული ვებფრეიმვორქი, რომელიც იყენებს Python-ის სტანდარტულ ტიპთა ინდიკატორებს და საშუალებას გვაძლევს შევქმნათ API-ები.
+FastAPI არის თანამედროვე, სწრაფი (მაღალი წარმადობის მქონე), Python-ზე დაფუძნებული ვებფრეიმვორქი, რომელიც იყენებს Python-ის სტანდარტულ ტიპთა ანოტაციებს და საშუალებას გვაძლევს შევქმნათ API-ები.
The key features are:
მისი ძირითადი მახასიათებლები გახლავთ:
@@ -49,7 +49,7 @@ The key features are:
* **Fewer bugs**: Reduce about 40% of human (developer) induced errors. *
* **ნაკლები პროგრამული ხარვეზი**: ადამიანის (დეველოპერის) მიერ გამოწვეული ხარვეზების ალბათობას ამცირებს დაახლოებით 40 პროცენტით. *
* **Intuitive**: Great editor support. Completion everywhere. Less time debugging.
-* **ინტუიციურობა**: შესანიშნავი თავსებადობა ტექსტურ რედაქტორებთან. კოდის ავტოდასრულების ფუნქციონალი ხელმისაწვდომია ყველგან. ნაკლებ დროს დახარჯავთ ხარვეზების აღმოფხვრაში.
+* **ინტუიციურობა**: შესანიშნავი თავსებადობა ტექსტურ რედაქტორებთან. კოდის ავტოდასრულების ფუნქციონალი ხელმისაწვდომია ყველგან. ნაკლებ დროს დახარჯავთ ხარვეზების აღმოფხვრაში.
* **Easy**: Designed to be easy to use and learn. Less time reading docs.
* **სიმარტივე**: ტექნოლოგია შემუშავებულია იმგვარად, რომ მარტივად გამოსაყენებელი და ასათვისებელი იყოს. დოკუმენტაციის კითხვაში ნაკლებ დროს დახარჯავთ.
* **Short**: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.
@@ -89,7 +89,7 @@ The key features are:
Kabir Khan -
Microsoft (ref)
---
-"_[...] ბოლო დროს, ძალიან ხშირად ვიყენებ **FastAPI**-ს. [...] სიმართლე გითხრათ, მის გამოყენებას ვაპირებ ყველა იმ **ML სერვისისათვის Microsoft-ში**, რაზეც კი ჩემი გუნდი მუშაობს. ამ სერვისებიდან ზოგიერთი ინტეგრირებულია **Windows**-ის ბირთვში, ზოგი კი — **Office**-ის პროდუქტებში._"
+"_[...] ბოლო დროს, ძალიან ხშირად ვიყენებ **FastAPI**-ს. [...] სიმართლე გითხრათ, მის გამოყენებას ვაპირებ ყველა იმ **ML სერვისისთვის Microsoft-ში**, რაზეც კი ჩემი გუნდი მუშაობს. აღნიშნული სერვისებიდან ზოგიერთი ინტეგრირებულია **Windows**-ის ბირთვში, ზოგი კი — **Office**-ის პროდუქტებში._"
Kabir Khan -
Microsoft (ref)
@@ -100,7 +100,7 @@ The key features are:
Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
---
-"_ჩვენ გამოვიყენეთ **FastAPI** ბიბლიოთეკა **REST** სერვერის შესაქმნელად, რომლის დანიშნულებაც გახლავთ **პროგნოზების** გაკეთება. [Ludwig-ისთვის]_"
+"_ჩვენ გამოვიყენეთ **FastAPI** ბიბლიოთეკა **REST** სერვერის შესაქმნელად, რომლის დანიშნულებაა სხვადასხვა **პროგნოზების** გაკეთება. [Ludwig-ისთვის]_"
Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
@@ -111,7 +111,7 @@ The key features are:
Kevin Glisson, Marc Vilanova, Forest Monsen -
Netflix (ref)
---
-"_**Netflix**-ის სახელით, მოხარული ვარ, გაცნობოთ ჩვენი კრიტიკული ინფრასტრუქტურის, **Dispatch**-ის წყაროს ღია რელიზის შესახებ! [რომელიც შექმნილია **FastAPI**-ს გამოყენებით]_"
+"_**Netflix**-ის სახელით, მოხარული ვარ, გაცნობოთ ჩვენი **კრიზისის მართვის** ორკესტრაციის სისტემის, **Dispatch**-ის წყაროს ღია რელიზის შესახებ! [რომელიც შექმნილია **FastAPI**-ს გამოყენებით]_"
Kevin Glisson, Marc Vilanova, Forest Monsen -
Netflix (ref)
@@ -146,9 +146,9 @@ The key features are:
---
-"_თუ შესწავლის მიზნით ეძებთ **თანამედროვე ფრეიმვორქს**, რომლითაც შეძლებთ REST API-ების შექმნას, თვალი გადაავლეთ **FastAPI**-ს [...] იგი არის სწრაფი, ასათვისებლად და გამოსაყენებლად მარტივი [...]_"
+"_თუ **თანამედროვე ფრეიმვორქს** ეძებთ, რომლითაც REST API-ების შექმნა შესაძლებელია, გაიცანით **FastAPI**-ი [...] იგი არის სწრაფი, მარტივი გამოსაყენებელი და ადვილად შესასწავლი [...]_"
-"_ჩვენი **API**-ები გადავაწყეთ **FastAPI**-ზე [...] ვფიქრობ, აღნიშნული ფრეიმვორქი გულგრილს არავის დატოვებს [...]_"
+"_ჩვენ გადავაწყეთ ჩვენი **API**-ები **FastAPI**-ზე [...] ვფიქრობ, აღნიშნული ფრეიმვორქი გულგრილს არავის დატოვებს [...]_"
@@ -159,22 +159,22 @@ The key features are:
Deon Pillsbury -
Cisco (ref)
---
-"_თუკი ვინმე აპირებს Python-ზე დაფუძნებული, წარმოებაში ჩასაშვებად ვარგისი API-ი შექმნას, შემიძლია **FastAPI**-ის გამოყენება ვურჩიო. იგი არის **დახვეწილი**, **გამოსაყენებლად მარტივი** და **ძალზე მასშტაბირებადი** ტექნოლოგია, იგი გახდა API-ების შემუშავების ჩვენეული სტრატეგიის **ქვაკუთხედი** და სწორედ მისი გამოყენებითაა შემუშავებული ჩვენი არაერთი ავტომატიზაციის სისტემა და სერვისები, როგირიცაა მაგალითად ჩვენი ვირტუალური TAC ინჟინერი._"
+"_თუ ვინმე აპირებს Python-ზე დაფუძნებული, წარმოებაში ჩასაშვებად ვარგისი API-ი შექმნას, **FastAPI**-ის გამოყენებას ვურჩევ. იგი არის **დახვეწილი**, **მარტივად გამოსაყენებელი** და **მასშტაბირებადი** ტექნოლოგია. იგი გახდა API-ების შემუშავების ჩვენეული სტრატეგიის **ქვაკუთხედი** და სწორედ მისი გამოყენებითაა შემუშავებული ჩვენი არაერთი ავტომატიზაციის სისტემა და სერვისები, მათ შორის ჩვენი ვირტუალური TAC ინჟინერი._"
Deon Pillsbury -
Cisco (ref)
---
## **Typer**, the FastAPI of CLIs
-## **Typer**: ბრძანებათა სტრიქონების FastAPI
+## **Typer**: ბრძანებათა სტრიქონის FastAPI
If you are building a CLI app to be used in the terminal instead of a web API, check out **Typer**.
-თუკი მუშაობთ CLI აპლიკაციაზე, რომელიც გამოყენებულ იქნება ტერმინალში, - ნაცვლად ვებ API-ისა, თვალი შეავლეთ **Typer**-ს.
+თუკი მუშაობთ CLI აპლიკაციაზე, რომელიც გამოყენებულ იქნება ტერმინალში ვებ API-ის ნაცვლად, გაეცანით **Typer**-ს.
**Typer** is FastAPI's little sibling. And it's intended to be the **FastAPI of CLIs**. ⌨️ 🚀
-**Typer** არის FastAPI-ის პატარა ძამიკო. და ჩაფიქრებულია, რომ იგი იყოს **CLI-ების FastAPI**. ⌨️ 🚀
+**Typer**-ი არის FastAPI-ის პატარა ძამიკო. მისი დანიშნულებაა, იყოს **ბრძანებათა სტრიქონის FastAPI**. ⌨️ 🚀
## Requirements
## მოთხოვნები
@@ -183,9 +183,9 @@ FastAPI stands on the shoulders of giants:
FastAPI მხრებზე შემოსდგომია შემდეგ გიგანტებს:
* Starlette for the web parts.
-* Starlette-ს ვებთან დაკავშირებულ საკითხებში.
+* Starlette: ვების ნაწილში.
* Pydantic for the data parts.
-* Pydantic-ს მონაცემებთან დაკავშირებულ საკითხებში.
+* Pydantic: მონაცემების ნაწილში.
## Installation
## ინსტალაცია
@@ -256,7 +256,7 @@ async def read_item(item_id: int, q: Union[str, None] = None):
**შენიშვნა**:
If you don't know, check the _"In a hurry?"_ section about `async` and `await` in the docs.
-თუკი ჯერ არ ერკვევით აღნიშნულ საკითხში, `async`-ისა და `await`-ის შესახებ დოკუმენტაციაში თვალი გადაავლეთ განყოფილებას _„გეჩქარებათ?“_.
+თუკი ჯერ ვერ ერკვევით აღნიშნულ საკითხში, `async`-ისა და `await`-ის შესახებ დოკუმენტაციაში გადახედეთ განყოფილებას სათაურით: _„გეჩქარებათ?“_.
@@ -301,10 +301,10 @@ The command `fastapi dev` reads your `main.py` file, detects the **FastAPI** app
`fastapi dev` ბრძანება კითხულობს თქვენს `main.py` ფაილს, მასში **FastAPI** აპლიკაციას აიდენტიფიცირებს და Uvicorn-ის გამოყენებით უშვებს სერვერს.
By default, `fastapi dev` will start with auto-reload enabled for local development.
-ნაგულისხმევად, ლოკალური დეველოპმენტისთვის, `fastapi dev` ბრძანებით გაშვებული სერვერისათვის აქტივირებული იქნება ავტომატური გადატვირთვის ფუნქცია.
+ნაგულისხმევად, ლოკალური დეველოპმენტისთვის, `fastapi dev` ბრძანებით გაშვებული სერვერისთვის აქტივირებული იქნება ავტოგადატვირთვის ფუნქცია.
You can read more about it in the FastAPI CLI docs.
-ამ საკითხზე დეტალური ინფორმაცია შეგიძლიათ წაიკითხოთ FastAPI CLI-ის დოკუმენტაციაში.
+ამ საკითხთან დაკავშირებით დამატებითი ინფორმაცია შეგიძლიათ წაიკითხოთ FastAPI CLI-ის დოკუმენტაციაში.
@@ -315,7 +315,7 @@ Open your browser at http://127.0.0.1:8000/items/5?q=somequery.
You will see the JSON response as:
-დაინახავთ შემდეგნაირ JSON ტიპის მონაცემს:
+დაინახავთ JSON ფორმატის მქონე მონაცემს:
```JSON
{"item_id": 5, "q": "somequery"}
@@ -334,21 +334,21 @@ You already created an API that:
* `/items/{item_id}` მისამართს გააჩნია არასავალდებულო სტრიქონის (`str`) ტიპის _საძიებო (query) პარამეტრი_ `q`.
### Interactive API docs
-### ინტერაქციული API-დოკუმენტაცია
+### ინტერაქციული API დოკუმენტაცია
Now go to http://127.0.0.1:8000/docs.
-ახლა კი, თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/docs.
+გახსენით თქვენი ბრაუზერი და შედით ბმულზე: http://127.0.0.1:8000/docs.
You will see the automatic interactive API documentation (provided by Swagger UI):
-დაინახავთ ავტომატურად გენერირებულ ინტერაქციულ API-დოკუმენტაციას (რომელიც უზრუნველყოფილია Swagger UI-ის მიერ):
+დაინახავთ ავტომატურად გენერირებულ ინტერაქციულ API დოკუმენტაციას (რომელიც უზრუნველყოფილია Swagger UI-ის მიერ):

### Alternative API docs
-### ალტერნატიული API-დოკუმენტაცია
+### ალტერნატიული API დოკუმენტაცია
And now, go to http://127.0.0.1:8000/redoc.
-თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
+ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
You will see the alternative automatic documentation (provided by ReDoc):
დაინახავთ ალტერნატიულ ავტომატურად გენერირებულ დოკუმენტაციას (რომელიც უზრუნველყოფილია ReDoc-ის მიერ):
@@ -359,7 +359,7 @@ You will see the alternative automatic documentation (provided by http://127.0.0.1:8000/docs.
თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/docs.
* The interactive API documentation will be automatically updated, including the new body:
-* ინტერაქციული API-დოკუმენტაცია, ახლად დამატებული პროტოტიპის ჩათვლით, განახლდება ავტომატურად:
+* ინტერაქციული API დოკუმენტაცია, ახლად დამატებული პროტოტიპის ჩათვლით, განახლდება ავტომატურად:

* Click on the button "Try it out", it allows you to fill the parameters and directly interact with the API:
-* დააკლიკეთ "Try it out" ღილაკს. ეს საშუალებას მოგცემთ, განსაზღვროთ პარამეტრები და API-სთან უშუალო ინტერაქციით დაკავდეთ:
+* დააკლიკეთ "Try it out" ღილაკს. ეს საშუალებას მოგცემთ, განსაზღვროთ პარამეტრების მნიშვნელობები და API-სთან უშუალო ინტერაქციით დაკავდეთ:

@@ -420,7 +420,7 @@ Now go to http://127.0.0.1:8000/redoc.
ახლა კი, თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
@@ -472,8 +472,8 @@ item: Item
* Automatic and clear errors when the data is invalid.
* Validation even for deeply nested JSON objects.
* მონაცემთა ვალიდაციას:
- * ავტომატურად გენერირებულ და მარტივად გასაგებ ცდომილების შეტყობინებებს, როდესაც მონაცემები ვალიდური არ არის.
- * ვალიდაციას თუნდაც უკიდურესად კომპლექსური JSON მონაცემებისათვის.
+ * ავტომატურად გენერირებულ და მარტივად გასაგებ ცდომილების შეტყობინებებს, როდესაც მონაცემები ვალიდური არ იქნება.
+ * ვალიდაციას თუნდაც უკიდურესად კომპლექსური (მაგ.: მრავალშრიანი) JSON მონაცემებისათვის.
* Conversion of input data: coming from the network to Python data and types. Reading from:
* JSON.
* Path parameters.
@@ -482,7 +482,7 @@ item: Item
* Headers.
* Forms.
* Files.
-* შემავალ მონაცემთა გარდაქმნას: ქსელიდან შემომავალი მონაცემების გადათარგმნას Python-ისთვის გასაგებ მონაცემებად და ტიპებად. შესაძლებელია შემდეგი სახის მონაცემების წაკითხვა და გარდაქმნა:
+* შემავალ მონაცემთა გარდაქმნას: ქსელიდან შემომავალი მონაცემების გადათარგმნას Python-ისთვის გასაგებ მონაცემებად და ტიპებად. შესაძლებელია შემდეგი სახის მონაცემების წაკითხვა და გარდაქმნა:
* JSON.
* მარშრუტის (Path) პარამეტრები.
* საძიებო (Query) პარამეტრები.
@@ -496,7 +496,7 @@ item: Item
* `UUID` objects.
* Database models.
* ...and many more.
-* გამომავალ მონაცემთა გარდაქმნას: Python-ის მონაცემებისა და ტიპების გადათარგმნას ქსელურ მონაცემებად (JSON-ად). შესაძლებელია შემდეგი სახის მონაცემების გარდაქმნა:
+* გამომავალ მონაცემთა გარდაქმნას: Python-ის მონაცემებისა და ტიპების გადათარგმნას ქსელურ მონაცემებად (JSON-ად). შესაძლებელია შემდეგი სახის მონაცემების გარდაქმნა:
* Python-ის ტიპები (`str`, `int`, `float`, `bool`, `list` და სხვ.).
* `datetime` ობიექტები.
* `UUID` ობიექტები.
@@ -505,7 +505,7 @@ item: Item
* Automatic interactive API documentation, including 2 alternative user interfaces:
* Swagger UI.
* ReDoc.
-* ავტომატურად გენერირებულ ინტერაქციულ API-დოკუმენტაციას, რომელიც მოიცავს 2 ალტერნატიულ ინტერფეისს. ესენია:
+* ავტომატურად გენერირებულ ინტერაქციულ API დოკუმენტაციას, რომელიც მოიცავს 2 ალტერნატიულ ინტერფეისს. ესენია:
* Swagger UI.
* ReDoc.
@@ -515,7 +515,7 @@ Coming back to the previous code example, **FastAPI** will:
მოდით, მივუბრუნდეთ წინა მაგალითს და გავაანალიზოთ, რას და როგორ გააკეთებს **FastAPI**:
* Validate that there is an `item_id` in the path for `GET` and `PUT` requests.
-* `GET` და `PUT` ოპერაციებისათვის შეამოწმებს, არის თუ არა მისამართში განსაზღვრული `item_id` პარამეტრი.
+* `GET` და `PUT` ოპერაციებისათვის შეამოწმებს, არის თუ არა `item_id` პარამეტრი მითითებული მისამართში.
* Validate that the `item_id` is of type `int` for `GET` and `PUT` requests.
* If it is not, the client will see a useful, clear error.
* `GET` და `PUT` ოპერაციებისათვის გადაამოწმებს, არის თუ არა `item_id` პარამეტრი `int` ტიპის.
@@ -523,15 +523,15 @@ Coming back to the previous code example, **FastAPI** will:
* Check if there is an optional query parameter named `q` (as in `http://127.0.0.1:8000/items/foo?q=somequery`) for `GET` requests.
* As the `q` parameter is declared with `= None`, it is optional.
* Without the `None` it would be required (as is the body in the case with `PUT`).
-* `GET` ოპერაციებისათვის შეამოწმებს, არის თუ არა წარმოდგენილი არასავალდებულო საძიებო (query) პარამეტრი სახელად `q` (მაგ.: `http://127.0.0.1:8000/items/foo?q=somequery`).
- * ვინაიდან `q` პარამეტრი განსაზღვრულია `= None` ბოლოსართით, იგი არასავალდებულოა.
- * `None`-ის არარსებობის შემთხვევაში, იგი იქნებოდა სავალდებულო (როგორც მოთხოვნის შიგთავსი `PUT` ოპერაციის შემთხვევაში).
+* `GET` ოპერაციებისათვის შეამოწმებს, არის თუ არა მისამართში წარმოდგენილი არასავალდებულო საძიებო (query) პარამეტრი, სახელად `q` (მაგ.: `http://127.0.0.1:8000/items/foo?q=somequery`).
+ * ვინაიდან `q` პარამეტრი კოდში განსაზღვრულია `= None` ბოლოსართით, იგი არასავალდებულოა.
+ * `None`-ის არარსებობის შემთხვევაში, იგი იქნებოდა სავალდებულო (მსგავსად მოთხოვნის შიგთავსისა `PUT` ოპერაციის შემთხვევაში).
* For `PUT` requests to `/items/{item_id}`, Read the body as JSON:
* Check that it has a required attribute `name` that should be a `str`.
* Check that it has a required attribute `price` that has to be a `float`.
* Check that it has an optional attribute `is_offer`, that should be a `bool`, if present.
* All this would also work for deeply nested JSON objects.
-* `/items/{item_id}` მისამართზე `PUT` ოპერაციისას, წაიკითხავს მოთხოვნის შიგთავსს როგორც JSON მონაცემს. ამასთან:
+* `/items/{item_id}` მისამართზე `PUT` ოპერაციისას, წაიკითხავს მოთხოვნის შიგთავსს, როგორც JSON ფორმატის მქონე მონაცემს. ამასთან:
* შეამოწმებს, არის თუ არა განსაზღვრული `str` ტიპის სავალდებულო `name` ატრიბუტი.
* შეამოწმებს, არის თუ არა განსაზღვრული `float` ტიპის სავალდებულო `price` ატრიბუტი.
* შეამოწმებს, მოთხოვნის შიგთავსში არის თუ არა წარმოდგენილი `bool` ტიპის არასავალდებულო `is_offer` ატრიბუტი.
@@ -545,7 +545,7 @@ Coming back to the previous code example, **FastAPI** will:
* ინტერაქციული დოკუმენტაციის სისტემებისათვის.
* კლიენტის კოდის ავტომატიზირებული გენერირების სისტემებისათვის სხვადასხვა ენაში.
* Provide 2 interactive documentation web interfaces directly.
-* უშუალოდ უზრუნველყოფს 2 ალტერნატიულ ინტერაქციულ დოკუმენტაციის ვებინტერფეისს.
+* უშუალოდ უზრუნველყოფს 2 ალტერნატიული ინტერაქციული დოკუმენტაციის ვებინტერფეისის არსებობას.
---
@@ -560,14 +560,14 @@ Try changing the line with:
```
...from:
-...ძველი:
+...ადრე:
```Python
... "item_name": item.name ...
```
...to:
-...ახალი:
+...ახლა:
```Python
... "item_price": item.price ...
@@ -579,7 +579,7 @@ Try changing the line with:

For a more complete example including more features, see the Tutorial - User Guide.
-მეტად სრულყოფილი მაგალითის სანახავად, სადაც განხილული იქნება უფრო მეტი საკითხი, იხილეთ სახელმძღვანელო - მომხმარებლის გზამკვლევი.
+მეტად სრულყოფილი მაგალითის სანახავად, სადაც განხილული იქნება უფრო მეტი საკითხი, იხილეთ სახელმძღვანელო — მომხმარებლის გზამკვლევი.
**Spoiler alert**: the tutorial - user guide includes:
**გაფრთხილება სპოილერის შესახებ**: მომხმარებლის გზამკვლევი მოიცავს შემდეგ საკითხებს:
@@ -589,7 +589,7 @@ For a more complete example including more features, see the Dependency Injection** system.
-* ძალიან მძლავრი და მარტივად გამოსაყენებელი **პაკეტების ინექციის** სისტემა.
+* ძალიან მძლავრი და მარტივად გამოსაყენებელი **პაკეტების ინექცირების** სისტემა.
* Security and authentication, including support for **OAuth2** with **JWT tokens** and **HTTP Basic** auth.
* უსაფრთხოება და ავთენტიკაცია, მათ შორის **OAuth2**-ის მხარდაჭერა **JWT ტოკენებით** და **HTTP Basic** ავთენტიკაცია.
* More advanced (but equally easy) techniques for declaring **deeply nested JSON models** (thanks to Pydantic).
@@ -613,7 +613,7 @@ For a more complete example including more features, see the one of the fastest Python frameworks available, only below Starlette and Uvicorn themselves (used internally by FastAPI). (*)
-TechEmpower-ის მიუკერძოებელი ტესტები ცხადყოფენ, რომ Uvicorn-ით გაშვებული **FastAPI**-ზე დაფუძნებული აპლიკაციები წარმოაჩენენ FastAPI-ს, როგორც ერთ-ერთ უსწრაფეს ფრეიმვორქს Python-ის არსებულ ფრეიმვორქებს შორის. მას წინ უსწრებენ მხოლოდ Starlette-ი და Uvicorn-ი (რომლებსაც თავის მხრივ, FastAPI-ი იყენებს). (*)
+TechEmpower-ის მიუკერძოებელი ტესტები ცხადყოფენ, რომ Uvicorn-ით გაშვებული **FastAPI**-ზე დაფუძნებული აპლიკაციები წარმოაჩენენ FastAPI-ს, როგორც ერთ-ერთ უსწრაფეს ფრეიმვორქს Python-ის არსებულ ფრეიმვორქებს შორის. მას წინ უსწრებენ მხოლოდ Starlette-ი და Uvicorn-ი (რომლებსაც, თავის მხრივ, FastAPI-ი იყენებს). (*)
To understand more about it, see the section Benchmarks.
ამ ყველაფრის უკეთ გასააზრებლად იხილეთ შემდეგი განყოფილება: წარმადობის ტესტები (Benchmarks).
@@ -680,7 +680,7 @@ pip install "fastapi-slim[standard]"
```
The standard extra dependencies are the ones mentioned above.
-არასავალდებულო სტანდარტული პაკეტები გახლავთ ზემოთ ნახსენები პაკეტები.
+არასავალდებულო სტანდარტულ პაკეტებში იგულისხმება ზემოთ ნახსენები პაკეტები.
## License
## ლიცენზია
From dc94bed9222019a879c387ad64c50c9ecb7cd03f Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 20:02:16 +0400
Subject: [PATCH 23/27] Remove original texts globally. Some general
improvements
---
docs/ka/docs/index.md | 262 ++++++------------------------------------
1 file changed, 37 insertions(+), 225 deletions(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 7d7d9686e..92557d3f1 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -36,33 +36,21 @@ hide:
---
-FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints.
FastAPI არის თანამედროვე, სწრაფი (მაღალი წარმადობის მქონე), Python-ზე დაფუძნებული ვებფრეიმვორქი, რომელიც იყენებს Python-ის სტანდარტულ ტიპთა ანოტაციებს და საშუალებას გვაძლევს შევქმნათ API-ები.
-The key features are:
მისი ძირითადი მახასიათებლები გახლავთ:
-* **Fast**: Very high performance, on par with **NodeJS** and **Go** (thanks to Starlette and Pydantic). [One of the fastest Python frameworks available](#performance).
* **სისწრაფე**: აქვს ძალიან მაღალი წარმადობა, როგორც **NodeJS**-სა და **Go**-ს (მადლობა Starlette-სა და Pydantic-ს). [ერთ-ერთი უსწრაფესი ფრეიმვორქია Python-ის არსებულ ფრეიმვორქებს შორის](#performance).
-* **Fast to code**: Increase the speed to develop features by about 200% to 300%. *
* **ეფექტურობა**: დეველოპმენტის პროცესს აჩქარებს დაახლოებით 200-300 პროცენტით. *
-* **Fewer bugs**: Reduce about 40% of human (developer) induced errors. *
* **ნაკლები პროგრამული ხარვეზი**: ადამიანის (დეველოპერის) მიერ გამოწვეული ხარვეზების ალბათობას ამცირებს დაახლოებით 40 პროცენტით. *
-* **Intuitive**: Great editor support. Completion everywhere. Less time debugging.
* **ინტუიციურობა**: შესანიშნავი თავსებადობა ტექსტურ რედაქტორებთან. კოდის ავტოდასრულების ფუნქციონალი ხელმისაწვდომია ყველგან. ნაკლებ დროს დახარჯავთ ხარვეზების აღმოფხვრაში.
-* **Easy**: Designed to be easy to use and learn. Less time reading docs.
* **სიმარტივე**: ტექნოლოგია შემუშავებულია იმგვარად, რომ მარტივად გამოსაყენებელი და ასათვისებელი იყოს. დოკუმენტაციის კითხვაში ნაკლებ დროს დახარჯავთ.
-* **Short**: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.
* **კომპაქტურობა**: კოდის დუბლიკაციის საჭიროება მინიმუმამდეა დაყვანილი. თითოეული პარამეტრის განსაზღვრით აქტიურდება მრავალი ფუნქციონალი. პროგრამული ხარვეზების წარმოქმნის ალბათობა მინიმუმამდეა დაყვანილი.
-* **Robust**: Get production-ready code. With automatic interactive documentation.
* **მდგრადობა**: მიიღებთ წარმოებაში ჩაშვებისათვის გამზადებულ კოდს. ამას გარდა, მიიღებთ ავტომატურად გენერირებულ ინტერაქციულ დოკუმენტაციას.
-* **Standards-based**: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.
* **სტანდარტებზე დაფუძნებულობა**: დაფუძნებულია (და სრულად თავსებადია) API-ებისთვის განსაზღვრულ ღია სტანდარტებზე: OpenAPI (ადრე ცნობილი იყო, როგორც Swagger) და JSON Schema.
-* estimation based on tests on an internal development team, building production applications.
* ზემოთ მოცემული შეფასებები ეფუძნება წარმოებაში ჩაშვებულ (რეალურ) აპლიკაციებზე მომუშავე შიდა დეველოპმენტის გუნდის ტესტებს.
-## Sponsors
## სპონსორები
@@ -78,75 +66,42 @@ The key features are:
-Other sponsors
სხვა სპონსორები
-## Opinions
## მოსაზრებები
-"_[...] I'm using **FastAPI** a ton these days. [...] I'm actually planning to use it for all of my team's **ML services at Microsoft**. Some of them are getting integrated into the core **Windows** product and some **Office** products._"
-
-Kabir Khan -
Microsoft (ref)
-
----
"_[...] ბოლო დროს, ძალიან ხშირად ვიყენებ **FastAPI**-ს. [...] სიმართლე გითხრათ, მის გამოყენებას ვაპირებ ყველა იმ **ML სერვისისთვის Microsoft-ში**, რაზეც კი ჩემი გუნდი მუშაობს. აღნიშნული სერვისებიდან ზოგიერთი ინტეგრირებულია **Windows**-ის ბირთვში, ზოგი კი — **Office**-ის პროდუქტებში._"
Kabir Khan -
Microsoft (ref)
---
-"_We adopted the **FastAPI** library to spawn a **REST** server that can be queried to obtain **predictions**. [for Ludwig]_"
-
-Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
-
----
-"_ჩვენ გამოვიყენეთ **FastAPI** ბიბლიოთეკა **REST** სერვერის შესაქმნელად, რომლის დანიშნულებაა სხვადასხვა **პროგნოზების** გაკეთება. [Ludwig-ისთვის]_"
+"_ჩვენ გამოვიყენეთ **FastAPI** ბიბლიოთეკა **REST** სერვერის შესაქმნელად, რომლის დანიშნულება გახლავთ სხვადასხვა **პროგნოზების** გაკეთება. [Ludwig-ისთვის]_"
Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
---
-"_**Netflix** is pleased to announce the open-source release of our **crisis management** orchestration framework: **Dispatch**! [built with **FastAPI**]_"
+"_**Netflix**-ის სახელით მოხარული ვარ, გაცნობოთ ჩვენი **კრიზისის მართვის** ორკესტრაციის სისტემის, **Dispatch**-ის წყაროს ღია რელიზის შესახებ! [რომელიც შექმნილია **FastAPI**-ის გამოყენებით]_"
Kevin Glisson, Marc Vilanova, Forest Monsen -
Netflix (ref)
---
-"_**Netflix**-ის სახელით, მოხარული ვარ, გაცნობოთ ჩვენი **კრიზისის მართვის** ორკესტრაციის სისტემის, **Dispatch**-ის წყაროს ღია რელიზის შესახებ! [რომელიც შექმნილია **FastAPI**-ს გამოყენებით]_"
-Kevin Glisson, Marc Vilanova, Forest Monsen -
Netflix (ref)
-
----
-
-"_I’m over the moon excited about **FastAPI**. It’s so fun!_"
-
-
-
----
"_**FastAPI**-ით ცამდე აღფრთოვანებული ვარ. მისი გამოყენება ძალიან სახალისოა!_"
---
-"_Honestly, what you've built looks super solid and polished. In many ways, it's what I wanted **Hug** to be - it's really inspiring to see someone build that._"
+"_გულწრფელად გეუბნებით, თქვენი ნამუშევარი ძალიან სანდოდ და დახვეწილად გამოიყურება. სწორედ ეს არის ის, რაც მინდოდა **Hug**-ი ყოფილიყო — მართლაც შთამაგონებელია იმის დანახვა, რომ ვიღაცამ შეძლო ამის შექმნა._"
---
-"_გულწრფელად გეუბნებით, თქვენი ნამუშევარი ძალიან სანდოდ და დახვეწილად გამოიყურება. სწორედ ეს არის ის, რაც მინდოდა **Hug**-ი ყოფილიყო - მართლაც შთამაგონებელია იმის დანახვა, რომ ვიღაცამ შეძლო ამის შექმნა._"
-
-
-
----
-
-"_If you're looking to learn one **modern framework** for building REST APIs, check out **FastAPI** [...] It's fast, easy to use and easy to learn [...]_"
-
-"_We've switched over to **FastAPI** for our **APIs** [...] I think you'll like it [...]_"
-
-
---
-"_თუ **თანამედროვე ფრეიმვორქს** ეძებთ, რომლითაც REST API-ების შექმნა შესაძლებელია, გაიცანით **FastAPI**-ი [...] იგი არის სწრაფი, მარტივი გამოსაყენებელი და ადვილად შესასწავლი [...]_"
+"_თუ **თანამედროვე ფრეიმვორქს** ეძებთ, რომლითაც REST API-ების შექმნაა შესაძლებელი, გაეცანით **FastAPI**-ს [...] იგი არის სწრაფი, მარტივად გამოსაყენებელი და ადვილად შესასწავლი [...]_"
"_ჩვენ გადავაწყეთ ჩვენი **API**-ები **FastAPI**-ზე [...] ვფიქრობ, აღნიშნული ფრეიმვორქი გულგრილს არავის დატოვებს [...]_"
@@ -154,40 +109,27 @@ The key features are:
---
-"_If anyone is looking to build a production Python API, I would highly recommend **FastAPI**. It is **beautifully designed**, **simple to use** and **highly scalable**, it has become a **key component** in our API first development strategy and is driving many automations and services such as our Virtual TAC Engineer._"
+"_თუ ვინმე აპირებს შექმნას Python-ზე დაფუძნებული, წარმოებაში ჩასაშვებად ვარგისი API-ი, **FastAPI**-ის გამოყენებას ვურჩევ. ეს არის **დახვეწილი**, **მარტივად გამოსაყენებელი** და **მასშტაბირებადი** ტექნოლოგია. იგი გახდა API-ების შემუშავების ჩვენეული სტრატეგიის **ქვაკუთხედი** და სწორედ მისი გამოყენებითაა შემუშავებული ჩვენი არაერთი ავტომატიზაციის სისტემა და სერვისები, მათ შორის ჩვენი ვირტუალური TAC ინჟინერი._"
Deon Pillsbury -
Cisco (ref)
---
-"_თუ ვინმე აპირებს Python-ზე დაფუძნებული, წარმოებაში ჩასაშვებად ვარგისი API-ი შექმნას, **FastAPI**-ის გამოყენებას ვურჩევ. იგი არის **დახვეწილი**, **მარტივად გამოსაყენებელი** და **მასშტაბირებადი** ტექნოლოგია. იგი გახდა API-ების შემუშავების ჩვენეული სტრატეგიის **ქვაკუთხედი** და სწორედ მისი გამოყენებითაა შემუშავებული ჩვენი არაერთი ავტომატიზაციის სისტემა და სერვისები, მათ შორის ჩვენი ვირტუალური TAC ინჟინერი._"
-Deon Pillsbury -
Cisco (ref)
-
----
-
-## **Typer**, the FastAPI of CLIs
## **Typer**: ბრძანებათა სტრიქონის FastAPI
-If you are building a CLI app to be used in the terminal instead of a web API, check out **Typer**.
-თუკი მუშაობთ CLI აპლიკაციაზე, რომელიც გამოყენებულ იქნება ტერმინალში ვებ API-ის ნაცვლად, გაეცანით **Typer**-ს.
+თუკი მუშაობთ CLI აპლიკაციაზე, რომელიც გამოყენებულ იქნება ტერმინალში ვებ API-ის ნაცვლად, თვალი შეავლეთ **Typer**-ს.
-**Typer** is FastAPI's little sibling. And it's intended to be the **FastAPI of CLIs**. ⌨️ 🚀
-**Typer**-ი არის FastAPI-ის პატარა ძამიკო. მისი დანიშნულებაა, იყოს **ბრძანებათა სტრიქონის FastAPI**. ⌨️ 🚀
+**Typer**-ი არის FastAPI-ის პატარა ძამიკო. მისი დანიშნულებაა, იყოს **FastAPI ბრძანებათა სტრიქონისათვის**. ⌨️ 🚀
-## Requirements
## მოთხოვნები
-FastAPI stands on the shoulders of giants:
-FastAPI მხრებზე შემოსდგომია შემდეგ გიგანტებს:
+FastAPI მხრებზე შემოსდგომია ისეთ გიგანტებს, როგორებიცაა:
-* Starlette for the web parts.
* Starlette: ვების ნაწილში.
-* Pydantic for the data parts.
* Pydantic: მონაცემების ნაწილში.
-## Installation
## ინსტალაცია
@@ -200,13 +142,10 @@ $ pip install fastapi
-## Example
## მაგალითი
-### Create it
### შევქმნათ
-* Create a file `main.py` with:
* შექმენით `main.py` ფაილი შემდეგი შიგთავსით:
```Python
@@ -228,11 +167,9 @@ def read_item(item_id: int, q: Union[str, None] = None):
```
-Or use async def
...
ან გამოიყენეთ async def
...
-If your code uses `async` / `await`, use `async def`:
-თუკი თქვენი კოდი იყენებს `async` / `await`-ს, გამოიყენეთ `async def`:
+თუ თქვენი კოდი იყენებს `async` / `await` კონსტრუქციას, გამოიყენეთ `async def`:
```Python hl_lines="9 14"
from typing import Union
@@ -252,18 +189,14 @@ async def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}
```
-**Note**:
**შენიშვნა**:
-If you don't know, check the _"In a hurry?"_ section about `async` and `await` in the docs.
-თუკი ჯერ ვერ ერკვევით აღნიშნულ საკითხში, `async`-ისა და `await`-ის შესახებ დოკუმენტაციაში გადახედეთ განყოფილებას სათაურით: _„გეჩქარებათ?“_.
+თუ თქვენ ჯერ ვერ ერკვევით აღნიშნულ საკითხში, `async`-ისა და `await`-ის შესახებ დოკუმენტაციაში გადახედეთ განყოფილებას, სათაურით: _„გეჩქარებათ?“_.
-### Run it
### გავუშვათ
-Run the server with:
გაუშვით სერვერი შემდეგი ბრძანებით:
@@ -294,74 +227,53 @@ INFO: Application startup complete.
-About the command fastapi dev main.py
...
fastapi dev main.py
ბრძანების შესახებ...
-The command `fastapi dev` reads your `main.py` file, detects the **FastAPI** app in it, and starts a server using Uvicorn.
`fastapi dev` ბრძანება კითხულობს თქვენს `main.py` ფაილს, მასში **FastAPI** აპლიკაციას აიდენტიფიცირებს და Uvicorn-ის გამოყენებით უშვებს სერვერს.
-By default, `fastapi dev` will start with auto-reload enabled for local development.
ნაგულისხმევად, ლოკალური დეველოპმენტისთვის, `fastapi dev` ბრძანებით გაშვებული სერვერისთვის აქტივირებული იქნება ავტოგადატვირთვის ფუნქცია.
-You can read more about it in the FastAPI CLI docs.
ამ საკითხთან დაკავშირებით დამატებითი ინფორმაცია შეგიძლიათ წაიკითხოთ FastAPI CLI-ის დოკუმენტაციაში.
-### Check it
### შევამოწმოთ
-Open your browser at http://127.0.0.1:8000/items/5?q=somequery.
თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/items/5?q=somequery.
-You will see the JSON response as:
დაინახავთ JSON ფორმატის მქონე მონაცემს:
```JSON
{"item_id": 5, "q": "somequery"}
```
-You already created an API that:
ამგვარად, თქვენ უკვე შექმენით API, რომელიც:
-* Receives HTTP requests in the _paths_ `/` and `/items/{item_id}`.
* იღებს HTTP მოთხოვნებს შემდეგ _მისამართებზე_: `/` და `/items/{item_id}`.
-* Both _paths_ take `GET` operations (also known as HTTP _methods_).
* ორივე _მისამართი_ ამუშავებს `GET` ოპერაციას (ასევე ცნობილს, როგორც HTTP _მეთოდი_).
-* The _path_ `/items/{item_id}` has a _path parameter_ `item_id` that should be an `int`.
* `/items/{item_id}` _მისამართს_ გააჩნია _მარშრუტის პარამეტრი_ `item_id`, რომელიც უნდა იყოს მთელი რიცხვის (`int`) ტიპის.
-* The _path_ `/items/{item_id}` has an optional `str` _query parameter_ `q`.
* `/items/{item_id}` მისამართს გააჩნია არასავალდებულო სტრიქონის (`str`) ტიპის _საძიებო (query) პარამეტრი_ `q`.
-### Interactive API docs
### ინტერაქციული API დოკუმენტაცია
-Now go to http://127.0.0.1:8000/docs.
გახსენით თქვენი ბრაუზერი და შედით ბმულზე: http://127.0.0.1:8000/docs.
-You will see the automatic interactive API documentation (provided by Swagger UI):
დაინახავთ ავტომატურად გენერირებულ ინტერაქციულ API დოკუმენტაციას (რომელიც უზრუნველყოფილია Swagger UI-ის მიერ):

-### Alternative API docs
### ალტერნატიული API დოკუმენტაცია
-And now, go to http://127.0.0.1:8000/redoc.
ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
-You will see the alternative automatic documentation (provided by ReDoc):
დაინახავთ ალტერნატიულ ავტომატურად გენერირებულ დოკუმენტაციას (რომელიც უზრუნველყოფილია ReDoc-ის მიერ):

-## Example upgrade
## გაუმჯობესების მაგალითი
-Now modify the file `main.py` to receive a body from a `PUT` request.
-მოდით, შევცვალოთ `main.py` ფაილის შიგთავსი იმგვარად, რომ `PUT` ტიპის მოთხოვნით შევძლოთ მონაცემების მიღება.
+მოდით, შევცვალოთ `main.py` ფაილის შიგთავსი იმგვარად, რომ `PUT` ოპერაციით შევძლოთ მონაცემების მიღება.
-Declare the body using standard Python types, thanks to Pydantic.
მოვახდინოთ მოთხოვნის შიგთავსის პროტოტიპის დეკლარაცია Python-ის სტანდარტული ტიპების გამოყენებით. ამ შესაძლებლობას Pydantic-ს უნდა ვუმადლოდეთ.
```Python hl_lines="4 9-12 25-27"
@@ -394,94 +306,63 @@ def update_item(item_id: int, item: Item):
return {"item_name": item.name, "item_id": item_id}
```
-The `fastapi dev` server should reload automatically.
ცვლილებების შენახვის შემდეგ, `fastapi dev` ბრძანებით გაშვებული სერვერი, წესით და რიგით, ავტომატურად გადაიტვირთება.
-### Interactive API docs upgrade
### გავაუმჯობესოთ ინტერაქციული API დოკუმენტაცია
-Now go to http://127.0.0.1:8000/docs.
თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/docs.
-* The interactive API documentation will be automatically updated, including the new body:
-* ინტერაქციული API დოკუმენტაცია, ახლად დამატებული პროტოტიპის ჩათვლით, განახლდება ავტომატურად:
+* ინტერაქციული API დოკუმენტაცია ავტომატურად განახლდება და ახლად დამატებული შიგთავსის პროტოტიპიც გამოჩნდება:

-* Click on the button "Try it out", it allows you to fill the parameters and directly interact with the API:
-* დააკლიკეთ "Try it out" ღილაკს. ეს საშუალებას მოგცემთ, განსაზღვროთ პარამეტრების მნიშვნელობები და API-სთან უშუალო ინტერაქციით დაკავდეთ:
+* დააკლიკეთ „Try it out“ ღილაკს. ეს საშუალებას მოგცემთ, ხელით გაწეროთ პარამეტრების მნიშვნელობები და API-სთან უშუალო ინტერაქციით დაკავდეთ:

-* Then click on the "Execute" button, the user interface will communicate with your API, send the parameters, get the results and show them on the screen:
-* შემდგომ ამისა, დააკლიკეთ "Execute" ღილაკს, რითაც თქვენ მიერ გახსნილი ინტერფეისი დაუკავშირდება API-ს, გაგზავნის თქვენ მიერ განსაზღვრულ პარამეტრებს, მიიღებს მოთხოვნის შედეგებს და გამოიტანს ეკრანზე:
+* შემდგომ ამისა, დააკლიკეთ „Execute“ ღილაკს, რითაც თქვენ მიერ გახსნილი ინტერფეისი დაუკავშირდება API-ს, გაგზავნის თქვენ მიერ განსაზღვრულ პარამეტრებს, მიიღებს მოთხოვნის შედეგებს და გამოიტანს ეკრანზე:

-### Alternative API docs upgrade
### გავაუმჯობესოთ ალტერნატიული API დოკუმენტაცია
-And now, go to http://127.0.0.1:8000/redoc.
ახლა კი, თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
-* The alternative documentation will also reflect the new query parameter and body:
-* ახლად დამატებული საძიებო პარამეტრი და შიგთავსის პროტოტიპი ალტერნატიულ დოკუმენტაციაშიც აისახება:
+* ახლად დამატებული საძიებო პარამეტრი და შიგთავსის პროტოტიპი ალტერნატიულ დოკუმენტაციაშიც ჰპოვებს ასახვას:

-### Recap
### შეჯამება
-In summary, you declare **once** the types of parameters, body, etc. as function parameters.
-მაშასადამე, პარამეტრების, შიგთავსის პროტოტიპებისა და სხვა ტიპების დეკლარირებას ახორციელებთ **ერთჯერადად**. როგორც ეს ხდება ფუნქციისათვის პარამეტრების განსაზღვრისას.
+ამრიგად, პარამეტრების, შიგთავსის პროტოტიპებისა და სხვა ტიპების დეკლარირებას ახორციელებთ **ერთჯერადად**. როგორც ფუნქციისათვის პარამეტრების განსაზღვრისას ხდება.
-You do that with standard modern Python types.
ამას აკეთებთ Python-ის თანამედროვე, სტანდარტული ტიპების გამოყენებით.
-You don't have to learn a new syntax, the methods or classes of a specific library, etc.
-არ გჭირდებათ რომელიმე ცალკეული ბიბლიოთეკისთვის დამახასიათებელი თავისებური სინტაქსის, მეთოდების ან კლასების შესწავლა.
+არ გჭირდებათ რომელიმე ცალკეული ბიბლიოთეკისთვის დამახასიათებელი განსხვავებული სინტაქსის, მეთოდების ან კლასების შესწავლა.
-Just standard **Python**.
იყენებთ მხოლოდ და მხოლოდ სტანდარტულ **Python**-ს.
-For example, for an `int`:
-მაგალითად, `int`-ის შემთხვევაში:
+მაგალითისათვის, `int`-ის შემთხვევაში:
```Python
item_id: int
```
-or for a more complex `Item` model:
ან შედარებით რთული `Item` მოდელისთვის:
```Python
item: Item
```
-...and with that single declaration you get:
...და ამ ერთი დეკლარაციით თქვენ მიიღებთ:
-* Editor support, including:
- * Completion.
- * Type checks.
* რედაქტორის მხარდაჭერას. მათ შორის:
* კოდის ავტოდასრულებას.
* ტიპთა ვალიდურობის შემოწმებას.
-* Validation of data:
- * Automatic and clear errors when the data is invalid.
- * Validation even for deeply nested JSON objects.
* მონაცემთა ვალიდაციას:
* ავტომატურად გენერირებულ და მარტივად გასაგებ ცდომილების შეტყობინებებს, როდესაც მონაცემები ვალიდური არ იქნება.
* ვალიდაციას თუნდაც უკიდურესად კომპლექსური (მაგ.: მრავალშრიანი) JSON მონაცემებისათვის.
-* Conversion of input data: coming from the network to Python data and types. Reading from:
- * JSON.
- * Path parameters.
- * Query parameters.
- * Cookies.
- * Headers.
- * Forms.
- * Files.
* შემავალ მონაცემთა გარდაქმნას: ქსელიდან შემომავალი მონაცემების გადათარგმნას Python-ისთვის გასაგებ მონაცემებად და ტიპებად. შესაძლებელია შემდეგი სახის მონაცემების წაკითხვა და გარდაქმნა:
* JSON.
* მარშრუტის (Path) პარამეტრები.
@@ -490,200 +371,131 @@ item: Item
* თავსართები (Headers).
* ფორმები.
* ფაილები.
-* Conversion of output data: converting from Python data and types to network data (as JSON):
- * Convert Python types (`str`, `int`, `float`, `bool`, `list`, etc).
- * `datetime` objects.
- * `UUID` objects.
- * Database models.
- * ...and many more.
* გამომავალ მონაცემთა გარდაქმნას: Python-ის მონაცემებისა და ტიპების გადათარგმნას ქსელურ მონაცემებად (JSON-ად). შესაძლებელია შემდეგი სახის მონაცემების გარდაქმნა:
* Python-ის ტიპები (`str`, `int`, `float`, `bool`, `list` და სხვ.).
* `datetime` ობიექტები.
* `UUID` ობიექტები.
* მონაცემთა ბაზის მოდელები.
* ...და მრავალი სხვა.
-* Automatic interactive API documentation, including 2 alternative user interfaces:
- * Swagger UI.
- * ReDoc.
* ავტომატურად გენერირებულ ინტერაქციულ API დოკუმენტაციას, რომელიც მოიცავს 2 ალტერნატიულ ინტერფეისს. ესენია:
* Swagger UI.
* ReDoc.
---
-Coming back to the previous code example, **FastAPI** will:
მოდით, მივუბრუნდეთ წინა მაგალითს და გავაანალიზოთ, რას და როგორ გააკეთებს **FastAPI**:
-* Validate that there is an `item_id` in the path for `GET` and `PUT` requests.
* `GET` და `PUT` ოპერაციებისათვის შეამოწმებს, არის თუ არა `item_id` პარამეტრი მითითებული მისამართში.
-* Validate that the `item_id` is of type `int` for `GET` and `PUT` requests.
- * If it is not, the client will see a useful, clear error.
* `GET` და `PUT` ოპერაციებისათვის გადაამოწმებს, არის თუ არა `item_id` პარამეტრი `int` ტიპის.
* თუ ეს ასე არ იქნება, კლიენტი იხილავს გამოსადეგ, მარტივად გასაგებ ცდომილების შეტყობინებას.
-* Check if there is an optional query parameter named `q` (as in `http://127.0.0.1:8000/items/foo?q=somequery`) for `GET` requests.
- * As the `q` parameter is declared with `= None`, it is optional.
- * Without the `None` it would be required (as is the body in the case with `PUT`).
* `GET` ოპერაციებისათვის შეამოწმებს, არის თუ არა მისამართში წარმოდგენილი არასავალდებულო საძიებო (query) პარამეტრი, სახელად `q` (მაგ.: `http://127.0.0.1:8000/items/foo?q=somequery`).
* ვინაიდან `q` პარამეტრი კოდში განსაზღვრულია `= None` ბოლოსართით, იგი არასავალდებულოა.
* `None`-ის არარსებობის შემთხვევაში, იგი იქნებოდა სავალდებულო (მსგავსად მოთხოვნის შიგთავსისა `PUT` ოპერაციის შემთხვევაში).
-* For `PUT` requests to `/items/{item_id}`, Read the body as JSON:
- * Check that it has a required attribute `name` that should be a `str`.
- * Check that it has a required attribute `price` that has to be a `float`.
- * Check that it has an optional attribute `is_offer`, that should be a `bool`, if present.
- * All this would also work for deeply nested JSON objects.
* `/items/{item_id}` მისამართზე `PUT` ოპერაციისას, წაიკითხავს მოთხოვნის შიგთავსს, როგორც JSON ფორმატის მქონე მონაცემს. ამასთან:
* შეამოწმებს, არის თუ არა განსაზღვრული `str` ტიპის სავალდებულო `name` ატრიბუტი.
* შეამოწმებს, არის თუ არა განსაზღვრული `float` ტიპის სავალდებულო `price` ატრიბუტი.
* შეამოწმებს, მოთხოვნის შიგთავსში არის თუ არა წარმოდგენილი `bool` ტიპის არასავალდებულო `is_offer` ატრიბუტი.
* ყველაფერი ეს იმუშავებს ნებისმიერი სახის (მაგ.: მრავალშრიანი) JSON მონაცემისათვის.
* Convert from and to JSON automatically.
-* ავტომატურად გარდაქმნის JSON-ს სხვა სახის მონაცემად და პირიქით.
-* Document everything with OpenAPI, that can be used by:
- * Interactive documentation systems.
- * Automatic client code generation systems, for many languages.
+* ავტომატურად გარდაქმნის JSON-ს სხვა ფორმატის მქონე მონაცემად და პირიქით.
* OpenAPI-ით მოახდენს ყველაფრის დოკუმენტირებას, რაც გამოსადეგი იქნება:
* ინტერაქციული დოკუმენტაციის სისტემებისათვის.
* კლიენტის კოდის ავტომატიზირებული გენერირების სისტემებისათვის სხვადასხვა ენაში.
-* Provide 2 interactive documentation web interfaces directly.
* უშუალოდ უზრუნველყოფს 2 ალტერნატიული ინტერაქციული დოკუმენტაციის ვებინტერფეისის არსებობას.
---
-We just scratched the surface, but you already get the idea of how it all works.
-ჯერჯერობით ჩვენ რაც განვიხილეთ, მხოლოდ და მხოლოდ ზედაპირია აისბერგისა, მაგრამ, ასე თუ ისე, ალბათ გაიაზრეთ ზოგადი პრინციპი, თუ როგორ მუშაობს ეს ყველაფერი.
+ჯერჯერობით ჩვენ რაც განვიხილეთ, მხოლოდ და მხოლოდ ზედაპირია აისბერგისა, მაგრამ, ასე თუ ისე, ალბათ გაიაზრეთ ამ ყველაფრის მუშაობის ზოგადი პრინციპი.
-Try changing the line with:
სცადეთ შემდეგ ხაზში ცვლილების შეტანა:
```Python
return {"item_name": item.name, "item_id": item_id}
```
-...from:
...ადრე:
```Python
... "item_name": item.name ...
```
-...to:
...ახლა:
```Python
... "item_price": item.price ...
```
-...and see how your editor will auto-complete the attributes and know their types:
...და დააკვირდით, როგორ მოახდენს თქვენი ტექსტური რედაქტორი ატრიბუტების ავტოდასრულებას და მათი ტიპების იდენტიფიცირებას:

-For a more complete example including more features, see the Tutorial - User Guide.
მეტად სრულყოფილი მაგალითის სანახავად, სადაც განხილული იქნება უფრო მეტი საკითხი, იხილეთ სახელმძღვანელო — მომხმარებლის გზამკვლევი.
-**Spoiler alert**: the tutorial - user guide includes:
**გაფრთხილება სპოილერის შესახებ**: მომხმარებლის გზამკვლევი მოიცავს შემდეგ საკითხებს:
-* Declaration of **parameters** from other different places as: **headers**, **cookies**, **form fields** and **files**.
* **პარამეტრების** დეკლარირება სხვა წყაროებიდან, როგორებიცაა: **თავსართები (headers)**, **cookie-ები**, **ფორმის ველები** და **ფაილები**.
-* How to set **validation constraints** as `maximum_length` or `regex`.
* **შემმოწმებლებისათვის (ვალიდატორებისათვის) შეზღუდვების** დაწესება, როგორებიცაა: `maximum_length` ან `regex`.
-* A very powerful and easy to use **Dependency Injection** system.
* ძალიან მძლავრი და მარტივად გამოსაყენებელი **პაკეტების ინექცირების** სისტემა.
-* Security and authentication, including support for **OAuth2** with **JWT tokens** and **HTTP Basic** auth.
* უსაფრთხოება და ავთენტიკაცია, მათ შორის **OAuth2**-ის მხარდაჭერა **JWT ტოკენებით** და **HTTP Basic** ავთენტიკაცია.
-* More advanced (but equally easy) techniques for declaring **deeply nested JSON models** (thanks to Pydantic).
* მეტად სიღრმისეული (მაგრამ ისეთივე მარტივი) მეთოდოლოგიები **კომპლექსური (მრავალშრიანი) JSON მოდელების** დეკლარირებისათვის (მადლობა Pydantic-ს).
-* **GraphQL** integration with Strawberry and other libraries.
-* **GraphQL**-ის ინტეგრირება Strawberry-სთან და სხვა ბიბლიოთეკებთან.
-* Many extra features (thanks to Starlette) as:
- * **WebSockets**
- * extremely easy tests based on HTTPX and `pytest`
- * **CORS**
- * **Cookie Sessions**
- * ...and more.
-* არაერთი სხვა თავისებურება (მადლობა Starlette-ს), როგორებიცაა:
+* **GraphQL**-ის ინტეგრირება Strawberry-სთან და სხვა ბიბლიოთეკებთან ერთად.
+* არაერთი სხვა ფუნქციონალი (მადლობა Starlette-ს), როგორებიცაა:
* **ვებსოკეტები**
* HTTPX-ზე და `pytest`-ზე დაფუძნებული უმარტივესი ტესტები
* **CORS**
* **Cookie სესიები**
* ...და მრავალი სხვა.
-## Performance
## წარმადობა
-Independent TechEmpower benchmarks show **FastAPI** applications running under Uvicorn as one of the fastest Python frameworks available, only below Starlette and Uvicorn themselves (used internally by FastAPI). (*)
TechEmpower-ის მიუკერძოებელი ტესტები ცხადყოფენ, რომ Uvicorn-ით გაშვებული **FastAPI**-ზე დაფუძნებული აპლიკაციები წარმოაჩენენ FastAPI-ს, როგორც ერთ-ერთ უსწრაფეს ფრეიმვორქს Python-ის არსებულ ფრეიმვორქებს შორის. მას წინ უსწრებენ მხოლოდ Starlette-ი და Uvicorn-ი (რომლებსაც, თავის მხრივ, FastAPI-ი იყენებს). (*)
-To understand more about it, see the section Benchmarks.
ამ ყველაფრის უკეთ გასააზრებლად იხილეთ შემდეგი განყოფილება: წარმადობის ტესტები (Benchmarks).
-## Dependencies
## პაკეტები
-Used by Pydantic:
-Pydantic-ის მიერ გამოიყენება:
+Pydantic-ის მიერ გამოიყენება შემდეგი პაკეტები:
-* email_validator
- for email validation.
-* email_validator
- მეილის ვალიდაციისათვის.
-* pydantic-settings
- for settings management.
-* pydantic-settings
- პარამეტრების სამართავად.
-* pydantic-extra-types
- for extra types to be used with Pydantic.
-* pydantic-extra-types
- Pydantic-თან ერთად გამოყენებადი დამატებითი ტიპებისათვის.
+* email_validator
— მეილის ვალიდაციისათვის.
+* pydantic-settings
— პარამეტრების სამართავად.
+* pydantic-extra-types
— Pydantic-თან ერთად გამოყენებადი დამატებითი ტიპებისათვის.
-Used by Starlette:
-Starlette-ის მიერ გამოიყენება:
+Starlette-ის მიერ გამოიყენება შემდეგი პაკეტები:
-* httpx
- Required if you want to use the `TestClient`.
-* httpx
- სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ `TestClient`-ი .
-* jinja2
- Required if you want to use the default template configuration.
-* jinja2
- სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ შაბლონის ნაგულისხმევი კონფიგურაცია.
-* python-multipart
- Required if you want to support form "parsing", with `request.form()`.
-* python-multipart
- სავალდებულოა, თუკი გსურთ, რომ გქონდეთ ფორმების „პარსინგის“ შესაძლებლობა `request.form()`-ის გამოყენებით.
+* httpx
— სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ `TestClient`-ი .
+* jinja2
— სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ შაბლონის ნაგულისხმევი კონფიგურაცია.
+* python-multipart
— სავალდებულოა, თუკი გსურთ, რომ გქონდეთ ფორმების „პარსინგის“ შესაძლებლობა `request.form()`-ის გამოყენებით.
-Used by FastAPI / Starlette:
-FastAPI / Starlette-ის მიერ გამოიყენება:
+FastAPI / Starlette-ის მიერ გამოიყენება შემდეგი პაკეტები:
-* uvicorn
- for the server that loads and serves your application.
-* uvicorn
- სერვერისთვის, რომელიც ემსახურება თქვენი აპლიკაციის ჩატვირთვას და მუშაობას.
-* `fastapi-cli` - to provide the `fastapi` command.
-* `fastapi-cli` - უზრუნველყოფს `fastapi` ბრძანების ხელმისაწვდომობას.
+* uvicorn
— სერვერისთვის, რომელიც ემსახურება თქვენი აპლიკაციის ჩატვირთვას და მუშაობას.
+* `fastapi-cli` — უზრუნველყოფს `fastapi` ბრძანების ხელმისაწვდომობას.
-When you install `fastapi` it comes these standard dependencies.
`fastapi`-ის ინსტალირებისას, მასთან ერთად ინსტალირდება ზემოთ ჩამოთვლილი სტანდარტული პაკეტებიც.
-Additional optional dependencies:
-დამატებითი არასავალდებულო პაკეტები:
+დამატებითი არასავალდებულო პაკეტები გახლავთ:
-* orjson
- Required if you want to use `ORJSONResponse`.
-* orjson
- სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ `ORJSONResponse`-ი.
-* ujson
- Required if you want to use `UJSONResponse`.
-* ujson
- სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ `UJSONResponse`-ი.
+* orjson
— სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ `ORJSONResponse`-ი.
+* ujson
— სავალდებულოა, თუკი გსურთ, რომ გამოიყენოთ `UJSONResponse`-ი.
## `fastapi-slim`
-If you don't want the extra standard optional dependencies, install `fastapi-slim` instead.
თუ არ გჭირდებათ დამატებითი არასავალდებულო სტანდარტული პაკეტები, `fastapi`-ის ნაცვლად დააინსტალირეთ `fastapi-slim`-ი.
-When you install with:
როდესაც ინსტალაციას ახორციელებთ შემდეგი ბრძანებით:
```bash
pip install fastapi
```
-...it includes the same code and dependencies as:
...ინსტალირდება იგივე კოდი და პაკეტები, რაც დაინსტალირდებოდა შემდეგი ბრძანების გამოყენების შემთხვევაში:
```bash
pip install "fastapi-slim[standard]"
```
-The standard extra dependencies are the ones mentioned above.
-არასავალდებულო სტანდარტულ პაკეტებში იგულისხმება ზემოთ ნახსენები პაკეტები.
+არასავალდებულო სტანდარტულ პაკეტებში იგულისხმება ზემოთ მოხსენიებული პაკეტები.
-## License
## ლიცენზია
-This project is licensed under the terms of the MIT license.
წინამდებარე პროექტზე ვრცელდება MIT ლიცენზიით გათვალისწინებული წესები და პირობები.
From 3462fbb8684d3c428404f254fccaae941778dbee Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 21:19:20 +0400
Subject: [PATCH 24/27] General improvements
---
docs/ka/docs/index.md | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 92557d3f1..1c731df1b 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -40,16 +40,16 @@ FastAPI არის თანამედროვე, სწრაფი (მ
მისი ძირითადი მახასიათებლები გახლავთ:
-* **სისწრაფე**: აქვს ძალიან მაღალი წარმადობა, როგორც **NodeJS**-სა და **Go**-ს (მადლობა Starlette-სა და Pydantic-ს). [ერთ-ერთი უსწრაფესი ფრეიმვორქია Python-ის არსებულ ფრეიმვორქებს შორის](#performance).
+* **სისწრაფე**: **NodeJS**-ისა და **Go**-ს მსგავსად აქვს ძალიან მაღალი წარმადობა (რასაც Starlette-სა და Pydantic-ს უნდა ვუმადლოდეთ). [ერთ-ერთი უსწრაფესი ფრეიმვორქია Python-ის არსებულ ფრეიმვორქებს შორის](#performance).
* **ეფექტურობა**: დეველოპმენტის პროცესს აჩქარებს დაახლოებით 200-300 პროცენტით. *
* **ნაკლები პროგრამული ხარვეზი**: ადამიანის (დეველოპერის) მიერ გამოწვეული ხარვეზების ალბათობას ამცირებს დაახლოებით 40 პროცენტით. *
-* **ინტუიციურობა**: შესანიშნავი თავსებადობა ტექსტურ რედაქტორებთან. კოდის ავტოდასრულების ფუნქციონალი ხელმისაწვდომია ყველგან. ნაკლებ დროს დახარჯავთ ხარვეზების აღმოფხვრაში.
+* **ინტუიციურობა**: შესანიშნავი თავსებადობა ტექსტურ რედაქტორებთან. კოდის ავტოდასრულების ფუნქციონალი ხელმისაწვდომია სრული მასშტაბით. ნაკლებ დროს დახარჯავთ ხარვეზების აღმოფხვრაში.
* **სიმარტივე**: ტექნოლოგია შემუშავებულია იმგვარად, რომ მარტივად გამოსაყენებელი და ასათვისებელი იყოს. დოკუმენტაციის კითხვაში ნაკლებ დროს დახარჯავთ.
* **კომპაქტურობა**: კოდის დუბლიკაციის საჭიროება მინიმუმამდეა დაყვანილი. თითოეული პარამეტრის განსაზღვრით აქტიურდება მრავალი ფუნქციონალი. პროგრამული ხარვეზების წარმოქმნის ალბათობა მინიმუმამდეა დაყვანილი.
* **მდგრადობა**: მიიღებთ წარმოებაში ჩაშვებისათვის გამზადებულ კოდს. ამას გარდა, მიიღებთ ავტომატურად გენერირებულ ინტერაქციულ დოკუმენტაციას.
* **სტანდარტებზე დაფუძნებულობა**: დაფუძნებულია (და სრულად თავსებადია) API-ებისთვის განსაზღვრულ ღია სტანდარტებზე: OpenAPI (ადრე ცნობილი იყო, როგორც Swagger) და JSON Schema.
-* ზემოთ მოცემული შეფასებები ეფუძნება წარმოებაში ჩაშვებულ (რეალურ) აპლიკაციებზე მომუშავე შიდა დეველოპმენტის გუნდის ტესტებს.
+* ზემოთ მოცემული შეფასებები ეფუძნება წარმოებაში ჩაშვებულ (რეალურ) აპლიკაციებზე მომუშავე შიდა დეველოპმენტის გუნდის მიერ ჩატარებულ ტესტებს.
## სპონსორები
@@ -82,7 +82,7 @@ FastAPI არის თანამედროვე, სწრაფი (მ
---
-"_**Netflix**-ის სახელით მოხარული ვარ, გაცნობოთ ჩვენი **კრიზისის მართვის** ორკესტრაციის სისტემის, **Dispatch**-ის წყაროს ღია რელიზის შესახებ! [რომელიც შექმნილია **FastAPI**-ის გამოყენებით]_"
+"_**Netflix**-ის სახელით მოხარული ვარ გაცნობოთ ჩვენი **კრიზისის მართვის** ორკესტრაციის სისტემის, **Dispatch**-ის წყაროს ღია რელიზის შესახებ! [რომელიც შექმნილია **FastAPI**-ის გამოყენებით]_"
Kevin Glisson, Marc Vilanova, Forest Monsen -
Netflix (ref)
@@ -101,7 +101,7 @@ FastAPI არის თანამედროვე, სწრაფი (მ
---
---
-"_თუ **თანამედროვე ფრეიმვორქს** ეძებთ, რომლითაც REST API-ების შექმნაა შესაძლებელი, გაეცანით **FastAPI**-ს [...] იგი არის სწრაფი, მარტივად გამოსაყენებელი და ადვილად შესასწავლი [...]_"
+"_თუ **თანამედროვე ფრეიმვორქს** ეძებთ, რომლითაც REST API-ების შექმნაა შესაძლებელი, გადახედეთ **FastAPI**-ს [...] იგი არის სწრაფი, მარტივად გამოსაყენებელი და ადვილად შესასწავლი [...]_"
"_ჩვენ გადავაწყეთ ჩვენი **API**-ები **FastAPI**-ზე [...] ვფიქრობ, აღნიშნული ფრეიმვორქი გულგრილს არავის დატოვებს [...]_"
@@ -119,9 +119,9 @@ FastAPI არის თანამედროვე, სწრაფი (მ
-თუკი მუშაობთ CLI აპლიკაციაზე, რომელიც გამოყენებულ იქნება ტერმინალში ვებ API-ის ნაცვლად, თვალი შეავლეთ **Typer**-ს.
+თუკი მუშაობთ CLI აპლიკაციაზე, რომელიც ვებ API-ის ნაცვლად გამოყენებულ იქნება ტერმინალში, თვალი შეავლეთ **Typer**-ს.
-**Typer**-ი არის FastAPI-ის პატარა ძამიკო. მისი დანიშნულებაა, იყოს **FastAPI ბრძანებათა სტრიქონისათვის**. ⌨️ 🚀
+**Typer**-ი არის FastAPI-ის პატარა ძამიკო. იგი ჩაფიქრებულია, როგორც **FastAPI ბრძანებათა სტრიქონისათვის**. ⌨️ 🚀
## მოთხოვნები
@@ -191,7 +191,7 @@ async def read_item(item_id: int, q: Union[str, None] = None):
**შენიშვნა**:
-თუ თქვენ ჯერ ვერ ერკვევით აღნიშნულ საკითხში, `async`-ისა და `await`-ის შესახებ დოკუმენტაციაში გადახედეთ განყოფილებას, სათაურით: _„გეჩქარებათ?“_.
+თუ თქვენ ჯერ არ ხართ გარკვეული აღნიშნულ საკითხში, `async`-ისა და `await`-ის შესახებ დოკუმენტაციაში გადახედეთ განყოფილებას, სათაურით: _„გეჩქარებათ?“_.
@@ -239,7 +239,7 @@ INFO: Application startup complete.
### შევამოწმოთ
-თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/items/5?q=somequery.
+ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/items/5?q=somequery.
დაინახავთ JSON ფორმატის მქონე მონაცემს:
@@ -250,9 +250,9 @@ INFO: Application startup complete.
ამგვარად, თქვენ უკვე შექმენით API, რომელიც:
* იღებს HTTP მოთხოვნებს შემდეგ _მისამართებზე_: `/` და `/items/{item_id}`.
-* ორივე _მისამართი_ ამუშავებს `GET` ოპერაციას (ასევე ცნობილს, როგორც HTTP _მეთოდი_).
+* ორივე _მისამართი_ ამუშავებს `GET` ოპერაციას (ასევე ცნობილია, როგორც HTTP _მეთოდი_).
* `/items/{item_id}` _მისამართს_ გააჩნია _მარშრუტის პარამეტრი_ `item_id`, რომელიც უნდა იყოს მთელი რიცხვის (`int`) ტიპის.
-* `/items/{item_id}` მისამართს გააჩნია არასავალდებულო სტრიქონის (`str`) ტიპის _საძიებო (query) პარამეტრი_ `q`.
+* `/items/{item_id}` მისამართი შეიცავს სტრიქონის (`str`) ტიპის არასავალდებულო `q` _საძიებო (query) პარამეტრს_.
### ინტერაქციული API დოკუმენტაცია
@@ -310,24 +310,24 @@ def update_item(item_id: int, item: Item):
### გავაუმჯობესოთ ინტერაქციული API დოკუმენტაცია
-თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/docs.
+ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/docs.
* ინტერაქციული API დოკუმენტაცია ავტომატურად განახლდება და ახლად დამატებული შიგთავსის პროტოტიპიც გამოჩნდება:

-* დააკლიკეთ „Try it out“ ღილაკს. ეს საშუალებას მოგცემთ, ხელით გაწეროთ პარამეტრების მნიშვნელობები და API-სთან უშუალო ინტერაქციით დაკავდეთ:
+* დააწკაპუნეთ „Try it out“ ღილაკზე. ეს საშუალებას მოგცემთ, ხელით გაწეროთ პარამეტრების მნიშვნელობები და API-სთან უშუალო ინტერაქციით დაკავდეთ:

-* შემდგომ ამისა, დააკლიკეთ „Execute“ ღილაკს, რითაც თქვენ მიერ გახსნილი ინტერფეისი დაუკავშირდება API-ს, გაგზავნის თქვენ მიერ განსაზღვრულ პარამეტრებს, მიიღებს მოთხოვნის შედეგებს და გამოიტანს ეკრანზე:
+* შემდგომ ამისა, დააწკაპუნეთ „Execute“ ღილაკზე, რითაც თქვენ მიერ გახსნილი ინტერფეისი დაუკავშირდება API-ს, გაგზავნის თქვენ მიერ განსაზღვრულ პარამეტრებს, მიიღებს მოთხოვნის შედეგებს და გამოიტანს ეკრანზე:

### გავაუმჯობესოთ ალტერნატიული API დოკუმენტაცია
-ახლა კი, თქვენს ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
+ახლა კი, ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
* ახლად დამატებული საძიებო პარამეტრი და შიგთავსის პროტოტიპი ალტერნატიულ დოკუმენტაციაშიც ჰპოვებს ასახვას:
From 6d82901635c0a96939d4fbf86f6741926cc8ef03 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 21:20:28 +0400
Subject: [PATCH 25/27] General improvements
---
docs/ka/docs/index.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 1c731df1b..587ccd743 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -498,4 +498,4 @@ pip install "fastapi-slim[standard]"
## ლიცენზია
-წინამდებარე პროექტზე ვრცელდება MIT ლიცენზიით გათვალისწინებული წესები და პირობები.
+აღნიშნულ პროექტზე ვრცელდება MIT ლიცენზიით გათვალისწინებული წესები და პირობები.
From b5bd2af9933060ad55244e72b51a2f4645218c36 Mon Sep 17 00:00:00 2001
From: davidkadaria
Date: Fri, 26 Jul 2024 21:41:28 +0400
Subject: [PATCH 26/27] General updates: format file and make some improvements
(including typo fixes)
---
docs/ka/docs/index.md | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 587ccd743..999052f2b 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -40,14 +40,14 @@ FastAPI არის თანამედროვე, სწრაფი (მ
მისი ძირითადი მახასიათებლები გახლავთ:
-* **სისწრაფე**: **NodeJS**-ისა და **Go**-ს მსგავსად აქვს ძალიან მაღალი წარმადობა (რასაც Starlette-სა და Pydantic-ს უნდა ვუმადლოდეთ). [ერთ-ერთი უსწრაფესი ფრეიმვორქია Python-ის არსებულ ფრეიმვორქებს შორის](#performance).
+* **სისწრაფე**: **NodeJS**-ისა და **Go**-ს მსგავსად აქვს ძალიან მაღალი წარმადობა (რასაც Starlette-ს და Pydantic-ს უნდა ვუმადლოდეთ). [ერთ-ერთი უსწრაფესი ფრეიმვორქია Python-ის არსებულ ფრეიმვორქებს შორის](#performance).
* **ეფექტურობა**: დეველოპმენტის პროცესს აჩქარებს დაახლოებით 200-300 პროცენტით. *
* **ნაკლები პროგრამული ხარვეზი**: ადამიანის (დეველოპერის) მიერ გამოწვეული ხარვეზების ალბათობას ამცირებს დაახლოებით 40 პროცენტით. *
* **ინტუიციურობა**: შესანიშნავი თავსებადობა ტექსტურ რედაქტორებთან. კოდის ავტოდასრულების ფუნქციონალი ხელმისაწვდომია სრული მასშტაბით. ნაკლებ დროს დახარჯავთ ხარვეზების აღმოფხვრაში.
* **სიმარტივე**: ტექნოლოგია შემუშავებულია იმგვარად, რომ მარტივად გამოსაყენებელი და ასათვისებელი იყოს. დოკუმენტაციის კითხვაში ნაკლებ დროს დახარჯავთ.
* **კომპაქტურობა**: კოდის დუბლიკაციის საჭიროება მინიმუმამდეა დაყვანილი. თითოეული პარამეტრის განსაზღვრით აქტიურდება მრავალი ფუნქციონალი. პროგრამული ხარვეზების წარმოქმნის ალბათობა მინიმუმამდეა დაყვანილი.
* **მდგრადობა**: მიიღებთ წარმოებაში ჩაშვებისათვის გამზადებულ კოდს. ამას გარდა, მიიღებთ ავტომატურად გენერირებულ ინტერაქციულ დოკუმენტაციას.
-* **სტანდარტებზე დაფუძნებულობა**: დაფუძნებულია (და სრულად თავსებადია) API-ებისთვის განსაზღვრულ ღია სტანდარტებზე: OpenAPI (ადრე ცნობილი იყო, როგორც Swagger) და JSON Schema.
+* **სტანდარტებზე დაფუძნებულობა**: დაფუძნებულია (და სრულად თავსებადია) API-იებისთვის განსაზღვრულ ღია სტანდარტებზე: OpenAPI (ადრე ცნობილი იყო, როგორც Swagger) და JSON Schema.
* ზემოთ მოცემული შეფასებები ეფუძნება წარმოებაში ჩაშვებულ (რეალურ) აპლიკაციებზე მომუშავე შიდა დეველოპმენტის გუნდის მიერ ჩატარებულ ტესტებს.
@@ -100,10 +100,9 @@ FastAPI არის თანამედროვე, სწრაფი (მ
---
----
"_თუ **თანამედროვე ფრეიმვორქს** ეძებთ, რომლითაც REST API-ების შექმნაა შესაძლებელი, გადახედეთ **FastAPI**-ს [...] იგი არის სწრაფი, მარტივად გამოსაყენებელი და ადვილად შესასწავლი [...]_"
-"_ჩვენ გადავაწყეთ ჩვენი **API**-ები **FastAPI**-ზე [...] ვფიქრობ, აღნიშნული ფრეიმვორქი გულგრილს არავის დატოვებს [...]_"
+"_ჩვენ გადავაწყვეთ ჩვენი **API**-ები **FastAPI**-ზე [...] ვფიქრობ, აღნიშნული ფრეიმვორქი გულგრილს არავის დატოვებს [...]_"
@@ -312,7 +311,6 @@ def update_item(item_id: int, item: Item):
ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/docs.
-
* ინტერაქციული API დოკუმენტაცია ავტომატურად განახლდება და ახლად დამატებული შიგთავსის პროტოტიპიც გამოჩნდება:

@@ -329,7 +327,7 @@ def update_item(item_id: int, item: Item):
ახლა კი, ბრაუზერში გახსენით შემდეგი ბმული: http://127.0.0.1:8000/redoc.
-* ახლად დამატებული საძიებო პარამეტრი და შიგთავსის პროტოტიპი ალტერნატიულ დოკუმენტაციაშიც ჰპოვებს ასახვას:
+* ახლად დამატებული საძიებო პარამეტრი და შიგთავსის პროტოტიპი ალტერნატიულ დოკუმენტაციაშიც პოვებს ასახვას:

@@ -371,7 +369,7 @@ item: Item
* თავსართები (Headers).
* ფორმები.
* ფაილები.
-* გამომავალ მონაცემთა გარდაქმნას: Python-ის მონაცემებისა და ტიპების გადათარგმნას ქსელურ მონაცემებად (JSON-ად). შესაძლებელია შემდეგი სახის მონაცემების გარდაქმნა:
+* გამომავალ მონაცემთა გარდაქმნას: Python-ის მონაცემებისა და ტიპების გადათარგმნას ქსელურ მონაცემებად (JSON-ში). შესაძლებელია შემდეგი სახის მონაცემების გარდაქმნა:
* Python-ის ტიპები (`str`, `int`, `float`, `bool`, `list` და სხვ.).
* `datetime` ობიექტები.
* `UUID` ობიექტები.
@@ -396,11 +394,10 @@ item: Item
* შეამოწმებს, არის თუ არა განსაზღვრული `float` ტიპის სავალდებულო `price` ატრიბუტი.
* შეამოწმებს, მოთხოვნის შიგთავსში არის თუ არა წარმოდგენილი `bool` ტიპის არასავალდებულო `is_offer` ატრიბუტი.
* ყველაფერი ეს იმუშავებს ნებისმიერი სახის (მაგ.: მრავალშრიანი) JSON მონაცემისათვის.
-* Convert from and to JSON automatically.
* ავტომატურად გარდაქმნის JSON-ს სხვა ფორმატის მქონე მონაცემად და პირიქით.
* OpenAPI-ით მოახდენს ყველაფრის დოკუმენტირებას, რაც გამოსადეგი იქნება:
* ინტერაქციული დოკუმენტაციის სისტემებისათვის.
- * კლიენტის კოდის ავტომატიზირებული გენერირების სისტემებისათვის სხვადასხვა ენაში.
+ * კლიენტის კოდის ავტომატიზებული გენერირების სისტემებისათვის სხვადასხვა ენაში.
* უშუალოდ უზრუნველყოფს 2 ალტერნატიული ინტერაქციული დოკუმენტაციის ვებინტერფეისის არსებობას.
---
From 2d71131c53bcaf0816b6b5f6d50a905f7d506a2d Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Fri, 26 Jul 2024 17:56:27 +0000
Subject: [PATCH 27/27] =?UTF-8?q?=F0=9F=8E=A8=20[pre-commit.ci]=20Auto=20f?=
=?UTF-8?q?ormat=20from=20pre-commit.com=20hooks?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/ka/docs/index.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/ka/docs/index.md b/docs/ka/docs/index.md
index 999052f2b..8cfd86d00 100644
--- a/docs/ka/docs/index.md
+++ b/docs/ka/docs/index.md
@@ -339,7 +339,7 @@ def update_item(item_id: int, item: Item):
არ გჭირდებათ რომელიმე ცალკეული ბიბლიოთეკისთვის დამახასიათებელი განსხვავებული სინტაქსის, მეთოდების ან კლასების შესწავლა.
-იყენებთ მხოლოდ და მხოლოდ სტანდარტულ **Python**-ს.
+იყენებთ მხოლოდ და მხოლოდ სტანდარტულ **Python**-ს.
მაგალითისათვის, `int`-ის შემთხვევაში:
@@ -393,11 +393,11 @@ item: Item
* შეამოწმებს, არის თუ არა განსაზღვრული `str` ტიპის სავალდებულო `name` ატრიბუტი.
* შეამოწმებს, არის თუ არა განსაზღვრული `float` ტიპის სავალდებულო `price` ატრიბუტი.
* შეამოწმებს, მოთხოვნის შიგთავსში არის თუ არა წარმოდგენილი `bool` ტიპის არასავალდებულო `is_offer` ატრიბუტი.
- * ყველაფერი ეს იმუშავებს ნებისმიერი სახის (მაგ.: მრავალშრიანი) JSON მონაცემისათვის.
+ * ყველაფერი ეს იმუშავებს ნებისმიერი სახის (მაგ.: მრავალშრიანი) JSON მონაცემისათვის.
* ავტომატურად გარდაქმნის JSON-ს სხვა ფორმატის მქონე მონაცემად და პირიქით.
* OpenAPI-ით მოახდენს ყველაფრის დოკუმენტირებას, რაც გამოსადეგი იქნება:
* ინტერაქციული დოკუმენტაციის სისტემებისათვის.
- * კლიენტის კოდის ავტომატიზებული გენერირების სისტემებისათვის სხვადასხვა ენაში.
+ * კლიენტის კოდის ავტომატიზებული გენერირების სისტემებისათვის სხვადასხვა ენაში.
* უშუალოდ უზრუნველყოფს 2 ალტერნატიული ინტერაქციული დოკუმენტაციის ვებინტერფეისის არსებობას.
---