Files
fastapi/docs/hi/docs/fastapi-cli.md
T
452e526877 ЁЯМР Update translations for hi (update-outdated) (#16212)
Co-authored-by: pr-submit[bot] <pr-submit[bot]@users.noreply.github.com>
Co-authored-by: Yurii Motov <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: pr-push[bot] <pr-push[bot]@users.noreply.github.com>
2026-08-19 10:58:07 +02:00

9.7 KiB

FastAPI CLI

FastAPI CLI рдПрдХ command line рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрдкрдиреЗ FastAPI рдРрдк рдХреЛ serve рдХрд░рдиреЗ, рдЕрдкрдиреЗ FastAPI project рдХреЛ manage рдХрд░рдиреЗ, рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЬрдм рдЖрдк рдЕрдкрдиреЗ project рдореЗрдВ FastAPI add рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ uv add "fastapi[standard]" рдХреЗ рд╕рд╛рде), рддреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ command line рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк terminal рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

development рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ FastAPI рдРрдк рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк fastapi dev command рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

$ <font color="#4E9A06">fastapi</font> dev

  <span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span>  Starting development server ЁЯЪА

             Searching for package file structure from directories with
             <font color="#3465A4">__init__.py</font> files
             Importing from <font color="#75507B">/home/user/code/</font><font color="#AD7FA8">awesomeapp</font>

   <span style="background-color:#007166"><font color="#D3D7CF"> module </font></span>  ЁЯРН main.py

     <span style="background-color:#007166"><font color="#D3D7CF"> code </font></span>  Importing the FastAPI app object from the module with the
             following code:

             <u style="text-decoration-style:solid">from </u><u style="text-decoration-style:solid"><b>main</b></u><u style="text-decoration-style:solid"> import </u><u style="text-decoration-style:solid"><b>app</b></u>

      <span style="background-color:#007166"><font color="#D3D7CF"> app </font></span>  Using import string: <font color="#3465A4">main:app</font>

   <span style="background-color:#007166"><font color="#D3D7CF"> server </font></span>  Server started at <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000</u></font>
   <span style="background-color:#007166"><font color="#D3D7CF"> server </font></span>  Documentation at <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000/docs</u></font>

      <span style="background-color:#007166"><font color="#D3D7CF"> tip </font></span>  Running in development mode, for production use:
             <b>fastapi run</b>

             Logs:

     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Will watch for changes in these directories:
             <b>[</b><font color="#4E9A06">&apos;/home/user/code/awesomeapp&apos;</font><b>]</b>
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Uvicorn running on <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000</u></font> <b>(</b>Press CTRL+C to
             quit<b>)</b>
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Started reloader process <b>[</b><font color="#34E2E2"><b>383138</b></font><b>]</b> using WatchFiles
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Started server process <b>[</b><font color="#34E2E2"><b>383153</b></font><b>]</b>
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Waiting for application startup.
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Application startup complete.

/// tip | рд╕реБрдЭрд╛рд╡

production рдХреЗ рд▓рд┐рдП рдЖрдк fastapi run рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, fastapi dev рдХреА рдЬрдЧрд╣ред ЁЯЪА

///

рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ, FastAPI CLI Uvicorn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ high-performance, production-ready, ASGI server рд╣реИред ЁЯШО

fastapi CLI рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП FastAPI рдРрдк рдХреЛ рдЕрдкрдиреЗ-рдЖрдк detect рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ main.py file рдореЗрдВ app рдирд╛рдо рдХрд╛ object рд╣реИ (рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп variants рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ)ред

рд▓реЗрдХрд┐рди рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдРрдк рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ configure рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдРрдк entrypoint рдХреЛ pyproject.toml рдореЗрдВ configure рдХрд░реЗрдВ

рдЖрдк pyproject.toml file рдореЗрдВ рдпрд╣ configure рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдРрдк рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИ, рдЬреИрд╕реЗ:

[tool.fastapi]
entrypoint = "main:app"

рд╡рд╣ entrypoint fastapi command рдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдЙрд╕реЗ рдРрдк рдХреЛ рдЗрд╕ рддрд░рд╣ import рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

from main import app

рдЕрдЧрд░ рдЖрдкрдХрд╛ code рдЗрд╕ рддрд░рд╣ structured рдерд╛:

.
тФЬтФАтФА backend
тФВ┬а┬а тФЬтФАтФА main.py
тФВ┬а┬а тФЬтФАтФА __init__.py

рддреЛ рдЖрдк entrypoint рдХреЛ рдЗрд╕ рддрд░рд╣ set рдХрд░реЗрдВрдЧреЗ:

[tool.fastapi]
entrypoint = "backend.main:app"

рдЬреЛ рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛:

from backend.main import app

fastapi dev path рдХреЗ рд╕рд╛рде рдпрд╛ --entrypoint CLI option рдХреЗ рд╕рд╛рде

рдЖрдк fastapi dev command рдХреЛ file path рднреА pass рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ FastAPI app object рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд▓реЗрдЧрд╛:

$ uv run fastapi dev main.py

рдпрд╛, рдЖрдк fastapi dev command рдХреЛ --entrypoint option рднреА pass рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

$ uv run fastapi dev --entrypoint main:app

рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд╣рд░ рдмрд╛рд░ fastapi command call рдХрд░рддреЗ рд╕рдордп рд╕рд╣реА path\entrypoint pass рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЕрдиреНрдп tools рдЗрд╕реЗ рдвреВрдБрдврдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП VS Code рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдпрд╛ FastAPI Cloud, рдЗрд╕рд▓рд┐рдП pyproject.toml рдореЗрдВ entrypoint рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред

fastapi dev

fastapi dev рдЪрд▓рд╛рдиреЗ рд╕реЗ development mode рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

Default рд░реВрдк рд╕реЗ, auto-reload enabled рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ code рдореЗрдВ changes рдХрд░рдиреЗ рдкрд░ server рдХреЛ рдЕрдкрдиреЗ-рдЖрдк reload рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ resource-intensive рд╣реИ рдФрд░ disabled рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо stable рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕реЗ рдХреЗрд╡рд▓ development рдХреЗ рд▓рд┐рдП рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ IP address 127.0.0.1 рдкрд░ рднреА listen рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреА machine рдХрд╛ рдЦреБрдж рд╕реЗ рд╣реА communicate рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ IP рд╣реИ (localhost)ред

рдЖрдкрдХреЗ рдРрдк рдХреЛ import рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, fastapi dev FASTAPI_ENV environment variable рдХреЛ development рдкрд░ set рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ FASTAPI_ENV рдкрд╣рд▓реЗ рд╕реЗ set рд╣реИ, рддреЛ рдЗрд╕рдХреА рдореМрдЬреВрджрд╛ value рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рд╕реЗ app startup code development-friendly рд╡реНрдпрд╡рд╣рд╛рд░ рдЪреБрди рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЖрдкрдХреЛ staging рдЬреИрд╕рд╛ app-specific environment рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред

Conventional FASTAPI_ENV values development рдФрд░ production рд╣реИрдВред fastapi run рд╡рд░реНрддрдорд╛рди рдореЗрдВ FASTAPI_ENV рдХреЛ unchanged рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдЧрд░ рдЖрдкрдХреЗ рдРрдк рдХреЛ production mode detect рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рддреЛ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ set рдХрд░реЗрдВред

fastapi run

fastapi run execute рдХрд░рдиреЗ рд╕реЗ FastAPI production mode рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

Default рд░реВрдк рд╕реЗ, auto-reload disabled рд╣реЛрддрд╛ рд╣реИред рдпрд╣ IP address 0.0.0.0 рдкрд░ рднреА listen рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╕рднреА available IP addresses рд╣реИ, рдЗрд╕ рддрд░рд╣ рдпрд╣ рдЙрд╕ machine рд╕реЗ communicate рдХрд░ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП publicly accessible рд╣реЛрдЧрд╛ред рдЖрдо рддреМрд░ рдкрд░ рдЖрдк production рдореЗрдВ рдЗрд╕реЗ рдЗрд╕реА рддрд░рд╣ рдЪрд▓рд╛рдПрдБрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ container рдореЗрдВред

рдЕрдзрд┐рдХрддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдКрдкрд░ рд╕реЗ HTTPS handle рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ "termination proxy" рд╣реЛрдЧрд╛ (рдФрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП), рдпрд╣ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ application рдХреИрд╕реЗ deploy рдХрд░рддреЗ рд╣реИрдВ, рдЖрдкрдХрд╛ provider рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЦреБрдж set up рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛ рд╕рдХрддреА рд╣реИред

/// tip | рд╕реБрдЭрд╛рд╡

рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ deployment documentation рдореЗрдВ рдФрд░ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред

///