Browse Source
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>pull/15797/head
committed by
GitHub
8 changed files with 1101 additions and 0 deletions
@ -0,0 +1,495 @@ |
|||
# LLM рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ { #llm-test-file } |
|||
|
|||
рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпрд╣ рдкрд░рдЦрддрд╛ рд╣реИ рдХрд┐ <abbr title="Large Language Model - рдмрдбрд╝рд╛ рднрд╛рд╖рд╛ рдореЙрдбрд▓">LLM</abbr>, рдЬреЛ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ, `scripts/translate.py` рдореЗрдВ рджрд┐рдП рдЧрдП `general_prompt` рдФрд░ `docs/{language code}/llm-prompt.md` рдореЗрдВ рджрд┐рдП рдЧрдП рднрд╛рд╖рд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рднрд╛рд╖рд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ `general_prompt` рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред |
|||
|
|||
рдпрд╣рд╛рдБ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ, рд╡реЗ рднрд╛рд╖рд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд╕рднреА рдбрд┐рдЬрд╝рд╛рдЗрдирд░реНрд╕ рдХреЛ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред |
|||
|
|||
рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░реЗрдВ: |
|||
|
|||
* рдПрдХ рднрд╛рд╖рд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЙрдореНрдкреНрдЯ рд░рдЦреЗрдВ - `docs/{language code}/llm-prompt.md`ред |
|||
* рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рд▓рдХреНрд╖реНрдп-рднрд╛рд╖рд╛ рдореЗрдВ рдирдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП `translate.py` рдХреЗ `translate-page` рдХрдорд╛рдВрдб рдХреЛ рджреЗрдЦреЗрдВ)ред рдпрд╣ рдЕрдиреБрд╡рд╛рдж `docs/{language code}/docs/_llm-test.md` рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдмрдирд╛ рджреЗрдЧрд╛ред |
|||
* рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред |
|||
* рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░, рдЕрдкрдиреЗ рднрд╛рд╖рд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЙрдореНрдкреНрдЯ, рдЬрдирд░рд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рдпрд╛ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВред |
|||
* рдлрд┐рд░ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рдмрдЪреЗ рд╣реБрдП рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд╛рде рд╕реЗ рдареАрдХ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрд╡рд╛рдж рдмрди рдЬрд╛рдПред |
|||
* рджреБрдмрд╛рд░рд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВ, рдЗрд╕ рдмрд╛рд░ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрд╡рд╛рдж рдЬрдЧрд╣ рдкрд░ рд░рд╣рддреЗ рд╣реБрдПред рдЖрджрд░реНрд╢ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ рдХрд┐ LLM рдЕрдм рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рди рдХрд░реЗред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЬрдирд░рд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рдФрд░ рдЖрдкрдХрд╛ рднрд╛рд╖рд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЙрдореНрдкреНрдЯ рдЬрд┐рддрдиреЗ рдЕрдЪреНрдЫреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЙрддрдиреЗ рдЕрдЪреНрдЫреЗ рд╣реИрдВ (рдХрднреА-рдХрднреА рдпрд╣ рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ-рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рджреЗрдЧрд╛, рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ [LLM рдирд┐рдпрддрд╛рддреНрдордХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд╣реАрдВ рд╣реИрдВ](https://doublespeak.chat/#/handbook#deterministic-output))ред |
|||
|
|||
рдкрд░реАрдХреНрд╖рдг: |
|||
|
|||
## рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ { #code-snippets } |
|||
|
|||
//// tab | рдкрд░реАрдХреНрд╖рдг |
|||
|
|||
рдпрд╣ рдПрдХ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ: `foo`ред рдФрд░ рдпрд╣ рдПрдХ рдФрд░ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ: `bar`ред рдФрд░ рдПрдХ рдФрд░: `baz quux`ред |
|||
|
|||
//// |
|||
|
|||
//// tab | рдЬрд╛рдирдХрд╛рд░реА |
|||
|
|||
рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЬреНрдпреЛрдВ рдХрд╛ рддреНрдпреЛрдВ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред |
|||
|
|||
`scripts/translate.py` рдореЗрдВ рдЬрдирд░рд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд╕реЗрдХреНрд╢рди `### Content of code snippets` рдХреЛ рджреЗрдЦреЗрдВред |
|||
|
|||
//// |
|||
|
|||
## рдЙрджреНрдзрд░рдг { #quotes } |
|||
|
|||
//// tab | рдкрд░реАрдХреНрд╖рдг |
|||
|
|||
рдХрд▓, рдореЗрд░реЗ рджреЛрд╕реНрдд рдиреЗ рд▓рд┐рдЦрд╛: "рдЕрдЧрд░ рдЖрдк 'рдЧрд▓рдд' рдХреЛ рд╕рд╣реА рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдиреЗ рдЙрд╕реЗ рдЧрд▓рдд рд▓рд┐рдЦрд╛ рд╣реИ"ред рдЬрд┐рд╕рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдореИрдВрдиреЗ рдХрд╣рд╛: "рд╕рд╣реА, рд▓реЗрдХрд┐рди 'рдЧрд▓рдд' рдЧрд▓рдд рд╣реИ '"рдЧрд▓рдд"' рдирд╣реАрдВ"ред |
|||
|
|||
/// note | рдЯрд┐рдкреНрдкрдгреА |
|||
|
|||
LLM рд╕рдВрднрд╡рддрдГ рдЗрд╕реЗ рдЧрд▓рдд рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ред рджрд┐рд▓рдЪрд╕реНрдк рдпрд╣ рд╣реИ рдХрд┐ рдкреБрдирдГ-рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдкрд░ рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рдХрд┐рдпрд╛ рд╣реБрдЖ рдЕрдиреБрд╡рд╛рдж рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред |
|||
|
|||
/// |
|||
|
|||
//// |
|||
|
|||
//// tab | рдЬрд╛рдирдХрд╛рд░реА |
|||
|
|||
рдкреНрд░реЙрдореНрдкреНрдЯ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдпрд╣ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд╕рд╛рдзрд╛рд░рдг рдХреЛрдЯреНрд╕ рдХреЛ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рдХреЛрдЯреНрд╕ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдЙрдиреНрд╣реЗрдВ рдЬреНрдпреЛрдВ рдХрд╛ рддреНрдпреЛрдВ рдЫреЛрдбрд╝рдирд╛ рднреА рдареАрдХ рд╣реИред |
|||
|
|||
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП `docs/de/llm-prompt.md` рдореЗрдВ рд╕реЗрдХреНрд╢рди `### Quotes` рджреЗрдЦреЗрдВред |
|||
|
|||
//// |
|||
|
|||
## рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдореЗрдВ рдЙрджреНрдзрд░рдг { #quotes-in-code-snippets } |
|||
|
|||
//// tab | рдкрд░реАрдХреНрд╖рдг |
|||
|
|||
`pip install "foo[bar]"` |
|||
|
|||
рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЯрд░рд▓реНрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдг: `"this"`, `'that'`. |
|||
|
|||
рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЯрд░рд▓реНрд╕ рдХрд╛ рдПрдХ рдХрдард┐рди рдЙрджрд╛рд╣рд░рдг: `f"I like {'oranges' if orange else "apples"}"` |
|||
|
|||
рд╣рд╛рд░реНрдбрдХреЛрд░: `Yesterday, my friend wrote: "If you spell incorrectly correctly, you have spelled it incorrectly". To which I answered: "Correct, but 'incorrectly' is incorrectly not '"incorrectly"'"` |
|||
|
|||
//// |
|||
|
|||
//// tab | рдЬрд╛рдирдХрд╛рд░реА |
|||
|
|||
... рд▓реЗрдХрд┐рди, рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░ рдХреЗ рдЙрджреНрдзрд░рдг рдЬреНрдпреЛрдВ рдХреЗ рддреНрдпреЛрдВ рд░рд╣рдиреЗ рдЪрд╛рд╣рд┐рдПред |
|||
|
|||
//// |
|||
|
|||
## рдХреЛрдб рдмреНрд▓реЙрдХреНрд╕ { #code-blocks } |
|||
|
|||
//// tab | рдкрд░реАрдХреНрд╖рдг |
|||
|
|||
рдПрдХ Bash рдХреЛрдб рдЙрджрд╛рд╣рд░рдг... |
|||
|
|||
```bash |
|||
# рдмреНрд░рд╣реНрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдЕрднрд┐рд╡рд╛рджрди рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ |
|||
echo "Hello universe" |
|||
``` |
|||
|
|||
...рдФрд░ рдПрдХ рдХрдВрд╕реЛрд▓ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг... |
|||
|
|||
```console |
|||
$ <font color="#4E9A06">fastapi</font> run <u style="text-decoration-style:solid">main.py</u> |
|||
<span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span> Starting server |
|||
Searching for package file structure |
|||
``` |
|||
|
|||
...рдФрд░ рдПрдХ рдЕрдиреНрдп рдХрдВрд╕реЛрд▓ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг... |
|||
|
|||
```console |
|||
// "Code" рдирд╛рдо рдХреА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдПрдБ |
|||
$ mkdir code |
|||
// рдЙрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЬрд╛рдПрдБ |
|||
$ cd code |
|||
``` |
|||
|
|||
...рдФрд░ рдПрдХ Python рдХреЛрдб рдЙрджрд╛рд╣рд░рдг... |
|||
|
|||
```Python |
|||
wont_work() # рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ ЁЯШ▒ |
|||
works(foo="bar") # рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ЁЯОЙ |
|||
``` |
|||
|
|||
...рдФрд░ рдмрд╕ рдЗрддрдирд╛ рд╣реАред |
|||
|
|||
//// |
|||
|
|||
//// tab | рдЬрд╛рдирдХрд╛рд░реА |
|||
|
|||
рдХреЛрдб рдмреНрд▓реЙрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рдХреЗ рдХреЛрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рд┐рд╡рд╛рдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ (comments) рдХреЗред |
|||
|
|||
`scripts/translate.py` рдореЗрдВ рдЬрдирд░рд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд╕реЗрдХреНрд╢рди `### Content of code blocks` рдХреЛ рджреЗрдЦреЗрдВред |
|||
|
|||
//// |
|||
|
|||
## рдЯреИрдм рдФрд░ рд░рдВрдЧреАрди рдмреЙрдХреНрд╕ { #tabs-and-colored-boxes } |
|||
|
|||
//// tab | рдкрд░реАрдХреНрд╖рдг |
|||
|
|||
/// note | рдЯрд┐рдкреНрдкрдгреА |
|||
рдХреБрдЫ рдкрд╛рда |
|||
/// |
|||
|
|||
/// note | рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг |
|||
рдХреБрдЫ рдкрд╛рда |
|||
/// |
|||
|
|||
/// tip | рд╕реБрдЭрд╛рд╡ |
|||
рдХреБрдЫ рдкрд╛рда |
|||
/// |
|||
|
|||
/// warning | рдЪреЗрддрд╛рд╡рдиреА |
|||
рдХреБрдЫ рдкрд╛рда |
|||
/// |
|||
|
|||
/// danger | рдЦрддрд░рд╛ |
|||
рдХреБрдЫ рдкрд╛рда |
|||
/// |
|||
|
|||
//// |
|||
|
|||
//// tab | рдЬрд╛рдирдХрд╛рд░реА |
|||
|
|||
рдЯреИрдм рдФрд░ `Info`/`Note`/`Warning`/рдЖрджрд┐ рдмреНрд▓реЙрдХреНрд╕ рдореЗрдВ рдЙрдирдХреЗ рд╢реАрд░реНрд╖рдХ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд░реЗрдЦрд╛ (`|`) рдХреЗ рдмрд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред |
|||
|
|||
`scripts/translate.py` рдореЗрдВ рдЬрдирд░рд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд╕реЗрдХреНрд╢рди `### Special blocks` рдФрд░ `### Tab blocks` рджреЗрдЦреЗрдВред |
|||
|
|||
//// |
|||
|
|||
## рд╡реЗрдм рдФрд░ рдЖрдВрддрд░рд┐рдХ рд▓рд┐рдВрдХ { #web-and-internal-links } |
|||
|
|||
//// tab | рдкрд░реАрдХреНрд╖рдг |
|||
|
|||
рд▓рд┐рдВрдХ рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓рд┐рдВрдХ рдХрд╛ рдкрддрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗ: |
|||
|
|||
* [рдКрдкрд░ рджрд┐рдП рдЧрдП рд╢реАрд░реНрд╖рдХ рдХрд╛ рд▓рд┐рдВрдХ](#code-snippets) |
|||
* [рдЖрдВрддрд░рд┐рдХ рд▓рд┐рдВрдХ](index.md#installation) |
|||
* [рдмрд╛рд╣рд░реА рд▓рд┐рдВрдХ](https://sqlmodel.tiangolo.com/) |
|||
* [рдПрдХ рд╕реНрдЯрд╛рдЗрд▓ рдХрд╛ рд▓рд┐рдВрдХ](https://fastapi.tiangolo.com/css/styles.css) |
|||
* [рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ](https://fastapi.tiangolo.com/js/logic.js) |
|||
* [рдПрдХ рдЫрд╡рд┐ рдХрд╛ рд▓рд┐рдВрдХ](https://fastapi.tiangolo.com/img/foo.jpg) |
|||
|
|||
рд▓рд┐рдВрдХ рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓рд┐рдВрдХ рдХрд╛ рдкрддрд╛ рдЕрдиреБрд╡рд╛рдж рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: |
|||
|
|||
* [FastAPI рд▓рд┐рдВрдХ](https://fastapi.tiangolo.com/hi/) |
|||
|
|||
//// |
|||
|
|||
//// tab | рдЬрд╛рдирдХрд╛рд░реА |
|||
|
|||
рд▓рд┐рдВрдХ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдкрддреЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдВред рдЕрдкрд╡рд╛рдж рд╣реИ FastAPI рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдХреЗ рдкреЗрдЬреЛрдВ рдХреЗ рдкреВрд░реНрдг (absolute) рд▓рд┐рдВрдХред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд┐рдВрдХ рдЕрдиреБрд╡рд╛рдж рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
|||
|
|||
`scripts/translate.py` рдореЗрдВ рдЬрдирд░рд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд╕реЗрдХреНрд╢рди `### Links` рджреЗрдЦреЗрдВред |
|||
|
|||
//// |
|||
|
|||
## HTML "abbr" рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ { #html-abbr-elements } |
|||
|
|||
//// tab | рдкрд░реАрдХреНрд╖рдг |
|||
|
|||
рдпрд╣рд╛рдБ HTML "abbr" рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдореЗрдВ рд▓рд┐рдкрдЯреА рдХреБрдЫ рдЪреАрдЬрд╝реЗрдВ рд╣реИрдВ (рдХреБрдЫ рдЧрдврд╝реА рд╣реБрдИ рднреА): |
|||
|
|||
### abbr рдПрдХ рдкреВрд░рд╛ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рджреЗрддрд╛ рд╣реИ { #the-abbr-gives-a-full-phrase } |
|||
|
|||
* <abbr title="Getting Things Done - рдХрд╛рдо рдкреВрд░реЗ рдХрд░рдирд╛">GTD</abbr> |
|||
* <abbr title="less than - рд╕реЗ рдХрдо"><code>lt</code></abbr> |
|||
* <abbr title="XML Web Token - XML рд╡реЗрдм рдЯреЛрдХрди">XWT</abbr> |
|||
* <abbr title="Parallel Server Gateway Interface - рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рд░реНрд╡рд░ рдЧреЗрдЯрд╡реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕">PSGI</abbr> |
|||
|
|||
### abbr рдПрдХ рдкреВрд░рд╛ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдФрд░ рдЙрд╕рдХрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрддрд╛ рд╣реИ { #the-abbr-gives-a-full-phrase-and-an-explanation } |
|||
|
|||
* <abbr title="Mozilla Developer Network - рдореЛрдЬрд╝рд┐рд▓рд╛ рдбреЗрд╡рд▓рдкрд░ рдиреЗрдЯрд╡рд░реНрдХ: рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛">MDN</abbr> |
|||
* <abbr title="Input/Output - рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ: рдбрд┐рд╕реНрдХ рдХрд╛ рдкрдврд╝рдирд╛ рдпрд╛ рд▓рд┐рдЦрдирд╛, рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрдЪрд╛рд░ред">I/O</abbr>. |
|||
|
|||
//// |
|||
|
|||
//// tab | рдЬрд╛рдирдХрд╛рд░реА |
|||
|
|||
"abbr" рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдХреЗ "title" рдРрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред |
|||
|
|||
рдЕрдиреБрд╡рд╛рдж рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ "abbr" рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ LLM рдХреЛ рд╣рдЯрд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред рдЬреИрд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рд╢рдмреНрджреЛрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред |
|||
|
|||
`scripts/translate.py` рдореЗрдВ рдЬрдирд░рд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд╕реЗрдХреНрд╢рди `### HTML abbr elements` рджреЗрдЦреЗрдВред |
|||
|
|||
//// |
|||
|
|||
## HTML "dfn" рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ { #html-dfn-elements } |
|||
|
|||
* <dfn title="рдРрд╕реА рдорд╢реАрдиреЛрдВ рдХрд╛ рд╕рдореВрд╣ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдФрд░ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред">рдХреНрд▓рд╕реНрдЯрд░</dfn> |
|||
* <dfn title="рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рдЬреЛ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд▓реЗрдпрд░реНрд╕ рдХреЗ рдмреАрдЪ рдХрдИ рдЫреБрдкреА рд╣реБрдИ рд▓реЗрдпрд░реНрд╕ рд╡рд╛рд▓реЗ рдХреГрддреНрд░рд┐рдо рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреА рд╣реИ">рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ</dfn> |
|||
|
|||
## рд╢реАрд░реНрд╖рдХ { #headings } |
|||
|
|||
//// tab | рдкрд░реАрдХреНрд╖рдг |
|||
|
|||
### рдПрдХ рд╡реЗрдмрдРрдк рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ - рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ { #develop-a-webapp-a-tutorial } |
|||
|
|||
рдирдорд╕реНрддреЗред |
|||
|
|||
### рдЯрд╛рдЗрдк рд╣рд┐рдВрдЯреНрд╕ рдФрд░ -рдПрдиреЛрдЯреЗрд╢рдиреНрд╕ { #type-hints-and-annotations } |
|||
|
|||
рдлрд┐рд░ рд╕реЗ рдирдорд╕реНрддреЗред |
|||
|
|||
### рд╕реБрдкрд░- рдФрд░ рд╕рдмрдХреНрд▓рд╛рд╕реЗрдЬрд╝ { #super-and-subclasses } |
|||
|
|||
рдлрд┐рд░ рд╕реЗ рдирдорд╕реНрддреЗред |
|||
|
|||
//// |
|||
|
|||
//// tab | рдЬрд╛рдирдХрд╛рд░реА |
|||
|
|||
рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рдХрдбрд╝рд╛ рдирд┐рдпрдо рдпрд╣ рд╣реИ рдХрд┐ LLM рдХрд░реНрд▓реА рдмреНрд░реИрдХреЗрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░ рдХреЗ рд╣реИрд╢-рдкрд╛рд░реНрдЯ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝реЗ, рдЬрд┐рд╕рд╕реЗ рд▓рд┐рдВрдХ рди рдЯреВрдЯреЗрдВред |
|||
|
|||
`scripts/translate.py` рдореЗрдВ рдЬрдирд░рд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд╕реЗрдХреНрд╢рди `### Headings` рджреЗрдЦреЗрдВред |
|||
|
|||
рдХреБрдЫ рднрд╛рд╖рд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ `docs/de/llm-prompt.md` рдореЗрдВ рд╕реЗрдХреНрд╢рди `### Headings` рджреЗрдЦреЗрдВред |
|||
|
|||
//// |
|||
|
|||
## рдбреЙрдХреНрд╕ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рд╢рдмреНрдж { #terms-used-in-the-docs } |
|||
|
|||
//// tab | рдкрд░реАрдХреНрд╖рдг |
|||
|
|||
* рдЖрдк |
|||
* рдЖрдкрдХрд╛ |
|||
|
|||
* рдЙрджрд╛. |
|||
* рдЖрджрд┐ |
|||
|
|||
* `foo` рдПрдХ `int` рдХреЗ рд░реВрдк рдореЗрдВ |
|||
* `bar` рдПрдХ `str` рдХреЗ рд░реВрдк рдореЗрдВ |
|||
* `baz` рдПрдХ `list` рдХреЗ рд░реВрдк рдореЗрдВ |
|||
|
|||
* рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд╛рдЗрдб |
|||
* рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд╛рдЗрдб |
|||
* SQLModel рдбреЙрдХреНрд╕ |
|||
* API рдбреЙрдХреНрд╕ |
|||
* рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдбреЙрдХреНрд╕ |
|||
|
|||
* рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ |
|||
* рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ |
|||
* рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ |
|||
* рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди |
|||
* HTTP рдмреЗрд╕рд┐рдХ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди |
|||
* HTTP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ |
|||
* ISO рдлрд╝реЙрд░рдореИрдЯ |
|||
* JSON Schema рдорд╛рдирдХ |
|||
* JSON рд╕реНрдХреАрдорд╛ |
|||
* рд╕реНрдХреАрдорд╛ рдкрд░рд┐рднрд╛рд╖рд╛ |
|||
* рдкрд╛рд╕рд╡рд░реНрдб рдлреНрд▓реЛ |
|||
* рдореЛрдмрд╛рдЗрд▓ |
|||
|
|||
* рдЕрдкреНрд░рдЪрд▓рд┐рдд |
|||
* рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ |
|||
* рдЕрдорд╛рдиреНрдп |
|||
* рддреБрд░рдВрдд |
|||
* рдорд╛рдирдХ |
|||
* рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
|||
* рдХреЗрд╕-рд╕рдВрд╡реЗрджреА |
|||
* рдХреЗрд╕-рдЕрд╕рдВрд╡реЗрджреА |
|||
|
|||
* рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд░реНрд╡ рдХрд░рдирд╛ |
|||
* рдкреЗрдЬ рдХреЛ рд╕рд░реНрд╡ рдХрд░рдирд╛ |
|||
|
|||
* рдРрдк |
|||
* рдПрдкреНрд▓рд┐рдХреЗрд╢рди |
|||
|
|||
* рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ |
|||
* рд░рд┐рд╕реНрдкрд╛рдВрд╕ |
|||
* рддреНрд░реБрдЯрд┐ рд░рд┐рд╕реНрдкрд╛рдВрд╕ |
|||
|
|||
* рдкрд╛рде рдСрдкрд░реЗрд╢рди |
|||
* рдкрд╛рде рдСрдкрд░реЗрд╢рди рдбреЗрдХреЛрд░реЗрдЯрд░ |
|||
* рдкрд╛рде рдСрдкрд░реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди |
|||
|
|||
* рдмреЙрдбреА |
|||
* рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдмреЙрдбреА |
|||
* рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдмреЙрдбреА |
|||
* JSON рдмреЙрдбреА |
|||
* рдлреЙрд░реНрдо рдмреЙрдбреА |
|||
* рдлрд╝рд╛рдЗрд▓ рдмреЙрдбреА |
|||
* рдлрд╝рдВрдХреНрд╢рди рдмреЙрдбреА |
|||
|
|||
* рдкреИрд░рд╛рдореАрдЯрд░ |
|||
* рдмреЙрдбреА рдкреИрд░рд╛рдореАрдЯрд░ |
|||
* рдкрд╛рде рдкреИрд░рд╛рдореАрдЯрд░ |
|||
* рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ |
|||
* рдХреБрдХреА рдкреИрд░рд╛рдореАрдЯрд░ |
|||
* рд╣реЗрдбрд░ рдкреИрд░рд╛рдореАрдЯрд░ |
|||
* рдлреЙрд░реНрдо рдкреИрд░рд╛рдореАрдЯрд░ |
|||
* рдлрд╝рдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ |
|||
|
|||
* рдЗрд╡реЗрдВрдЯ |
|||
* рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЗрд╡реЗрдВрдЯ |
|||
* рд╕рд░реНрд╡рд░ рдХрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк |
|||
* рд╢рдЯрдбрд╛рдЙрди рдЗрд╡реЗрдВрдЯ |
|||
* рд▓рд╛рдЗрдлрд╕реНрдкреИрди рдЗрд╡реЗрдВрдЯ |
|||
|
|||
* рд╣реИрдВрдбрд▓рд░ |
|||
* рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ |
|||
* рдПрдХреНрд╕реЗрдкреНрд╢рди рд╣реИрдВрдбрд▓рд░ |
|||
* рд╣реИрдВрдбрд▓ рдХрд░рдирд╛ |
|||
|
|||
* рдореЙрдбрд▓ |
|||
* Pydantic рдореЙрдбрд▓ |
|||
* рдбреЗрдЯрд╛ рдореЙрдбрд▓ |
|||
* рдбреЗрдЯрд╛рдмреЗрд╕ рдореЙрдбрд▓ |
|||
* рдлреЙрд░реНрдо рдореЙрдбрд▓ |
|||
* рдореЙрдбрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ |
|||
|
|||
* рдХреНрд▓рд╛рд╕ |
|||
* рдмреЗрд╕ рдХреНрд▓рд╛рд╕ |
|||
* рдкреИрд░реЗрдВрдЯ рдХреНрд▓рд╛рд╕ |
|||
* рд╕рдмрдХреНрд▓рд╛рд╕ |
|||
* рдЪрд╛рдЗрд▓реНрдб рдХреНрд▓рд╛рд╕ |
|||
* рд╕рд┐рдмреНрд▓рд┐рдВрдЧ рдХреНрд▓рд╛рд╕ |
|||
* рдХреНрд▓рд╛рд╕ рдореЗрдердб |
|||
|
|||
* рд╣реЗрдбрд░ |
|||
* рд╣реЗрдбрд░реНрд╕ |
|||
* рдСрдерд░рд╛рдЗрдЬрд╝реЗрд╢рди рд╣реЗрдбрд░ |
|||
* `Authorization` рд╣реЗрдбрд░ |
|||
* рдлреЙрд░рд╡рд░реНрдбреЗрдб рд╣реЗрдбрд░ |
|||
|
|||
* рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди рд╕рд┐рд╕реНрдЯрдо |
|||
* рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА |
|||
* рдбрд┐рдкреЗрдВрдбреЗрдмрд▓ |
|||
* рдбрд┐рдкреЗрдиреНрдбрдиреНрдЯ |
|||
|
|||
* I/O рдмрд╛рдЙрдВрдб |
|||
* CPU рдмрд╛рдЙрдВрдб |
|||
* рд╕рдордХрд╛рд▓рд┐рдХрддрд╛ |
|||
* рд╕рдорд╛рдиреНрддрд░рддрд╛ |
|||
* рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ |
|||
|
|||
* env var |
|||
* рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ |
|||
* `PATH` |
|||
* `PATH` рд╡реЗрд░рд┐рдПрдмрд▓ |
|||
|
|||
* рдкреНрд░рдорд╛рдгреАрдХрд░рдг |
|||
* рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рджрд╛рддрд╛ |
|||
* рдЕрдзрд┐рдХрд╛рд░реАрдХрд░рдг |
|||
* рдЕрдзрд┐рдХрд╛рд░реАрдХрд░рдг рдлреЙрд░реНрдо |
|||
* рдЕрдзрд┐рдХрд╛рд░реАрдХрд░рдг рдкреНрд░рджрд╛рддрд╛ |
|||
* рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рддрд╛ рд╣реИ |
|||
* рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рддрд╛ рд╣реИ |
|||
|
|||
* CLI |
|||
* рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлреЗрд╕ |
|||
|
|||
* рд╕рд░реНрд╡рд░ |
|||
* рдХреНрд▓рд╛рдЗрдВрдЯ |
|||
|
|||
* рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ |
|||
* рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ |
|||
|
|||
* рд╡рд┐рдХрд╛рд╕ |
|||
* рд╡рд┐рдХрд╛рд╕ рдЪрд░рдг |
|||
|
|||
* dict |
|||
* рдбрд┐рдХреНрд╢рдирд░реА |
|||
* рдПрдиреНрдпреБрдорд░реЗрд╢рди |
|||
* рдПрдирдо |
|||
* рдПрдирдо рд╕рджрд╕реНрдп |
|||
|
|||
* рдПрдиреНрдХреЛрдбрд░ |
|||
* рдбреАрдХреЛрдбрд░ |
|||
* рдПрдиреНрдХреЛрдб рдХрд░рдирд╛ |
|||
* рдбреАрдХреЛрдб рдХрд░рдирд╛ |
|||
|
|||
* рдПрдХреНрд╕реЗрдкреНрд╢рди |
|||
* рд░реЗрдЬрд╝ рдХрд░рдирд╛ |
|||
|
|||
* рдПрдХреНрд╕рдкреНрд░реЗрд╢рди |
|||
* рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ |
|||
|
|||
* рдлреНрд░рдВрдЯрдПрдВрдб |
|||
* рдмреИрдХрдПрдВрдб |
|||
|
|||
* GitHub рдЪрд░реНрдЪрд╛ |
|||
* GitHub рдЗрд╢реНрдпреВ |
|||
|
|||
* рдкреНрд░рджрд░реНрд╢рди |
|||
* рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди |
|||
|
|||
* рд░рд┐рдЯрд░реНрди рдЯрд╛рдЗрдк |
|||
* рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ |
|||
|
|||
* рд╕реБрд░рдХреНрд╖рд╛ |
|||
* рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдХреАрдо |
|||
|
|||
* рдЯрд╛рд╕реНрдХ |
|||
* рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЯрд╛рд╕реНрдХ |
|||
* рдЯрд╛рд╕реНрдХ рдлрд╝рдВрдХреНрд╢рди |
|||
|
|||
* рдЯреЗрдореНрдкрд▓реЗрдЯ |
|||
* рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди |
|||
|
|||
* рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╢рди |
|||
* рдЯрд╛рдЗрдк рд╣рд┐рдВрдЯ |
|||
|
|||
* рд╕рд░реНрд╡рд░ рд╡рд░реНрдХрд░ |
|||
* Uvicorn рд╡рд░реНрдХрд░ |
|||
* Gunicorn Worker |
|||
* рд╡рд░реНрдХрд░ рдкреНрд░реЛрд╕реЗрд╕ |
|||
* рд╡рд░реНрдХрд░ рдХреНрд▓рд╛рд╕ |
|||
* рд╡рд░реНрдХрд▓реЛрдб |
|||
|
|||
* рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ |
|||
* рдбрд┐рдкреНрд▓реЙрдп рдХрд░рдирд╛ |
|||
|
|||
* SDK |
|||
* рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд┐рдЯ |
|||
|
|||
* `APIRouter` |
|||
* `requirements.txt` |
|||
* Bearer Token |
|||
* рдмреНрд░реЗрдХрд┐рдВрдЧ рдЪреЗрдВрдЬ |
|||
* рдмрдЧ |
|||
* рдмрдЯрди |
|||
* рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп |
|||
* рдХреЛрдб |
|||
* рдХрдорд┐рдЯ |
|||
* рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдореИрдиреЗрдЬрд░ |
|||
* рдХреЛрд░реВрдЯреАрди |
|||
* рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрд╢рди |
|||
* рдбрд┐рд╕реНрдХ |
|||
* рдбреЛрдореЗрди |
|||
* рдЗрдВрдЬрди |
|||
* рдирдХрд▓реА X |
|||
* HTTP GET рдореЗрдердб |
|||
* рдЖрдЗрдЯрдо |
|||
* рд▓рд╛рдЗрдмреНрд░реЗрд░реА |
|||
* рд▓рд╛рдЗрдлрд╕реНрдкреИрди |
|||
* рд▓реЙрдХ |
|||
* рдорд┐рдбрд▓рд╡реЗрдпрд░ |
|||
* рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди |
|||
* рдореЙрдбреНрдпреВрд▓ |
|||
* рдорд╛рдЙрдВрдЯрд┐рдВрдЧ |
|||
* рдиреЗрдЯрд╡рд░реНрдХ |
|||
* рдУрд░рд┐рдЬрд┐рди |
|||
* рдУрд╡рд░рд░рд╛рдЗрдб |
|||
* рдкреЗрд▓реЛрдб |
|||
* рдкреНрд░реЛрд╕реЗрд╕рд░ |
|||
* рдкреНрд░реЙрдкрд░реНрдЯреА |
|||
* рдкреНрд░реЙрдХреНрд╕реА |
|||
* рдкреБрд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ |
|||
* рдХреНрд╡реЗрд░реА |
|||
* RAM |
|||
* рд░рд┐рдореЛрдЯ рдорд╢реАрди |
|||
* рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб |
|||
* рд╕реНрдЯреНрд░рд┐рдВрдЧ |
|||
* рдЯреИрдЧ |
|||
* рд╡реЗрдм рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ |
|||
* рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб |
|||
* рд╡рд╛рдкрд╕ рдХрд░рдирд╛ |
|||
* рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ |
|||
|
|||
//// |
|||
|
|||
//// tab | рдЬрд╛рдирдХрд╛рд░реА |
|||
|
|||
рдпрд╣ рдбреЙрдХреНрд╕ рдореЗрдВ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ (рдЬрд╝реНрдпрд╛рджрд╛рддрд░) рддрдХрдиреАрдХреА рд╢рдмреНрджреЛрдВ рдХреА рди рддреЛ рдкреВрд░реНрдг рдФрд░ рди рд╣реА рдорд╛рдирдХ рд╕реВрдЪреА рд╣реИред рдпрд╣ рдкреНрд░реЙрдореНрдкреНрдЯ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ рдХрд┐ рдХрд┐рди рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП LLM рдХреЛ рд╕рд╣рд╛рдпрдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрдм рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреЗ рдЕрдиреБрд╡рд╛рдж рдХреЛ рдХрдорддрд░ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рд╡рд╛рдкрд╕ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдпрд╛ рдЬрдм рдЗрд╕реЗ рдЖрдкрдХреА рднрд╛рд╖рд╛ рдореЗрдВ рдХрд┐рд╕реА рд╢рдмреНрдж рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг/рд╡рд┐рднрдХреНрддрд┐ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред |
|||
|
|||
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП `docs/de/llm-prompt.md` рдореЗрдВ рд╕реЗрдХреНрд╢рди `### List of English terms and their preferred German translations` рджреЗрдЦреЗрдВред |
|||
|
|||
//// |
|||
@ -0,0 +1,585 @@ |
|||
--- |
|||
include_yaml: |
|||
sponsors: data/sponsors.yml |
|||
--- |
|||
|
|||
# FastAPI { #fastapi } |
|||
|
|||
<style> |
|||
.md-content .md-typeset h1 { display: none; } |
|||
</style> |
|||
|
|||
<p align="center"> |
|||
<a href="https://fastapi.tiangolo.com/hi"><img src="https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png" alt="FastAPI"></a> |
|||
</p> |
|||
<p align="center"> |
|||
<em>FastAPI рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ, рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди, рд╕реАрдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди, рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рддреЗрдЬрд╝, рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░</em> |
|||
</p> |
|||
<p align="center"> |
|||
<a href="https://github.com/fastapi/fastapi/actions?query=workflow%3ATest+event%3Apush+branch%3Amaster"> |
|||
<img src="https://github.com/fastapi/fastapi/actions/workflows/test.yml/badge.svg?event=push&branch=master" alt="рдЯреЗрд╕реНрдЯ"> |
|||
</a> |
|||
<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/fastapi"> |
|||
<img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/fastapi.svg" alt="рдХрд╡рд░реЗрдЬ"> |
|||
</a> |
|||
<a href="https://pypi.org/project/fastapi"> |
|||
<img src="https://img.shields.io/pypi/v/fastapi?color=%2334D058&label=pypi%20package" alt="рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг"> |
|||
</a> |
|||
<a href="https://pypi.org/project/fastapi"> |
|||
<img src="https://img.shields.io/pypi/pyversions/fastapi.svg?color=%2334D058" alt="рд╕рдорд░реНрдерд┐рдд Python рд╕рдВрд╕реНрдХрд░рдг"> |
|||
</a> |
|||
</p> |
|||
|
|||
--- |
|||
|
|||
**рджрд╕реНрддрд╛рд╡реЗрдЬрд╝**: [https://fastapi.tiangolo.com](https://fastapi.tiangolo.com/hi) |
|||
|
|||
**рд╕реНрд░реЛрдд рдХреЛрдб**: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi) |
|||
|
|||
--- |
|||
|
|||
FastAPI рдПрдХ рдЖрдзреБрдирд┐рдХ, рддреЗрдЬрд╝ (рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди) рд╡реЗрдм рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬреЛ рдорд╛рдирдХ Python type hints рдХреЗ рдЖрдзрд╛рд░ рдкрд░ Python рд╕реЗ APIs рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред |
|||
|
|||
рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ: |
|||
|
|||
* **рддреЗрдЬрд╝**: рдмрд╣реБрдд рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди, **NodeJS** рдФрд░ **Go** рдХреЗ рд╕рдордХрдХреНрд╖ (Starlette рдФрд░ Pydantic рдХреА рдмрджреМрд▓рдд)ред [рдЙрдкрд▓рдмреНрдз рд╕рдмрд╕реЗ рддреЗрдЬрд╝ Python рдлрд╝реНрд░реЗрдорд╡рд░реНрдХреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ](#performance)ред |
|||
* **рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рддреЗрдЬрд╝**: рдлрд╝реАрдЪрд░реНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЧрддрд┐ рд▓рдЧрднрдЧ 200% рд╕реЗ 300% рддрдХ рдмрдврд╝рд╛рдПрдБред * |
|||
* **рдХрдо рдмрдЧреНрд╕**: рдорд╛рдирд╡реАрдп (рдбреЗрд╡рд▓рдкрд░) рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд▓рдЧрднрдЧ 40% рдХреА рдХрдореАред * |
|||
* **рд╕рд╣рдЬ**: рдмреЗрд╣рддрд░реАрди рдПрдбрд┐рдЯрд░ рд╕рдкреЛрд░реНрдЯред рд╣рд░ рдЬрдЧрд╣ <dfn title="рдЙрд░реНрдлрд╝: рдСрдЯреЛ-рдХрдореНрдкреНрд▓реАрдЯ, рдСрдЯреЛрдХрдореНрдкреНрд▓реАрд╢рди, IntelliSense">рдСрдЯреЛ-рдХрдореНрдкреНрд▓реАрдЯ</dfn>ред рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рдХрдо рд╕рдордпред |
|||
* **рдЖрд╕рд╛рди**: рдЗрд╕реНрддреЗрдорд╛рд▓ рдФрд░ рд╕реАрдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝рдиреЗ рдореЗрдВ рдХрдо рд╕рдордпред |
|||
* **рд╕рдВрдХреНрд╖рд┐рдкреНрдд**: рдХреЛрдб рдбреБрдкреНрд▓реАрдХреЗрд╢рди рдХреЛ рдиреНрдпреВрдирддрдо рдХрд░реЗрдВред рдкреНрд░рддреНрдпреЗрдХ parameter declaration рд╕реЗ рдХрдИ рдлрд╝реАрдЪрд░реНрд╕ред рдХрдо рдмрдЧреНрд╕ред |
|||
* **рдордЬрдмреВрдд**: рдкреНрд░реЛрдбрдХреНрд╢рди-рд░реЗрдбреА рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рд╕реНрд╡рддрдГ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд╕рд╛рдеред |
|||
* **рдорд╛рдирдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд**: APIs рдХреЗ рдЦреБрд▓реЗ рдорд╛рдирдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд (рдФрд░ рдкреВрд░реНрдгрддрдГ рдЕрдиреБрдХреВрд▓): [OpenAPI](https://github.com/OAI/OpenAPI-Specification) (рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ Swagger рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛) рдФрд░ [JSON Schema](https://json-schema.org/)ред |
|||
|
|||
<small>* рдЖрдВрддрд░рд┐рдХ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЛрдбрдХреНрд╢рди рдРрдкреНрд╕ рдмрдирд╛рддреЗ рд╕рдордп рдХрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреБрдорд╛рдиред</small> |
|||
|
|||
## рдкреНрд░рд╛рдпреЛрдЬрдХ { #sponsors } |
|||
|
|||
<!-- sponsors --> |
|||
|
|||
### рдХреАрд╕реНрдЯреЛрди рдкреНрд░рд╛рдпреЛрдЬрдХ { #keystone-sponsor } |
|||
|
|||
<div class="fastapi-sponsors fastapi-sponsors--keystone"> |
|||
{% for sponsor in sponsors.keystone -%} |
|||
<a class="fastapi-sponsors__card fastapi-sponsors__card--keystone" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}"></a> |
|||
{% endfor -%} |
|||
</div> |
|||
|
|||
### рдЧреЛрд▓реНрдб рдкреНрд░рд╛рдпреЛрдЬрдХ { #gold-sponsors } |
|||
|
|||
<div class="fastapi-sponsors fastapi-sponsors--gold"> |
|||
{% for sponsor in sponsors.gold -%} |
|||
<a class="fastapi-sponsors__card fastapi-sponsors__card--gold" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a> |
|||
{% endfor -%} |
|||
</div> |
|||
|
|||
### рд╕рд┐рд▓реНрд╡рд░ рдкреНрд░рд╛рдпреЛрдЬрдХ { #silver-sponsors } |
|||
|
|||
<div class="fastapi-sponsors fastapi-sponsors--silver"> |
|||
{% for sponsor in sponsors.silver -%} |
|||
<a class="fastapi-sponsors__card fastapi-sponsors__card--silver" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a> |
|||
{% endfor %} |
|||
</div> |
|||
|
|||
<!-- /sponsors --> |
|||
|
|||
[рдЕрдиреНрдп рдкреНрд░рд╛рдпреЛрдЬрдХ](https://fastapi.tiangolo.com/hi/fastapi-people/#sponsors) |
|||
|
|||
## рд╡рд┐рдЪрд╛рд░ { #opinions } |
|||
|
|||
<!-- only-mkdocs --> |
|||
<div class="fastapi-opinions" data-fastapi-opinions> |
|||
<div class="fastapi-opinions__tabs" role="tablist" aria-label="Companies using FastAPI"> |
|||
<button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-microsoft" aria-controls="fo-panel-microsoft" aria-selected="true" tabindex="0"> |
|||
<span class="fastapi-opinions__mark"><img src="/img/logos/microsoft.svg" alt="Microsoft" loading="lazy"></span> |
|||
</button> |
|||
<button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-uber" aria-controls="fo-panel-uber" aria-selected="false" tabindex="-1"> |
|||
<span class="fastapi-opinions__mark"><img src="/img/logos/uber.svg" alt="Uber" loading="lazy"></span> |
|||
</button> |
|||
<button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-netflix" aria-controls="fo-panel-netflix" aria-selected="false" tabindex="-1"> |
|||
<span class="fastapi-opinions__mark"><img src="/img/logos/netflix.svg" alt="Netflix" loading="lazy"></span> |
|||
</button> |
|||
<button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-cisco" aria-controls="fo-panel-cisco" aria-selected="false" tabindex="-1"> |
|||
<span class="fastapi-opinions__mark"><img src="/img/logos/cisco.svg" alt="Cisco" loading="lazy"></span> |
|||
</button> |
|||
</div> |
|||
|
|||
<div class="fastapi-opinions__panel" id="fo-panel-microsoft" role="tabpanel" aria-labelledby="fo-tab-microsoft" tabindex="0"> |
|||
<blockquote class="fastapi-opinions__quote">"рдореИрдВ рдЗрди рджрд┐рдиреЛрдВ <strong>FastAPI</strong> рдХрд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛/рд░рд╣реА рд╣реВрдБред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдЕрдкрдиреА рдЯреАрдо рдХреА <strong>Microsoft рдореЗрдВ ML рд╕реЗрд╡рд╛рдУрдВ</strong> рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛/рд░рд╣реА рд╣реВрдБред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдореБрдЦреНрдп <strong>Windows</strong> рдкреНрд░реЛрдбрдХреНрдЯ рдФрд░ рдХреБрдЫ <strong>Office</strong> рдкреНрд░реЛрдбрдХреНрдЯреНрд╕ рдореЗрдВ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред"</blockquote> |
|||
<div class="fastapi-opinions__attr">тАФ рдХрдмреАрд░ рдЦрд╛рди, <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26">(рд╕рдВрджрд░реНрдн)</a></div> |
|||
</div> |
|||
<div class="fastapi-opinions__panel" id="fo-panel-uber" role="tabpanel" aria-labelledby="fo-tab-uber" tabindex="0" hidden> |
|||
<blockquote class="fastapi-opinions__quote">"рд╣рдордиреЗ <strong>FastAPI</strong> рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдкрдирд╛рдИ рддрд╛рдХрд┐ рдПрдХ <strong>REST</strong> рд╕рд░реНрд╡рд░ рд╕реНрдкреЙрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдЬрд┐рд╕реЗ <strong>рдЕрдиреНрджрд╛рдЬрд╝реЛрдВ/рдЕрдиреБрдорд╛рдиреЛрдВ</strong> рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред" <em>[Ludwig рдХреЗ рд▓рд┐рдП]</em></blockquote> |
|||
<div class="fastapi-opinions__attr">тАФ рдкрд┐рдПрд░реЛ рдореЛрд▓рд┐рдиреЛ, рдпрд╛рд░реЛрд╕реНрд▓рд╛рд╡ рдбреБрдбрд┐рди, рд╕рд╛рдИ рд╕реБрдордВрдд рдорд┐рд░реНрдпрд╛рд▓рд╛, <strong>Uber</strong> <a href="https://eng.uber.com/ludwig-v0-2/">(рд╕рдВрджрд░реНрдн)</a></div> |
|||
</div> |
|||
<div class="fastapi-opinions__panel" id="fo-panel-netflix" role="tabpanel" aria-labelledby="fo-tab-netflix" tabindex="0" hidden> |
|||
<blockquote class="fastapi-opinions__quote">"<strong>Netflix</strong> рд╣рдорд╛рд░реЗ <strong>рд╕рдВрдХрдЯ рдкреНрд░рдмрдВрдзрди</strong> рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ: <strong>Dispatch</strong> рдХреЗ рдУрдкрди-рд╕реЛрд░реНрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рд╕рдиреНрди рд╣реИ!" <em>[FastAPI рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛]</em></blockquote> |
|||
<div class="fastapi-opinions__attr">тАФ рдХреЗрд╡рд┐рди рдЧреНрд▓рд┐рд╕рди, рдорд╛рд░реНрдХ рд╡рд┐рд▓рд╛рдиреЛрд╡рд╛, рдлреЙрд░реЗрд╕реНрдЯ рдореЙрдиреНрд╕реЗрди, <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072">(рд╕рдВрджрд░реНрдн)</a></div> |
|||
</div> |
|||
<div class="fastapi-opinions__panel" id="fo-panel-cisco" role="tabpanel" aria-labelledby="fo-tab-cisco" tabindex="0" hidden> |
|||
<blockquote class="fastapi-opinions__quote">"рдпрджрд┐ рдХреЛрдИ рдкреНрд░реЛрдбрдХреНрд╢рди Python API рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдВ <strong>FastAPI</strong> рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░реВрдВрдЧрд╛/рдХрд░реВрдВрдЧреАред рдпрд╣ <strong>рд╕реБрдВрджрд░рддрд╛ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди</strong> рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, <strong>рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╕рд░рд▓</strong> рд╣реИ рдФрд░ <strong>рдмреЗрд╣рдж рд╕реНрдХреЗрд▓реЗрдмрд▓</strong> рд╣реИ тАФ рдпрд╣ рд╣рдорд╛рд░реА API-рдлрд░реНрд╕реНрдЯ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд░рдгрдиреАрддрд┐ рдХрд╛ <strong>рдореБрдЦреНрдп рдШрдЯрдХ</strong> рдмрди рдЧрдпрд╛ рд╣реИред"</blockquote> |
|||
<div class="fastapi-opinions__attr">тАФ рдбреАрдпреЛрди рдкрд┐рд▓реНрд╕рдмрд░реА, <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/">(рд╕рдВрджрд░реНрдн)</a></div> |
|||
</div> |
|||
</div> |
|||
<!-- /only-mkdocs --> |
|||
|
|||
<div class="only-github" markdown="1"> |
|||
|
|||
"_[...] рдореИрдВ рдЗрди рджрд┐рдиреЛрдВ **FastAPI** рдХрд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛/рд░рд╣реА рд╣реВрдБред [...] рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдЕрдкрдиреА рдЯреАрдо рдХреА **Microsoft рдореЗрдВ ML рд╕реЗрд╡рд╛рдУрдВ** рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛/рд░рд╣реА рд╣реВрдБред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдореБрдЦреНрдп **Windows** рдкреНрд░реЛрдбрдХреНрдЯ рдФрд░ рдХреБрдЫ **Office** рдкреНрд░реЛрдбрдХреНрдЯреНрд╕ рдореЗрдВ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ._" |
|||
|
|||
<div style="text-align: right; margin-right: 10%;">рдХрдмреАрд░ рдЦрд╛рди - <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26"><small>(рд╕рдВрджрд░реНрдн)</small></a></div> |
|||
|
|||
--- |
|||
|
|||
"_рд╣рдордиреЗ **FastAPI** рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдкрдирд╛рдИ рддрд╛рдХрд┐ рдПрдХ **REST** рд╕рд░реНрд╡рд░ рд╕реНрдкреЙрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдЬрд┐рд╕реЗ **рдЕрдиреБрдорд╛рдиреЛрдВ** рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред [Ludwig рдХреЗ рд▓рд┐рдП]_" |
|||
|
|||
<div style="text-align: right; margin-right: 10%;">рдкрд┐рдПрд░реЛ рдореЛрд▓рд┐рдиреЛ, рдпрд╛рд░реЛрд╕реНрд▓рд╛рд╡ рдбреБрдбрд┐рди, рдФрд░ рд╕рд╛рдИ рд╕реБрдордВрдд рдорд┐рд░реНрдпрд╛рд▓рд╛ - <strong>Uber</strong> <a href="https://eng.uber.com/ludwig-v0-2/"><small>(рд╕рдВрджрд░реНрдн)</small></a></div> |
|||
|
|||
--- |
|||
|
|||
"_**Netflix** рд╣рдорд╛рд░реЗ **рд╕рдВрдХрдЯ рдкреНрд░рдмрдВрдзрди** рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ: **Dispatch** рдХреЗ рдУрдкрди-рд╕реЛрд░реНрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рд╕рдиреНрди рд╣реИ! [**FastAPI** рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛]_" |
|||
|
|||
<div style="text-align: right; margin-right: 10%;">рдХреЗрд╡рд┐рди рдЧреНрд▓рд┐рд╕рди, рдорд╛рд░реНрдХ рд╡рд┐рд▓рд╛рдиреЛрд╡рд╛, рдлреЙрд░реЗрд╕реНрдЯ рдореЙрдиреНрд╕реЗрди - <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072"><small>(рд╕рдВрджрд░реНрдн)</small></a></div> |
|||
|
|||
--- |
|||
|
|||
"_рдпрджрд┐ рдХреЛрдИ рдкреНрд░реЛрдбрдХреНрд╢рди Python API рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдВ **FastAPI** рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░реВрдВрдЧрд╛/рдХрд░реВрдВрдЧреАред рдпрд╣ **рд╕реБрдВрджрд░рддрд╛ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди** рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, **рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╕рд░рд▓** рд╣реИ рдФрд░ **рдмреЗрд╣рдж рд╕реНрдХреЗрд▓реЗрдмрд▓** рд╣реИ, рдпрд╣ рд╣рдорд╛рд░реА API-рдлрд╝рд░реНрд╕реНрдЯ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд░рдгрдиреАрддрд┐ рдХрд╛ **рдореБрдЦреНрдп рдШрдЯрдХ** рдмрди рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ Virtual TAC Engineer рдЬреИрд╕реЗ рдХрдИ рдСрдЯреЛрдореЗрд╢рдиреНрд╕ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ._" |
|||
|
|||
<div style="text-align: right; margin-right: 10%;">рдбреАрдпреЛрди рдкрд┐рд▓реНрд╕рдмрд░реА - <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/"><small>(рд╕рдВрджрд░реНрдн)</small></a></div> |
|||
|
|||
--- |
|||
|
|||
</div> |
|||
|
|||
## FastAPI рдХреЙрдиреНрдлрд╝ { #fastapi-conf } |
|||
|
|||
[**FastAPI Conf '26**](https://fastapiconf.com) **28 рдЕрдХреНрдЯреВрдмрд░, 2026** рдХреЛ **рдПрдореНрд╕реНрдЯрд░реНрдбрдо, рдиреАрджрд░рд▓реИрдВрдбреНрд╕** рдореЗрдВ рд╣реЛ рд░рд╣реА рд╣реИред рд╕рдм рдХреБрдЫ FastAPI рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╕реАрдзреЗ рд╕реНрд░реЛрдд рд╕реЗред ЁЯОд |
|||
|
|||
<a class="fastapi-feature-banner" href="https://fastapiconf.com"><img src="https://fastapi.tiangolo.com/img/fastapi-conf.jpeg" alt="FastAPI Conf '26 - 28 рдЕрдХреНрдЯреВрдмрд░, 2026 - рдПрдореНрд╕реНрдЯрд░реНрдбрдо, NL"></a> |
|||
|
|||
## FastAPI рдорд┐рдиреА рдбреЙрдХреНрдпреВрдореЗрдВрдЯреНрд░реА { #fastapi-mini-documentary } |
|||
|
|||
рд╕рд╛рд▓ 2025 рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ [FastAPI рдорд┐рдиреА рдбреЙрдХреНрдпреВрдореЗрдВрдЯреНрд░реА](https://www.youtube.com/watch?v=mpR8ngthqiE) рд░рд┐рд▓реАрдЬрд╝ рд╣реБрдИ, рдЖрдк рдЗрд╕реЗ рдСрдирд▓рд╛рдЗрди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: |
|||
|
|||
<a class="fastapi-feature-banner" href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI рдорд┐рдиреА рдбреЙрдХреНрдпреВрдореЗрдВрдЯреНрд░реА"></a> |
|||
|
|||
## **Typer**, CLIs рдХрд╛ FastAPI { #typer-the-fastapi-of-clis } |
|||
|
|||
<a href="https://typer.tiangolo.com"><img src="https://typer.tiangolo.com/img/logo-margin/logo-margin-vector.svg" style="width: 20%;"></a> |
|||
|
|||
рдпрджрд┐ рдЖрдк рд╡реЗрдм API рдХреЗ рдмрдЬрд╛рдп рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ <abbr title="Command Line Interface - рдЖрджреЗрд╢ рдкрдВрдХреНрддрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕">CLI</abbr> рдРрдк рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ [**Typer**](https://typer.tiangolo.com/) рджреЗрдЦреЗрдВред |
|||
|
|||
**Typer**, FastAPI рдХрд╛ рдЫреЛрдЯрд╛ рднрд╛рдИ/рдмрд╣рди рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп **CLIs рдХрд╛ FastAPI** рд╣реЛрдирд╛ рд╣реИред тМия╕П ЁЯЪА |
|||
|
|||
## рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ { #requirements } |
|||
|
|||
FastAPI рджрд┐рдЧреНрдЧрдЬреЛрдВ рдХреЗ рдХрдВрдзреЛрдВ рдкрд░ рдЦрдбрд╝рд╛ рд╣реИ: |
|||
|
|||
* рд╡реЗрдм рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рд▓рд┐рдП [Starlette](https://www.starlette.dev/)ред |
|||
* рдбреЗрдЯрд╛ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рд▓рд┐рдП [Pydantic](https://docs.pydantic.dev/)ред |
|||
|
|||
## рд╕реНрдерд╛рдкрдирд╛ { #installation } |
|||
|
|||
рдПрдХ [рд╡рд░реНрдЪреБрдЕрд▓ рдПрдиреНрд╡рд╛рдпрд░рдирдореЗрдВрдЯ](https://fastapi.tiangolo.com/hi/virtual-environments/) рдмрдирд╛рдПрдБ рдФрд░ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ FastAPI рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: |
|||
|
|||
<div class="termy"> |
|||
|
|||
```console |
|||
$ pip install "fastapi[standard]" |
|||
|
|||
---> 100% |
|||
``` |
|||
|
|||
</div> |
|||
|
|||
**рдиреЛрдЯ**: рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рд╕рднреА рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `"fastapi[standard]"` рдХреЛ рдЙрджреНрдзрд░рдг-рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рд░рдЦреЗрдВред |
|||
|
|||
## рдЙрджрд╛рд╣рд░рдг { #example } |
|||
|
|||
### рдЗрд╕реЗ рдмрдирд╛рдПрдБ { #create-it } |
|||
|
|||
`main.py` рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ рдФрд░ рдЗрд╕рдореЗрдВ рд▓рд┐рдЦреЗрдВ: |
|||
|
|||
```Python |
|||
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: str | None = None): |
|||
return {"item_id": item_id, "q": q} |
|||
``` |
|||
|
|||
<details markdown="1"> |
|||
<summary>рдпрд╛ <code>async def</code> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ...</summary> |
|||
|
|||
рдпрджрд┐ рдЖрдкрдХрд╛ рдХреЛрдб `async` / `await` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ `async def` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: |
|||
|
|||
```Python hl_lines="7 12" |
|||
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: str | None = None): |
|||
return {"item_id": item_id, "q": q} |
|||
``` |
|||
|
|||
**рдиреЛрдЯ**: |
|||
|
|||
рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ, рддреЛ _"рдЬрд▓реНрджреА рдореЗрдВ?"_ рд╕реЗрдХреНрд╢рди рджреЗрдЦреЗрдВ: рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ [`async` рдФрд░ `await`](https://fastapi.tiangolo.com/hi/async/#in-a-hurry) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред |
|||
|
|||
</details> |
|||
|
|||
### рдЗрд╕реЗ рдЪрд▓рд╛рдПрдБ { #run-it } |
|||
|
|||
рд╕рд░реНрд╡рд░ рдХреЛ рдЗрд╕ рдХрдорд╛рдВрдб рд╕реЗ рдЪрд▓рд╛рдПрдБ: |
|||
|
|||
<div class="termy"> |
|||
|
|||
```console |
|||
$ fastapi dev |
|||
|
|||
тХнтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА 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. |
|||
``` |
|||
|
|||
</div> |
|||
|
|||
<details markdown="1"> |
|||
<summary><code>fastapi dev</code> рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ...</summary> |
|||
|
|||
`fastapi dev` рдХрдорд╛рдВрдб рдЖрдкрдХрд╛ `main.py` рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рддрдГ рдкрдврд╝рддрд╛ рд╣реИ, рдЙрд╕рдореЗрдВ **FastAPI** рдРрдк рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, рдФрд░ [Uvicorn](https://www.uvicorn.dev) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред |
|||
|
|||
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, `fastapi dev` рд▓реЛрдХрд▓ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП auto-reload рд╕рдХреНрд╖рдо рдХрд░рдХреЗ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред |
|||
|
|||
рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: [FastAPI CLI рджрд╕реНрддрд╛рд╡реЗрдЬрд╝](https://fastapi.tiangolo.com/hi/fastapi-cli/) рдореЗрдВред |
|||
|
|||
</details> |
|||
|
|||
### рдЗрд╕реЗ рдЬрд╛рдБрдЪреЗрдВ { #check-it } |
|||
|
|||
рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ [http://127.0.0.1:8000/items/5?q=somequery](http://127.0.0.1:8000/items/5?q=somequery) рдЦреЛрд▓реЗрдВред |
|||
|
|||
рдЖрдкрдХреЛ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦреЗрдЧреА: |
|||
|
|||
```JSON |
|||
{"item_id": 5, "q": "somequery"} |
|||
``` |
|||
|
|||
рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ API рдмрдирд╛ рд▓реА рд╣реИ рдЬреЛ: |
|||
|
|||
* _paths_ `/` рдФрд░ `/items/{item_id}` рдкрд░ HTTP рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИред |
|||
* рджреЛрдиреЛрдВ _paths_ `GET` <em>operations</em> рд▓реЗрддреА рд╣реИрдВ (рдЬрд┐рдиреНрд╣реЗрдВ HTTP _methods_ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред |
|||
* _path_ `/items/{item_id}` рдореЗрдВ рдПрдХ _path parameter_ `item_id` рд╣реИ рдЬреЛ `int` рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
|||
* _path_ `/items/{item_id}` рдореЗрдВ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ `str` _query parameter_ `q` рд╣реИред |
|||
|
|||
### рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ { #interactive-api-docs } |
|||
|
|||
рдЕрдм [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) рдкрд░ рдЬрд╛рдПрдБред |
|||
|
|||
рдЖрдкрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рджрд┐рдЦреЗрдЧрд╛ (рдЬреЛ [Swagger UI](https://github.com/swagger-api/swagger-ui) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ): |
|||
|
|||
 |
|||
|
|||
### рд╡реИрдХрд▓реНрдкрд┐рдХ API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ { #alternative-api-docs } |
|||
|
|||
рдФрд░ рдЕрдм, [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc) рдкрд░ рдЬрд╛рдПрдБред |
|||
|
|||
рдЖрдкрдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рджрд┐рдЦреЗрдЧрд╛ (рдЬреЛ [ReDoc](https://github.com/Rebilly/ReDoc) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ): |
|||
|
|||
 |
|||
|
|||
## рдЙрджрд╛рд╣рд░рдг рдЙрдиреНрдирдпрди { #example-upgrade } |
|||
|
|||
рдЕрдм `PUT` рдЕрдиреБрд░реЛрдз рд╕реЗ body рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `main.py` рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВред |
|||
|
|||
Pydantic рдХреА рдмрджреМрд▓рдд, body рдХреЛ рдорд╛рдирдХ Python рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВред |
|||
|
|||
```Python hl_lines="2 7-10 23-25" |
|||
from fastapi import FastAPI |
|||
from pydantic import BaseModel |
|||
|
|||
app = FastAPI() |
|||
|
|||
|
|||
class Item(BaseModel): |
|||
name: str |
|||
price: float |
|||
is_offer: bool | None = None |
|||
|
|||
|
|||
@app.get("/") |
|||
def read_root(): |
|||
return {"Hello": "World"} |
|||
|
|||
|
|||
@app.get("/items/{item_id}") |
|||
def read_item(item_id: int, q: 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} |
|||
``` |
|||
|
|||
`fastapi dev` рд╕рд░реНрд╡рд░ рд╕реНрд╡рддрдГ рд░реАрд▓реЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
|||
|
|||
### рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЙрдиреНрдирдпрди { #interactive-api-docs-upgrade } |
|||
|
|||
рдЕрдм [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) рдкрд░ рдЬрд╛рдПрдБред |
|||
|
|||
* рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реНрд╡рддрдГ рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдирдП body рд╕рд╣рд┐рдд: |
|||
|
|||
 |
|||
|
|||
* "Try it out" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдпрд╣ рдЖрдкрдХреЛ parameters рднрд░рдиреЗ рдФрд░ рд╕реАрдзреЗ API рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: |
|||
|
|||
 |
|||
|
|||
* рдлрд┐рд░ "Execute" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдпреВрдЬрд╝рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЖрдкрдХреА API рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░реЗрдЧрд╛, parameters рднреЗрдЬреЗрдЧрд╛, рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдПрдЧрд╛: |
|||
|
|||
 |
|||
|
|||
### рд╡реИрдХрд▓реНрдкрд┐рдХ API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЙрдиреНрдирдпрди { #alternative-api-docs-upgrade } |
|||
|
|||
рдФрд░ рдЕрдм, [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc) рдкрд░ рдЬрд╛рдПрдБред |
|||
|
|||
* рд╡реИрдХрд▓реНрдкрд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рднреА рдирдП query parameter рдФрд░ body рдХреЛ рджрд░реНрд╢рд╛рдПрдЧрд╛: |
|||
|
|||
 |
|||
|
|||
### рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди { #recap } |
|||
|
|||
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЖрдк parameters, body, рдЖрджрд┐ рдХреЗ рдкреНрд░рдХрд╛рд░ рдлрд╝рдВрдХреНрд╢рди parameters рдХреЗ рд░реВрдк рдореЗрдВ **рдПрдХ рдмрд╛рд░** рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред |
|||
|
|||
рдЖрдк рдпрд╣ рдорд╛рдирдХ рдЖрдзреБрдирд┐рдХ Python рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВред |
|||
|
|||
рдЖрдкрдХреЛ рдХрд┐рд╕реА рдирдИ рд╕рд┐рдВрдЯреИрдХреНрд╕, рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ methods рдпрд╛ classes, рдЖрджрд┐ рд╕реАрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред |
|||
|
|||
рдмрд╕ рдорд╛рдирдХ **Python**ред |
|||
|
|||
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ `int` рдХреЗ рд▓рд┐рдП: |
|||
|
|||
```Python |
|||
item_id: int |
|||
``` |
|||
|
|||
рдпрд╛ рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ `Item` рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП: |
|||
|
|||
```Python |
|||
item: Item |
|||
``` |
|||
|
|||
...рдФрд░ рдХреЗрд╡рд▓ рдЙрд╕реА рдПрдХ рдШреЛрд╖рдгрд╛ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдорд┐рд▓рддрд╛ рд╣реИ: |
|||
|
|||
* рдПрдбрд┐рдЯрд░ рд╕рдкреЛрд░реНрдЯ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ: |
|||
* рдХрдореНрдкреНрд▓реАрд╢рдиред |
|||
* рдкреНрд░рдХрд╛рд░ рдЬрд╛рдБрдЪред |
|||
* рдбреЗрдЯрд╛ рдХрд╛ рд╡реИрдзреАрдХрд░рдг: |
|||
* рдЬрдм рдбреЗрдЯрд╛ рдЕрдорд╛рдиреНрдп рд╣реЛ рддреЛ рд╕реНрд╡рддрдГ рдФрд░ рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдБред |
|||
* рдЧрд╣рд░рд╛рдИ рд╕реЗ nested JSON objects рдХреЗ рд▓рд┐рдП рднреА рд╡реИрдзреАрдХрд░рдгред |
|||
* рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХрд╛ <dfn title="рдЙрд░реНрдлрд╝: рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, рдкрд╛рд░реНрд╕рд┐рдВрдЧ, рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ">рд░реВрдкрд╛рдВрддрд░рдг</dfn>: рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ Python рдбреЗрдЯрд╛ рдФрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВред рдЗрдирдореЗрдВ рд╕реЗ рдкрдврд╝рдирд╛: |
|||
* JSONред |
|||
* Path parametersред |
|||
* Query parametersред |
|||
* Cookiesред |
|||
* Headersред |
|||
* Formsред |
|||
* Filesред |
|||
* рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдХрд╛ <dfn title="рдЙрд░реНрдлрд╝: рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, рдкрд╛рд░реНрд╕рд┐рдВрдЧ, рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ">рд░реВрдкрд╛рдВрддрд░рдг</dfn>: Python рдбреЗрдЯрд╛ рдФрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдбреЗрдЯрд╛ (JSON рдХреЗ рд░реВрдк рдореЗрдВ) рдореЗрдВ: |
|||
* Python рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг (`str`, `int`, `float`, `bool`, `list`, рдЖрджрд┐)ред |
|||
* `datetime` рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ред |
|||
* `UUID` рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ред |
|||
* рдбреЗрдЯрд╛рдмреЗрд╕ рдореЙрдбрд▓реНрд╕ред |
|||
* ...рдФрд░ рдмрд╣реБрдд рдХреБрдЫред |
|||
* рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг, рдЬрд┐рдирдореЗрдВ 2 рд╡реИрдХрд▓реНрдкрд┐рдХ рдпреВрдЬрд╝рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: |
|||
* Swagger UIред |
|||
* ReDocред |
|||
|
|||
--- |
|||
|
|||
рдкрд┐рдЫрд▓реЗ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдкрд░ рд▓реМрдЯрддреЗ рд╣реБрдП, **FastAPI** рдпрд╣ рдХрд░реЗрдЧрд╛: |
|||
|
|||
* `GET` рдФрд░ `PUT` рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП path рдореЗрдВ `item_id` рд╣реИ, рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред |
|||
* `GET` рдФрд░ `PUT` рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП `item_id` рдХрд╛ рдкреНрд░рдХрд╛рд░ `int` рд╣реИ, рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред |
|||
* рдпрджрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ рдЙрдкрдпреЛрдЧреА, рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред |
|||
* `GET` рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдБрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ `q` рдирд╛рдо рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ query parameter рд╣реИ (рдЬреИрд╕реЗ `http://127.0.0.1:8000/items/foo?q=somequery`)ред |
|||
* рдХреНрдпреЛрдВрдХрд┐ `q` parameter `= None` рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рд╣реИ, рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред |
|||
* `None` рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ (рдЬреИрд╕реЗ `PUT` рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ body рдЖрд╡рд╢реНрдпрдХ рд╣реИ)ред |
|||
* `/items/{item_id}` рдкрд░ `PUT` рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП, body рдХреЛ JSON рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝реЗрдЧрд╛: |
|||
* рдпрд╣ рдЬрд╛рдБрдЪреЗрдЧрд╛ рдХрд┐ рдПрдХ рдЖрд╡рд╢реНрдпрдХ attribute `name` рд╣реИ рдЬреЛ `str` рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
|||
* рдпрд╣ рдЬрд╛рдБрдЪреЗрдЧрд╛ рдХрд┐ рдПрдХ рдЖрд╡рд╢реНрдпрдХ attribute `price` рд╣реИ рдЬреЛ `float` рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
|||
* рдпрд╣ рдЬрд╛рдБрдЪреЗрдЧрд╛ рдХрд┐ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ attribute `is_offer` рд╣реИ, рдЬреЛ рдпрджрд┐ рдореМрдЬреВрдж рд╣реИ рддреЛ `bool` рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
|||
* рдпрд╣ рд╕рдм рдЧрд╣рд░рд╛рдИ рд╕реЗ nested JSON objects рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред |
|||
* JSON рд╕реЗ рдФрд░ JSON рдореЗрдВ рд╕реНрд╡рддрдГ рд░реВрдкрд╛рдВрддрд░рдгред |
|||
* рд╣рд░ рдЪреАрдЬрд╝ рдХреЛ OpenAPI рдХреЗ рд╕рд╛рде рджрд╕реНрддрд╛рд╡реЗрдЬрд╝рд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕реЗ рдирд┐рдореНрди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: |
|||
* рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБред |
|||
* рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдЬрдирд░реЗрд╢рди рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБред |
|||
* рд╕реАрдзреЗ 2 рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕реЗрдЬрд╝ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред |
|||
|
|||
--- |
|||
|
|||
рд╣рдордиреЗ рдХреЗрд╡рд▓ рд╕рддрд╣ рдХреЛ рдЫреБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╣реА рд╕рдордЭ рдЖ рдЧрдпрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред |
|||
|
|||
рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рдмрджрд▓рдХрд░ рджреЗрдЦреЗрдВ: |
|||
|
|||
```Python |
|||
return {"item_name": item.name, "item_id": item_id} |
|||
``` |
|||
|
|||
...рдпрд╣рд╛рдБ рд╕реЗ: |
|||
|
|||
```Python |
|||
... "item_name": item.name ... |
|||
``` |
|||
|
|||
...рдпрд╣рд╛рдБ рддрдХ: |
|||
|
|||
```Python |
|||
... "item_price": item.price ... |
|||
``` |
|||
|
|||
...рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдПрдбрд┐рдЯрд░ attributes рдХреЛ рдХреИрд╕реЗ auto-complete рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░ рдЬрд╛рдиреЗрдЧрд╛: |
|||
|
|||
 |
|||
|
|||
рдЕрдзрд┐рдХ рдлрд╝реАрдЪрд░реНрд╕ рд╕рд╣рд┐рдд рдПрдХ рдЕрдзрд┐рдХ рд╕рдореНрдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, <a href="https://fastapi.tiangolo.com/hi/tutorial/">рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ - рдпреВрдЬрд╝рд░ рдЧрд╛рдЗрдб</a> рджреЗрдЦреЗрдВред |
|||
|
|||
**рд╕реНрдкреЙрдЗрд▓рд░ рдЕрд▓рд░реНрдЯ**: рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ - рдпреВрдЬрд╝рд░ рдЧрд╛рдЗрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ: |
|||
|
|||
* рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ **parameters** рдХреА рдШреЛрд╖рдгрд╛: **headers**, **cookies**, **form fields** рдФрд░ **files**ред |
|||
* `maximum_length` рдпрд╛ `regex` рдЬреИрд╕реА **validation constraints** рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВред |
|||
* рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди **<dfn title="рдЙрд░реНрдлрд╝: рдХреЙрдореНрдкреЛрдиреЗрдВрдЯреНрд╕, рд░рд┐рд╕реЛрд░реНрд╕реЗрдЬрд╝, рдкреНрд░реЛрд╡рд╛рдЗрдбрд░реНрд╕, рд╕рд░реНрд╡рд┐рд╕реЗрдЬрд╝, рдЗрдВрдЬреЗрдХреНрдЯреЗрдмрд▓реНрд╕">рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди</dfn>** рд╕рд┐рд╕реНрдЯрдоред |
|||
* рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдЬрд┐рд╕рдореЗрдВ **OAuth2** рдХреЗ рд╕рд╛рде **JWT tokens** рдФрд░ **HTTP Basic** auth рдХрд╛ рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИред |
|||
* **рдЧрд╣рд░рд╛рдИ рд╕реЗ nested JSON рдореЙрдбрд▓реНрд╕** рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдзрд┐рдХ рдЙрдиреНрдирдд (рдкрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди) рддрдХрдиреАрдХреЗрдВ (Pydantic рдХреА рдмрджреМрд▓рдд)ред |
|||
* [Strawberry](https://strawberry.rocks) рдФрд░ рдЕрдиреНрдп рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЗ рд╕рд╛рде **GraphQL** рдПрдХреАрдХрд░рдгред |
|||
* рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝реАрдЪрд░реНрд╕ (Starlette рдХреА рдмрджреМрд▓рдд) рдЬреИрд╕реЗ: |
|||
* **WebSockets** |
|||
* HTTPX рдФрд░ `pytest` рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрддреНрдпрдВрдд рдЖрд╕рд╛рди рдЯреЗрд╕реНрдЯреНрд╕ |
|||
* **CORS** |
|||
* **Cookie Sessions** |
|||
* ...рдЖрджрд┐ред |
|||
|
|||
### рдЕрдкрдиреА рдРрдк рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ) { #deploy-your-app-optional } |
|||
|
|||
рдЖрдк рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрдиреА FastAPI рдРрдк рдХреЛ [FastAPI Cloud](https://fastapicloud.com) рдкрд░ рдПрдХ рд╣реА рдХрдорд╛рдВрдб рд╕реЗ рдбрд┐рдкреНрд▓реЙрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ЁЯЪА |
|||
|
|||
<div class="termy"> |
|||
|
|||
```console |
|||
$ fastapi deploy |
|||
|
|||
Deploying to FastAPI Cloud... |
|||
|
|||
тЬЕ Deployment successful! |
|||
|
|||
ЁЯРФ Ready the chicken! Your app is ready at https://myapp.fastapicloud.dev |
|||
``` |
|||
|
|||
</div> |
|||
|
|||
CLI рдЖрдкрдХреА FastAPI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрд╡рддрдГ рдкрд╣рдЪрд╛рди рд▓реЗрдЧрд╛ рдФрд░ рдЙрд╕реЗ рдХреНрд▓рд╛рдЙрдб рдкрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк logged in рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреБрд▓реЗрдЧрд╛ред |
|||
|
|||
рдмрд╕ рдЗрддрдирд╛ рд╣реА! рдЕрдм рдЖрдк рдЙрд╕ URL рдкрд░ рдЕрдкрдиреА рдРрдк рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред тЬи |
|||
|
|||
#### FastAPI Cloud рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ { #about-fastapi-cloud } |
|||
|
|||
**[FastAPI Cloud](https://fastapicloud.com)** рдХреЛ **FastAPI** рдХреЗ рд╣реА рд▓реЗрдЦрдХ рдФрд░ рдЯреАрдо рдиреЗ рдмрдирд╛рдпрд╛ рд╣реИред |
|||
|
|||
рдпрд╣ рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдХрд┐рд╕реА API рдХреЛ **рдмрдирд╛рдиреЗ**, **рдбрд┐рдкреНрд▓реЙрдп** рдХрд░рдиреЗ рдФрд░ **рдПрдХреНрд╕реЗрд╕** рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред |
|||
|
|||
рдпрд╣ FastAPI рдХреЗ рд╕рд╛рде рдРрдкреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдЙрд╕реА **рдбреЗрд╡рд▓рдкрд░ рдЕрдиреБрднрд╡** рдХреЛ рдЙрдиреНрд╣реЗрдВ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ **рдбрд┐рдкреНрд▓реЙрдп** рдХрд░рдиреЗ рддрдХ рд▓рд╛рддрд╛ рд╣реИред ЁЯОЙ |
|||
|
|||
FastAPI Cloud, *FastAPI and friends* рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░рд╛рдпреЛрдЬрдХ рдФрд░ рдлрдВрдбрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рд╣реИред тЬи |
|||
|
|||
#### рдЕрдиреНрдп рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛рдУрдВ рдкрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд░реЗрдВ { #deploy-to-other-cloud-providers } |
|||
|
|||
FastAPI рдУрдкрди рд╕реЛрд░реНрд╕ рд╣реИ рдФрд░ рдорд╛рдирдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЖрдк FastAPI рдРрдкреНрд╕ рдХреЛ рдХрд┐рд╕реА рднреА рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдкрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред |
|||
|
|||
рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдЧрд╛рдЗрдбреНрд╕ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде FastAPI рдРрдкреНрд╕ рдбрд┐рдкреНрд▓реЙрдп рдХрд░реЗрдВред ЁЯдУ |
|||
|
|||
## рдкреНрд░рджрд░реНрд╢рди { #performance } |
|||
|
|||
рд╕реНрд╡рддрдВрддреНрд░ TechEmpower рдмреЗрдВрдЪрдорд╛рд░реНрдХ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ Uvicorn рдХреЗ рддрд╣рдд рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ **FastAPI** рдПрдкреНрд▓реАрдХреЗрд╢рдиреНрд╕ [рдЙрдкрд▓рдмреНрдз рд╕рдмрд╕реЗ рддреЗрдЬрд╝ Python рдлрд╝реНрд░реЗрдорд╡рд░реНрдХреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ](https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7) рд╣реИрдВ, рдХреЗрд╡рд▓ Starlette рдФрд░ Uvicorn (рдЬреЛ FastAPI рджреНрд╡рд╛рд░рд╛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ) рд╕реЗ рдиреАрдЪреЗред (*) |
|||
|
|||
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, [рдмреЗрдВрдЪрдорд╛рд░реНрдХреНрд╕](https://fastapi.tiangolo.com/hi/benchmarks/) рд╕реЗрдХреНрд╢рди рджреЗрдЦреЗрдВред |
|||
|
|||
## рдирд┐рд░реНрднрд░рддрд╛рдПрдБ { #dependencies } |
|||
|
|||
FastAPI, Pydantic рдФрд░ Starlette рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред |
|||
|
|||
### `standard` рдирд┐рд░реНрднрд░рддрд╛рдПрдБ { #standard-dependencies } |
|||
|
|||
рдЬрдм рдЖрдк `pip install "fastapi[standard]"` рдХреЗ рд╕рд╛рде FastAPI рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ `standard` рд╕рдореВрд╣ рдХреА рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ: |
|||
|
|||
Pydantic рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛: |
|||
|
|||
* [`email-validator`](https://github.com/JoshData/python-email-validator) - рдИрдореЗрд▓ рд╡реИрдзреАрдХрд░рдг рдХреЗ рд▓рд┐рдПред |
|||
|
|||
Starlette рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛: |
|||
|
|||
* [`httpx`](https://www.python-httpx.org) - рдпрджрд┐ рдЖрдк `TestClient` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрд╡рд╢реНрдпрдХред |
|||
* [`jinja2`](https://jinja.palletsprojects.com) - рдпрджрд┐ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрд╡рд╢реНрдпрдХред |
|||
* [`python-multipart`](https://github.com/Kludex/python-multipart) - рдпрджрд┐ рдЖрдк рдлреЙрд░реНрдо <dfn title="HTTP рдЕрдиреБрд░реЛрдз рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ Python рдбреЗрдЯрд╛ рдореЗрдВ рдмрджрд▓рдирд╛">"рдкрд╛рд░реНрд╕рд┐рдВрдЧ"</dfn> рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, `request.form()` рдХреЗ рд╕рд╛рде, рддреЛ рдЖрд╡рд╢реНрдпрдХред |
|||
|
|||
FastAPI рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛: |
|||
|
|||
* [`uvicorn`](https://www.uvicorn.dev) - рд╡рд╣ рд╕рд░реНрд╡рд░ рдЬреЛ рдЖрдкрдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЛрдб рдФрд░ рд╕рд░реНрд╡ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ `uvicorn[standard]` рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╕рд░реНрд╡рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ (рдЬреИрд╕реЗ `uvloop`) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред |
|||
* `fastapi-cli[standard]` - `fastapi` рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред |
|||
* рдЗрд╕рдореЗрдВ `fastapi-cloud-cli` рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА FastAPI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ [FastAPI Cloud](https://fastapicloud.com) рдкрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред |
|||
|
|||
### `standard` рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ { #without-standard-dependencies } |
|||
|
|||
рдпрджрд┐ рдЖрдк `standard` рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ, рддреЛ рдЖрдк `pip install fastapi` рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, `pip install "fastapi[standard]"` рдХреЗ рдмрдЬрд╛рдпред |
|||
|
|||
### `fastapi-cloud-cli` рдХреЗ рдмрд┐рдирд╛ { #without-fastapi-cloud-cli } |
|||
|
|||
рдпрджрд┐ рдЖрдк standard рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд▓реЗрдХрд┐рди `fastapi-cloud-cli` рдХреЗ рдмрд┐рдирд╛ FastAPI рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ `pip install "fastapi[standard-no-fastapi-cloud-cli]"` рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред |
|||
|
|||
### рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ { #additional-optional-dependencies } |
|||
|
|||
рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред |
|||
|
|||
рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реИрдХрд▓реНрдкрд┐рдХ Pydantic рдирд┐рд░реНрднрд░рддрд╛рдПрдБ: |
|||
|
|||
* [`pydantic-settings`](https://docs.pydantic.dev/latest/usage/pydantic_settings/) - рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдПред |
|||
* [`pydantic-extra-types`](https://docs.pydantic.dev/latest/usage/types/extra_types/extra_types/) - Pydantic рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд╛рд░реЛрдВ рд╣реЗрддреБред |
|||
|
|||
рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реИрдХрд▓реНрдкрд┐рдХ FastAPI рдирд┐рд░реНрднрд░рддрд╛рдПрдБ: |
|||
|
|||
* [`orjson`](https://github.com/ijl/orjson) - рдпрджрд┐ рдЖрдк `ORJSONResponse` рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрд╡рд╢реНрдпрдХред |
|||
* [`ujson`](https://github.com/esnme/ultrajson) - рдпрджрд┐ рдЖрдк `UJSONResponse` рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрд╡рд╢реНрдпрдХред |
|||
|
|||
## рд▓рд╛рдЗрд╕реЗрдВрд╕ { #license } |
|||
|
|||
рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИред |
|||
@ -0,0 +1,11 @@ |
|||
/// details | ЁЯМР рдПрдЖрдИ рдФрд░ рдордиреБрд╖реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдиреБрд╡рд╛рдж |
|||
|
|||
рдпрд╣ рдЕрдиреБрд╡рд╛рдж рдордиреБрд╖реНрдпреЛрдВ рдХреЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдореЗрдВ рдПрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред ЁЯдЭ |
|||
|
|||
рдЗрд╕рдореЗрдВ рдореВрд▓ рдЕрд░реНрде рдХреЛ рдЧрд▓рдд рд╕рдордЭрдиреЗ рдпрд╛ рдЕрдкреНрд░рд╛рдХреГрддрд┐рдХ рд▓рдЧрдиреЗ рдЖрджрд┐ рдЬреИрд╕реА рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред ЁЯдЦ |
|||
|
|||
рдЖрдк [рд╣рдореЗрдВ рдПрдЖрдИ LLM рдХреЛ рдмреЗрд╣рддрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдХреЗ](https://fastapi.tiangolo.com/hi/contributing/#translations) рдЗрд╕ рдЕрдиреБрд╡рд╛рдж рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред |
|||
|
|||
[рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рд╕рдВрд╕реНрдХрд░рдг](ENGLISH_VERSION_URL) |
|||
|
|||
/// |
|||
@ -0,0 +1,5 @@ |
|||
### Target language |
|||
|
|||
Translate to Hindi (рд╣рд┐рдиреНрджреА). |
|||
|
|||
Language code: hi. |
|||
@ -0,0 +1 @@ |
|||
INHERIT: ../en/mkdocs.yml |
|||
LoadingтАж
Reference in new issue