21 pontos por bnbong 2026-01-22 | 1 comentários | Compartilhar no WhatsApp

Olá! Como a área de desenvolvimento com IA anda tão aquecida que virou praticamente uma batata de lava, o framework backend em Python FastAPI também tem recebido muita gente nova ultimamente.

Como desenvolvedor que usa e adora FastAPI há muito tempo, acabei criando este projeto com a vontade de ajudar quem está começando com FastAPI.

O FastAPI-fastkit é um starter kit baseado em CLI que acelera a configuração do ambiente de desenvolvimento e o scaffolding de projetos para quem está tendo o primeiro contato com Python e FastAPI.

Com comandos bem simples, é possível criar um projeto FastAPI, gerar o ambiente virtual e instalar as dependências automaticamente.

pip install fastapi-fastkit  
fastkit init --interactive # configura o projeto de forma interativa (DB ORM, autenticação, testes, utilitários e instalação de outras dependências desejadas pelo usuário)  

O FastAPI é querido por ser um framework web moderno e rápido em Python, mas para quem escolhe o FastAPI como primeiro framework web ainda existe uma barreira de entrada:

  1. Como não há uma estrutura de projeto padronizada fornecida por padrão, pode ser difícil saber como organizar o projeto
  2. Como extensão do problema 1, mesmo em projetos baseados em FastAPI, a estrutura varia de projeto para projeto, o que aumenta o custo de aprendizado ao entender um projeto ou contribuir com open source
  3. Em comparação com outros frameworks web, há uma dependência muito alta de bibliotecas externas para funções centrais do framework, como servidor ASGI e serialização, o que torna a aprendizagem e o uso do FastAPI mais complexos (já que também é preciso dedicar mais atenção ao aprendizado de outras bibliotecas e ferramentas)

Quem já usou Django sabe o quanto django-admin startproject é conveniente. No ecossistema Spring, existe de forma parecida a ferramenta Spring Initializr, que permite colocar um projeto diretamente no diretório de trabalho.

Pessoalmente, considero o FastAPI um framework muito atraente também em termos de desempenho e o uso com frequência há mais de 5 anos, mas como alguns evitavam começar por causa das desvantagens mencionadas acima, achei que seria ótimo se o FastAPI também tivesse uma ferramenta assim — e foi por isso que criei o FastAPI-fastkit.

O fator decisivo para eu realmente seguir com o desenvolvimento do projeto foi a adição do pacote FastAPI CLI na versão 0.111.0 do FastAPI. Esse pacote foi adicionado de forma unilateral pelo desenvolvedor do FastAPI, tiangolo, sem validação da reação da comunidade, mas concordei com a motivação declarada nas notas da atualização de reduzir a barreira de entrada no FastAPI, e isso me convenceu de que meu projeto poderia se tornar ainda mais significativo.


[Recursos principais]

  1. Construtor interativo de projetos (fastkit init --interactive)

Ao selecionar passo a passo as dependências e funcionalidades desejadas, o código é gerado automaticamente:

  • Banco de dados: PostgreSQL, MySQL, MongoDB, Redis, SQLite
  • Autenticação: JWT, OAuth2, FastAPI-Users, baseada em sessão
  • Background: Celery, Dramatiq
  • Cache: Redis, fastapi-cache2
  • Monitoramento: Loguru, OpenTelemetry, Prometheus
  • Testes: configuração automática de pytest + coverage
  • Utilitários: CORS, Rate-Limiting, Pagination, WebSocket
  • Deploy: geração automática de Docker e docker-compose
  • Gerenciador de pacotes: escolha entre pip, uv, pdm, poetry
  • Além disso, também é possível adicionar dependências extras desejadas pelo usuário
  1. Implantação rápida do código-fonte de um projeto FastAPI com boilerplate

Se a configuração interativa for incômoda, você pode começar imediatamente com templates pré-configurados:

fastkit list-templates # verificar a lista de templates disponíveis  
fastkit startdemo fastapi-psql-orm --project-name myapp # criar um projeto com um template específico  

Os templates fornecidos no pacote foram adicionados considerando vários casos de uso do FastAPI, com referência à estrutura de projetos baseados em FastAPI publicados de forma pública no GitHub.

Novos templates estão sendo adicionados, e os templates disponíveis no momento são os seguintes:

  • fastapi-default: estrutura básica de projeto FastAPI
  • fastapi-async-crud: focado em operações CRUD assíncronas
  • fastapi-dockerized: pronto para deploy com Docker
  • fastapi-psql-orm: integração com PostgreSQL + SQLAlchemy ORM
  • fastapi-single-module: estrutura simples de módulo único
  • fastapi-mcp: estrutura básica de projeto FastAPI para desenvolvimento de servidores MCP
  1. Começar com um projeto vazio

Se você quiser começar com um projeto vazio e limpo, sem configurações especiais: fastkit init --project-name myproject

  1. Adicionar rotas

Adiciona uma nova rota de API a um projeto existente: fastkit addroute myproject users # adiciona uma rota de API chamada users ao projeto myproject

  1. Executar o servidor de desenvolvimento

Execute o servidor diretamente, sem precisar de um comando uvicorn separado: fastkit runserver --reload --port 8000


[Documentação e recursos]

Para instruções mais detalhadas de uso, consulte a documentação oficial:


Espero que isso ajude, nem que seja um pouco, quem está começando agora com FastAPI e Python.

Feedback, perguntas e contribuições são todos bem-vindos!

1 comentários

 
310writer 2026-01-24

Eu estava avaliando o FastAPI para um novo projeto.
Todos os itens que eu estava analisando e ponderando um a um estão incluídos aqui.
Excelente. Obrigado.