/lattes-identifier-service

API RESTful em Python para validação do número identificador Lattes utilizando Flask e MySQL/CSV para fins de consulta. Documentação em Flasgger.

Primary LanguagePythonApache License 2.0Apache-2.0

lattes-identifier-service FOSSA Status

API RESTful Lattes CNPq

Esta API tem como objetivo validar o número identificador Lattes, podendo verificar se o mesmo existe em um banco de dados MySQL ou em um arquivo CSV;

O CNPq disponibiliza, periodicamente, todos os ID dos Currículos Lattes cadastrados;

Foi utilizado como base os dados fornecidos pela Plataforma Lattes, que é uma base de dados pública do CNPq, para realizar a validação do Número identificador.

Requisitos

Para utilizar esta API, é necessário ter o Python 3.6 ou superior instalado em sua máquina. Além disso, é preciso instalar os seguintes pacotes:

  • Flask
  • pandas
  • tdqm
  • mysql-connector-python
  • urllib3
  • flasgger

Instalação

Para instalar os pacotes necessários, basta utilizar o comando abaixo:

Linux:

pip install -r requirements.txt

Windows:

py -m pip install -r requirements.txt

Como utilizar

Para utilizar esta API, siga os passos abaixo:

  1. Clone o repositório em sua máquina:
  2. git clone https://github.com/GOGoncalves/lattes-identifier-service
  3. Abra o arquivo db_config.txt localizado na pasta config e configure com as informações do seu banco de dados MySQL. Caso não possua um banco de dados, pode utilizar o arquivo lattes_transformed.csv como fonte de validação ou altere o toggle para True e baixe da Web um arquivo CSV atualizado, não esqueça de manter a URL para download atualizada.
  4. Acesse a pasta do projeto e execute o arquivo main.py com o seguinte comando:
  5. Linux:

    python3 main.py

    Windows:

    py main.py
  6. Caso queira realizar testes unitarios, acesse a pasta raiz do projeto e execute o seguinte comando:
  7. Linux:

    python3 -m unittest discover tests

    Windows:

    py -m unittest discover .\tests
  8. A API estará disponível no endereço http://localhost:5000. Você pode acessar a documentação da API pelo Swagger UI no endereço http://localhost:5000/apidocs.

Estrutura do Projeto

  • lattes-identifier-api
    • main.py
    • requirements.txt
    • README.md
    • swagger.yml
    • tests
      • TestLattesController.py
      • TestLattesService.py
    • config
      • config_service.py
      • db_config.txt
    • controller
      • lattes_controller.py
    • service
      • lattes_service.py
    • static
      • lattes_transformed.csv

Endpoint

Validação de número de identificação Lattes

Este endpoint realiza a validação de um número de identificação Lattes, verificando se o mesmo existe no banco de dados MySQL ou no arquivo CSV.

  • URI: /lattes/{lattes_number}
  • Método: GET
  • Parâmetro:
    • lattes_number (obrigatório): Número de identificação Lattes.
  • Respostas:
    • 200 OK: Retorna uma mensagem informando que o número de identificação Lattes é válido.
    • 404 Not Found: Retorna uma mensagem informando que o número de identificação Lattes não foi encontrado.

Documentação

A documentação completa da API pode ser acessada através do Flasgger, baseado em Swagger, disponível no endereço http://localhost:5000/apidocs.

Licença

Este projeto está licenciado sob a Licença Apache 2.0 - consulte o arquivo LICENSE para obter mais detalhes.