Pesquisas do stackoverflow via cli
Project description
- License:
GPLv3
Pesquisa no StackOverflow
Este projeto disponibiliza um comando CLI que coordena ações com o objetivo de realizar pesquisa no StackOverflow, possui 2 interfaces de uso:
Pesquisas por CLI
Pesquisas por Bot Telegram
Arquitetura do projeto
O Projeto está dividido hein:
API de Comunicação com StackOverflow
Executa pesquisa na API;
Executa paginação preemptiva
Captura token de autenticação com a API do Stack OverFlow (Para permitir maior quota de requisições)
CLI de interação com a API de Comunicação
Interage com a API interna de comunicação
Redireciona requisição de autenticação OAuth pro StackOverFlow, modo implicito.
Bot Server
Responde as solicitações de pessoas interagindo com o bot
Pré-requisitos
Antes de qualquer interação de pesquisa, você precisa iniciar a API de comunicação com o StackOverflow.
Portanto abra um novo terminal e execute:
$ underflow start-api
Pesquisas via CLI
É permitido o uso da CLI sem pre-requisitos de autenticação.
$ underflow ask “python + fastapi”
Authenticação
Existe um limite de requisições. Caso necessite de autenticação, será preciso que você se autentique e autorize este aplicativo a realizar pesquisas.
Para viabilizar essa autenticação é necessário algumas informações sensíveis que podem ser obtidas com o author deste projeto. De posse dessas informações, coloque as informações como variaveis de ambiente e siga os passos.
Após inserir, você pode executar o comando de autenticação:
$ underflow authenticate
O comando abrirá o Google Chrome, redirecionando você para mecanismo de autenticação e autorização do StackOverflow, uma vez autorizado, você será redirecionado para uma página localhost para que a API interna possa capturar o token e salvar em memória. Após isso pode continuar realizando as consultas.
Telegram BOT
O nome do bot no Telegram é UnderflowBot. Para responder as solicitações oriundas do bot, você precisa de algumas informações secretas de integração, solicitar para o author. De posse dessa informações, voce exporta para variaveis de ambiente e executar o comando abaixo para responder as solicitações.
$ underflow bot-server
Desenvolvimento
Projeto foi desenvolvido principalemente com poetry + fastapi + typer + pytest, as demais dependências são utilitários.
Instalaçao de dependências
$ poetry install
Testes
$ poetry run pytest
Possível Roadmap Futuro
Desenvolvedor botserver em arquitetura serverless(aws lambda)
Implementar autenticação entre as camadas
Implementar controle de background e foreground
Implementar respostas interativas para o bot do Telegram
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file underflow-0.1.2.tar.gz
.
File metadata
- Download URL: underflow-0.1.2.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.8.0 Linux/4.15.0-39-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8938b89dce0258e554809eb023f49075edbec67e6510e93071831590288195f |
|
MD5 | 8d92903fabf2d927ad91f2e965d8ec9e |
|
BLAKE2b-256 | 941059b0b1f50387b798debc1718a127982c08029fdd4e5f87bf1a6f3275717c |