Skip to content

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

License

Notifications You must be signed in to change notification settings

gresas/rest_clients

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages