FastAPI um framework relativamente novo mas bastante moderno

 

O FastAPI é um framework Python relativamente novo, teve a sua primeira versão lançada no dia 15 de Novembro de 2018, seu focado no desenvolvimento de API’s, tem como principais características ser moderno, rápido e simples. Mas apesar de ser novo ele não é inferior aos outros frameworks, como o Django ou o Flask, que já estão no mercado há mais tempo. Sebastián Ramírez desenvolveu e é atualmente mantêm o FastAPI a ideia de criar o FastAPI a partir de algumas dificuldades encontradas ao utilizar os frameworks que existiam na época para realizar a tarefa de desenvolver API’s, na maioria das vezes esses frameworks não possuíam o suporte para os recursos mais modernos do Python, como o recurso de type hints por exemplo

 

Os principais recursos do FastAPI são:

Rápido: API’s desenvolvidas com o FastAPI possuem uma alta performance, ao ponto de serem comparadas com API’s desenvolvidas com Node.js e Go. Inclusive é considerado um dos frameworks Python mais rápidos, perdendo apenas para o Starlette e o Uvicorn, que são frameworks utilizados internamente pelo FastAPI;

Intuitivo: O código fonte do framework foi inteiramente desenvolvido utilizando o recurso de type hints do Python, isso possibilita que as IDE’s e Editores de Código Fonte possuam um melhor intellisense, fazendo assim com que se gaste menos tempo debugando o código.

Fácil: Foi inteiramente pensado para ser fácil de usar e aprender, fazendo assim com que se gaste bem menos tempo lendo a documentação.

Robusto: O código desenvolvido já está pronto para produção, assim não precisamos fazer nenhuma alteração para então colocar as aplicações desenvolvidas no ar, além de que o FastAPI gera a documentação utilizando o Swagger e o OpenAPI de forma automática.

Preparando nosso ambiente para usarmos o FastAPI
Agora veremos um exemplo simples de como se parece o código de uma aplicação desenvolvida com FastAPI, lembrando que o FastAPI precisa do Python pelo menos na versão 3.6.

Considerarei que você já possui o Python  instalado em sua máquina. Inicialmente criaremos uma pasta e um ambiente virtual para podermos isolar nosso ambiente de desenvolvimento da instalação global do Python, para isso execute os seguintes comandos no terminal

mkdir exemplo-fastapi
cd exemplo-fastapi
python -m venv .venv

O primeiro comando serve para criar uma pasta chamada exemplo-fastapi que será a pasta do nosso projeto, logo em seguida utilizamos o comando cd para entrar nessa pasta e por fim utilizamos o comando python -m venv .venv para criar um novo ambiente virtual.

Agora que temos o nosso ambiente virtual criado precisamos ativa-lo, a ativação do ambiente virtual tende a mudar dependendo do seu sistema operacional, caso esteja utilizando Linux ou MacOS execute o seguinte comando:

source .venv/bin/activate

Caso esteja no Windows execute o seguinte comando:

.venv\Scripts\activate

Caso após a execução do comando acima tenha aparecido o texto (.venv) no seu terminal, significa dizer que deu tudo certo. Agora precisamos instalar o FastAPI e também precisaremos de um servidor ASGI para podermos executar a aplicação, pois o FastAPI não possui um servidor integrado. Como servidor utilizaremos o Uvicorn que é recomendado pela própria documentação.

Execute os comandos abaixo para realizar a instalação do FastAPI e do Uvicorn:

pip install fastapi
pip install uvicorn[standard]