Código fonte : https://github.com/fastapi/fastapi-cli
Execute e gerencie aplicativos FastAPI a partir da linha de comando com FastAPI CLI. ?
FastAPI CLI é um programa de linha de comando fastapi
que você pode usar para servir seu aplicativo FastAPI, gerenciar seu projeto FastAPI e muito mais.
Quando você instala o FastAPI (por exemplo, com pip install "fastapi[standard]"
), ele inclui um pacote chamado fastapi-cli
, este pacote fornece o comando fastapi
no terminal.
Para executar seu aplicativo FastAPI para desenvolvimento, você pode usar o comando 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.
Esse programa de linha de comando chamado fastapi
é FastAPI CLI .
FastAPI CLI segue o caminho para seu programa Python e detecta automaticamente a variável com o FastAPI (comumente chamado de app
) e como importá-la, e então a veicula.
Para produção, você usaria fastapi run
. ?
Internamente, FastAPI CLI usa Uvicorn, um servidor ASGI de alto desempenho e pronto para produção. ?
fastapi dev
Quando você executa fastapi dev
, ele será executado no modo de desenvolvimento.
Por padrão, o recarregamento automático estará ativado, portanto, recarregará automaticamente o servidor quando você fizer alterações em seu código. Isso consome muitos recursos e pode ser menos estável do que sem ele; você só deve usá-lo para desenvolvimento.
Por padrão ele escutará o endereço IP 127.0.0.1
, que é o IP para sua máquina se comunicar sozinha ( localhost
).
fastapi run
Quando você executa fastapi run
, ele será executado no modo de produção por padrão.
O recarregamento automático estará desabilitado por padrão.
Ele escutará o endereço IP 0.0.0.0
, o que significa todos os endereços IP disponíveis, desta forma estará acessível publicamente a qualquer pessoa que possa se comunicar com a máquina. É assim que você normalmente executaria em produção, por exemplo, em um contêiner.
Na maioria dos casos, você teria (e deveria) ter um "proxy de terminação" lidando com HTTPS para você, isso dependerá de como você implanta seu aplicativo, seu provedor pode fazer isso por você ou você pode precisar configurá-lo sozinho. Você pode aprender mais sobre isso na documentação de implantação do FastAPI.
Este projeto está licenciado sob os termos da licença do MIT.