Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/gogoncalves/lattes-identifier-service
- Owner: gogoncalves
- License: apache-2.0
- Created: 2023-04-15T21:07:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-04-22T21:49:47.000Z (over 1 year ago)
- Last Synced: 2024-11-06T13:43:58.262Z (2 months ago)
- Topics: apache-license-2, api-restful, cnpq, csv, etl, flasgger, flask, glob, gustavogoncalves, lattes, lattes-platform, lattesidentifier, mysql, pandas, python, rest, sql, swagger, tdqm, unittest
- Language: Python
- Homepage:
- Size: 24.6 MB
- Stars: 3
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
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:
- Clone o repositório em sua máquina:
- 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.
- Acesse a pasta do projeto e execute o arquivo main.py com o seguinte comando:
- Caso queira realizar testes unitarios, acesse a pasta raiz do projeto e execute o seguinte comando:
- 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.
git clone https://github.com/GOGoncalves/lattes-identifier-service
Linux:
python3 main.py
Windows:
py main.py
Linux:
python3 -m unittest discover tests
Windows:
py -m unittest discover .\tests
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.