An async client for Gundi's API
Project description
Gundi Client
Introduction
Gundi, a.k.a "The Portal" is a platform to manage integrations. The gundi-client is an async python client to interact with Gundi's REST API.
Installation
pip install gundi-client
Usage
from gundi_client import PortalApi
import httpx
# You can use it as an async context-managed client
async with PortalApi() as portal:
try:
response = await portal.get_outbound_integration_list(
session=session, inbound_id=str(inbound_id), device_id=str(device_id)
)
except httpx.RequestError as e:
logger.exception("Request Error")
...
except httpx.TimeoutException as e:
logger.exception("Request timed out")
...
except httpx.HTTPStatusError as e:
logger.exception("Response returned error")
else:
# response contains a list configs as dicts
for integration in response:
...
...
# Or create an instance and close the client explicitly later
portal = PortalApi()
try:
response = await portal.get_outbound_integration_list(
session=session, inbound_id=str(inbound_id), device_id=str(device_id)
)
except httpx.RequestError as e:
logger.exception("Request Error")
...
except httpx.TimeoutException as e:
logger.exception("Request timed out")
...
except httpx.HTTPStatusError as e:
logger.exception("Response returned error")
else:
# response contains a list configs as dicts
for integration in response:
...
...
await portal.close() # Close the session used to send requests to ER API
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
gundi_client_v2-2.0.0.tar.gz
(3.4 kB
view hashes)
Built Distribution
Close
Hashes for gundi_client_v2-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4552a125b0ee4740d3a8d2b504a6646650acbe3a638fc39a0848045d7182632f |
|
MD5 | b8ae254d794360a5883a2b40f319ad71 |
|
BLAKE2b-256 | 051d4b008abd2ae38fafe2d6f0aa6b50aa36b3968eedc625b164bc251f765f13 |