[[FastAPI]] é um framework web moderno e de alta performance para construir APIs com [[Linguagem de programação Python|Python]] 3.8+. Ele se destaca por ser baseado em _type hints_ padrão do Python, o que permite validação de dados, serialização e documentação automática. # O que é FastAPI? FastAPI é construído sobre duas bibliotecas principais: * [[Starlette]]: Um framework ASGI leve para construir serviços assíncronos de alta performance. * [[Pydantic]]: Uma biblioteca para validação de dados e configurações usando _type hints_ do Python. Essa combinação permite que o FastAPI ofereça um desempenho excepcional e uma experiência de desenvolvimento robusta. # Principais Características * **Performance Elevada**: * Desempenho muito alto, comparável a frameworks como NodeJS e Go. * É um dos frameworks [[Linguagem de programação Python|Python]] mais rápidos disponíveis, graças à sua base em [[Starlette]] e [[Pydantic]]. * **Experiência do Desenvolvedor Otimizada**: * **Rápido para Codificar**: Aumenta significativamente a velocidade de desenvolvimento de funcionalidades. * **Menos Bugs**: Reduz a ocorrência de erros induzidos por desenvolvedores, aproveitando a validação de tipos. * **Intuitivo**: Oferece excelente suporte ao editor (autocompletar em todo lugar) e minimiza o tempo de [[Debugging]]. * **Fácil de Usar**: Projetado para ser fácil de aprender, reduzindo o tempo gasto na leitura de documentação. * **Código Conciso**: Minimiza a duplicação de código, extraindo múltiplos recursos de cada declaração de parâmetro. * **Robustez e Conformidade com Padrões**: * **Pronto para Produção**: Gera código robusto e confiável. * **Documentação Automática**: Fornece documentação interativa automática para suas APIs, baseada nos padrões. * **Baseado em Padrões Abertos**: Totalmente compatível com os padrões abertos para APIs: [[OpenAPI]] (anteriormente conhecido como Swagger) e [[JSON]] Schema. **:: Referência ::** [FastAPI (tiangolo.com)](https://fastapi.tiangolo.com/) # Comandos Importantes Para instalar o FastAPI e o servidor ASGI Uvicorn (recomendado): ```shell pip install fastapi "uvicorn[standard]" # Alternativamente, para instalar todas as dependências opcionais: # pip install "fastapi[all]" ``` Para executar uma aplicação FastAPI (assumindo que seu script principal é `main.py` e a instância da aplicação é `app`): ```shell uvicorn main:app --reload ``` O flag `--reload` permite que o servidor reinicie automaticamente ao detectar mudanças no código. # Tutorial Para um guia completo e detalhado sobre como usar o FastAPI, consulte a documentação oficial: **:: Referência ::** [Tutorial - User Guide - FastAPI (tiangolo.com)](https://fastapi.tiangolo.com/tutorial/)