Ir para o conteúdo

FastAPI CLI

FastAPI CLI é uma interface por linha de comando do fastapi que você pode usar para rodar sua app FastAPI, gerenciar seu projeto FastAPI e mais.

Quando você instala o FastAPI (ex.: com pip install fastapi), isso inclui um pacote chamado fastapi-cli. Esse pacote disponibiliza o comando fastapi no terminal.

Para rodar seu app FastAPI em desenvolvimento, você pode usar o comando fastapi dev:

fast →fastapi dev main.pyINFO 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 [2265862] using WatchFiles
INFO: Started server process [2265873]
INFO: Waiting for application startup.
INFO: Application startup complete.

restart ↻

Aquele commando por linha de programa chamado fastapi é o FastAPI CLI.

O FastAPI CLI recebe o caminho do seu programa Python, detecta automaticamente a variável com o FastAPI (comumente nomeada app) e como importá-la, e então a serve.

Para produção você usaria fastapi run no lugar. 🚀

Internamente, FastAPI CLI usa Uvicorn, um servidor ASGI de alta performance e pronto para produção. 😎

fastapi dev

Quando você roda fastapi dev, isso vai executar em modo de desenvolvimento.

Por padrão, teremos o recarregamento automático ativo, então o programa irá recarregar o servidor automaticamente toda vez que você fizer mudanças no seu código. Isso usa muitos recursos e pode ser menos estável. Você deve apenas usá-lo em modo de desenvolvimento.

O servidor de desenvolvimento escutará no endereço de IP 127.0.0.1 por padrão, este é o IP que sua máquina usa para se comunicar com ela mesma (localhost).

fastapi run

Quando você rodar fastapi run, isso executará em modo de produção por padrão.

Este modo terá recarregamento automático desativado por padrão.

Isso irá escutar no endereço de IP 0.0.0.0, o que significa todos os endereços IP disponíveis, dessa forma o programa estará acessível publicamente para qualquer um que consiga se comunicar com a máquina. Isso é como você normalmente roda em produção em um contêiner, por exemplo.

Em muitos casos você pode ter (e deveria ter) um "proxy de saída" tratando HTTPS no topo, isso dependerá de como você fará o deploy da sua aplicação, seu provedor pode fazer isso pra você ou talvez seja necessário fazer você mesmo.

Tip

Você pode aprender mais sobre em documentação de deployment.

Was this page helpful?