Исходный код : https://github.com/fastapi/fastapi-cli.
Запускайте приложения FastAPI и управляйте ими из командной строки с помощью FastAPI CLI. ?
FastAPI CLI — это программа fastapi
командной строки, которую вы можете использовать для обслуживания своего приложения FastAPI, управления проектом FastAPI и многого другого.
Когда вы устанавливаете FastAPI (например, с помощью pip install "fastapi[standard]"
), он включает в себя пакет под названием fastapi-cli
, этот пакет предоставляет команду fastapi
в терминале.
Чтобы запустить приложение FastAPI для разработки, вы можете использовать команду fastapi dev
:
$ fastapi dev main.py
INFO Using path main.py
INFO Resolved absolute path /home/user/code/awesomeapp/main.py
INFO Searching for package file structure from directories with __init__.py files
INFO Importing from /home/user/code/awesomeapp
╭─ Python module file ─╮
│ │
│ ? main.py │
│ │
╰──────────────────────╯
INFO Importing module main
INFO Found importable FastAPI app
╭─ Importable FastAPI app ─╮
│ │
│ from main import app │
│ │
╰──────────────────────────╯
INFO Using import string main:app
╭────────── 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 [56345] using WatchFiles
INFO: Started server process [56352]
INFO: Waiting for application startup.
INFO: Application startup complete.
Эта программа командной строки под названием fastapi
— это FastAPI CLI .
FastAPI CLI берет путь к вашей программе Python и автоматически определяет переменную с помощью FastAPI (обычно называемую app
), а также способ ее импорта, а затем обслуживает ее.
Вместо этого для производства вы должны использовать fastapi run
. ?
Внутри FastAPI CLI используется Uvicorn, высокопроизводительный, готовый к работе сервер ASGI. ?
fastapi dev
Когда вы запускаете fastapi dev
, он будет работать в режиме разработки.
По умолчанию у него включена автоматическая перезагрузка , поэтому он автоматически перезагружает сервер, когда вы вносите изменения в свой код. Это ресурсоемко и может быть менее стабильно, чем без него, поэтому его следует использовать только для разработки.
По умолчанию он будет прослушивать IP-адрес 127.0.0.1
, который является IP-адресом вашего компьютера для связи только с самим собой ( localhost
).
fastapi run
Когда вы запускаете fastapi run
, по умолчанию он запускается в производственном режиме.
По умолчанию автоматическая перезагрузка отключена .
Он будет прослушивать IP-адрес 0.0.0.0
, что означает все доступные IP-адреса, таким образом, он будет общедоступен для всех, кто может взаимодействовать с машиной. Вот как вы обычно запускаете его в рабочей среде, например, в контейнере.
В большинстве случаев у вас будет (и должен) быть «прокси-сервер завершения», обрабатывающий HTTPS сверху, это будет зависеть от того, как вы развертываете свое приложение, ваш провайдер может сделать это за вас или вам, возможно, придется настроить его самостоятельно. Подробнее об этом можно узнать в документации по развертыванию FastAPI.
Этот проект лицензируется на условиях лицензии MIT.