Skip to content

Latest commit

 

History

History
executable file
·
87 lines (65 loc) · 2.8 KB

File metadata and controls

executable file
·
87 lines (65 loc) · 2.8 KB

codecov

rest_clients

Biblioteca leve para clientes REST e Redis, focada em casos de uso com APIs Eve (RESTful) e Redis/Sentinel.

Visão geral

Arquivos importantes

Instalação

Instale dependências (ex.: requests, redis) e importe os módulos do pacote.

Exemplos de uso

  • Redis (standalone)
from rest_clients.redis_client import RedisClient

cfg = {"host": "localhost", "port": 6379}
rc = RedisClient(cfg)
rc.set_value("k", "v", ex=60)
val = rc.get_value("k")
  • Redis com Sentinel
cfg = {"cluster": ["host1:26379", "host2:26379"]}
rc = RedisClient(cfg)
  • REST genérico
from rest_clients._generic_rest import RestClient

client = RestClient("https://api.example.com")
resp = client._get("https://api.example.com/resource")
  • Cliente Eve com autenticação
from rest_clients.eve_client import EveClient

# auth_handler deve expor get_token() e update_token()
eve = EveClient("https://eve.example.com", auth_handler=my_auth_handler)
resp = eve.get("resource_id")

Exceções relevantes

  • MissingConfigurationException é lançada quando parâmetros obrigatórios (ex.: URL ou auth) não são fornecidos.
  • ApiRestException é usada para erros de operação nas chamadas REST.

Testes

Execute os testes com pytest:

pytest -q

Licença

Projeto licenciado sob a MIT License.