Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gogoncalves/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.
https://github.com/gogoncalves/lattes-identifier-service

apache-license-2 api-restful cnpq csv etl flasgger flask glob gustavogoncalves lattes lattes-platform lattesidentifier mysql pandas python rest sql swagger tdqm unittest

Last synced: 18 days ago
JSON representation

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.

Awesome Lists containing this project

README

        

![lattes-identifier-service](https://user-images.githubusercontent.com/100040132/233802158-d7285bb6-9ee8-42d9-9e0c-969f7b49a6c6.png)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fgogoncalves%2Flattes-identifier-api.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fgogoncalves%2Flattes-identifier-api?ref=badge_shield)

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.