Best Flask open-source libraries and packages

Flask restx api exemplo

Criação de uma APIs REST com Python usando o Flask-RESTX framework. A aplicação roda na Vercel por meio de Serverless Functions.
Updated 5 months ago

Vercel

Iniciando com Flask-RESTX Framework

Flask-RESTX é uma extensão para Flask que adiciona suporte para construir APIs REST rapidamente. Flask-RESTX incentiva as melhores práticas com configuração mínima. Se você está familiarizado com o Flask, o Flask-RESTX deve ser fácil de aprender. Ele fornece uma coleção coerente de decoradores e ferramentas para descrever sua API e expor sua documentação corretamente (usando Swagger).1

Primeiros passos

O ideal é criar um ambiente de desenvolvimento virtual para rodar o projeto. Geralmente, recomendam o uso do virtualenv.

Nesse link mostro como instalar o miniconda e criar um ambiente de desenvolvimento.

Como rodar o projeto

  1. Clone o repositório;
  2. Crie um ambiente de desenvolvimento;
  3. Ative o ambiente do passo anterior;
  4. Instale as dependências;
  5. Inicie o servidor.

Caso use o modulo venv para criar o ambiente virtual, então o passos serão esses

git clone https://github.com/cauachagas/flask-restx-api-exemplo
cd flask-restx-api-exemplo
python3 -m venv venv
source venv/bin/activate
python main.py

Em seguida abra o link http://127.0.0.1:5000/ no seu navegador.

Deploy na Vercel e Serverless Functions

Vercel é uma plataforma em nuvem para sites estáticos (Jamstack) e Serverless Functions que se adapta perfeitamente ao seu fluxo de trabalho. Ele permite que os desenvolvedores hospedem sites e serviços da web com deploys instantâneos, escalados automaticamente e não requer supervisão, tudo sem configuração.

A Vercel é o responsável pelo incrível Next.js.

Deploy através de um repositório

No repositório deve existir

  1. Um arquivo requirements.txt com as dependências do projeto;
  2. Um arquivo python que rode a aplicação (aqui foi usado main.py);
  3. Um arquivo vercel.json (ver aqui) que aponte para o arquivo python que roda a aplicação

Caso você tenha feito um fork desse repositório basta fazer o seguinte para ter sua aplicação rodando na Vercel:

  1. Criar uma conta na Vercel
  2. Criar um novo projeto na sua conta Vercel
  3. Importar projeto de seu repositório Git
  4. Iniciar o deploy sem mexer em qualquer configuração

Deploy feito localmente

Também é possível fazer o deploy a partir de sua máquina. Para isso será preciso

  1. Instalar Node.js (Se estiver usando conda, basta digitar conda install nodejs).
  2. Instalar o Vercel CLI npm i -g vercel.
    • OBS: Estou considerando que o arquivo python que roda a aplicação seja main.py e que ele está na raiz do projeto
  3. Criar um arquivo vercel.json na raiz do projeto com as informações contidas aqui

Após isso, basta usar o comando

vercel

para fazer o deploy.

Para produção

vercel --prod

OBS: Não estou falando sobre variáveis de ambiente. Mais caso precise, utilize o site da vercel para expor as variáveis de ambiente que sua aplicação necessita.

Usando a estrutura deste repositório, ficou assim:

vercel
Vercel CLI 22.0.1
? Set up and deploy “~/flask-restx-api”? [Y/n] y
? Which scope do you want to deploy to? cauachagas
? Link to existing project? [y/N] n
? What’s your project’s name? flask-restx-api
? In which directory is your code located? ./

Ao terminar, mostrará um link para acessar sua aplicação.

Veja esta aplicação rodando

https://flask-restx-api-exemplo.vercel.app

Referências

Deploy with Vercel