Buscar

Ferramentas

FastAPI

Framework Python para criar APIs a partir das anotações de tipo, com validação de dados e documentação interativa geradas a partir do código.

  • Desenvolvimento
FastAPI

Quem escreve uma API em Python costuma repetir o mesmo trabalho: validar o que chega, converter tipos e manter a documentação em dia. O FastAPI usa as anotações de tipo do próprio Python para fazer essas três coisas a partir de uma única declaração. Ele roda sobre o Starlette, na parte web, e sobre o Pydantic, na parte de dados.

Para que serve

  • Montar APIs REST em que cada parâmetro tem tipo declarado e o framework recusa dados inválidos com um erro claro.
  • Ler dados de JSON, caminho da URL, query string, cookies, cabeçalhos, formulários e arquivos com a mesma sintaxe.
  • Publicar documentação interativa automática, com Swagger UI em /docs e ReDoc em /redoc.
  • Gerar um esquema OpenAPI e JSON Schema que outras equipes e ferramentas conseguem consumir.
  • Ganhar autocompletar e checagem de tipo no editor.

Se o termo ainda é vago, o post API: o que é e como funciona explica a base.

Como começar

O README recomenda o gerenciador uv. As aspas no comando fazem ele funcionar em qualquer terminal:

uv add "fastapi[standard]"

Com pip, a orientação é instalar o mesmo pacote fastapi[standard] dentro de um ambiente virtual. Depois de criar o arquivo com as rotas, o servidor de desenvolvimento sobe com recarga automática:

uv run fastapi dev

A aplicação fica em http://127.0.0.1:8000. Para produção, o comando indicado é fastapi run.

Licença e custo

Pela licença MIT, um produto comercial pode usar o FastAPI livremente; o que não pode sumir é o aviso de copyright. O framework é gratuito. A mesma equipe mantém o FastAPI Cloud, um serviço de deploy que o projeto apresenta como principal patrocinador. As páginas abertas não informam preço, e o deploy em outros provedores continua possível.

Quando vale a pena

Funciona bem para quem já trabalha com Python e precisa expor dados por HTTP com contrato bem definido. Quem está chegando na linguagem pode começar pelo post Python: o que é. Para um site completo, com páginas e painel administrativo, o Django é a alternativa mais conhecida no mundo Python. O Flask atende quem quer um núcleo mínimo e escolhe cada peça.