Api¶
-
class
ambra_sdk.api.
Api
(*args, **kwargs)[source]¶ Ambra API.
Example: >>> from ambra_sdk.api import Api >>> >>> api = Api.with_creds( … url=’https://ambrahealth_host/api/v3’, … username=’username’, … password=’password’, … client_name=’Some name (ex: Hospital-ABC)’, … )
Using some special parameters (In most cases you don’t need this!):
>>> from ambra_sdk.api import Api >>> from ambra_sdk.api.base_api import RateLimit, RateLimits >>> >>> MY_RLS = RateLimits( ... default=RateLimit(3, 2), ... get_limit=RateLimit(4, 2), ... special={'special_url': RateLimit(5, 2)}, ... ) >>> >>> api = Api.with_creds( ... url='https://ambrahealth_host/api/v3', ... username='username', ... password='password', ... client_name='Some name (ex: Hospital-ABC)', ... special_headers_for_login={'Special-H': 'ABC'}, ... rate_limits=MY_RLS, ... autocast_arguments=False, ... )
-
retry_with_new_sid
(fn: Callable[…, FN_RETURN_TYPE]) → FN_RETURN_TYPE[source]¶ Retry with new sid.
- Parameters
fn – callable method
- Returns
fn result
-
service_post
(url: str, required_sid: bool, **kwargs) → requests.models.Response[source]¶ Post data to url.
- Parameters
url – method url
required_sid – is this method required sid
kwargs – request arguments
- Returns
response
-
service_request
(request_args: ambra_sdk.request_args.RequestArgs, required_sid: bool) → requests.models.Response[source]¶ Post data to url.
- Parameters
request_args – request args
required_sid – is this method required sid
- Returns
response
-
property
service_session
¶ Service session.
- Returns
service session
-
property
sid
¶ Get or create new sid property.
- Returns
sid
-
storage_delete
(url: str, required_sid: bool, **kwargs) → requests.models.Response[source]¶ Delete from storage.
- Parameters
url – url
required_sid – is this method required sid
kwargs – request arguments
- Returns
response obj
-
storage_get
(url: str, required_sid: bool, **kwargs) → requests.models.Response[source]¶ Get from storage.
- Parameters
url – url
required_sid – is this method required sid
kwargs – request arguments
- Returns
response obj
-
storage_post
(url: str, required_sid: bool, **kwargs) → requests.models.Response[source]¶ Post to storage.
- Parameters
url – url
required_sid – is this method required sid
kwargs – request arguments
- Returns
response obj
-
property
storage_session
¶ Storage session.
- Returns
storage session
-
Async Api¶
-
class
ambra_sdk.api.
AsyncApi
(*args, **kwargs)[source]¶ Ambra Async API.
Example: >>> from ambra_sdk.api import AsyncApi >>> >>> api = AsyncApi.with_creds( … url=’https://ambrahealth_host/api/v3’, … username=’username’, … password=’password’, … client_name=’Some name (ex: Hospital-ABC)’, … )
Using some special parameters (In most cases you don’t need this!):
>>> from ambra_sdk.api import AsyncApi >>> from ambra_sdk.api.base_api import RateLimit, RateLimits >>> >>> MY_RLS = RateLimits( ... default=RateLimit(3, 2), ... get_limit=RateLimit(4, 2), ... special={'special_url': RateLimit(5, 2)}, ... ) >>> >>> api = AsyncApi.with_creds( ... url='https://ambrahealth_host/api/v3', ... username='username', ... password='password', ... client_name='Some name (ex: Hospital-ABC)', ... special_headers_for_login={'Special-H': 'ABC'}, ... rate_limits=MY_RLS, ... autocast_arguments=False, ... )
-
async
get_new_sid
() → str[source]¶ Get new sid.
- Raises
RuntimeError – Missed credentials
- Returns
sid
-
async
retry_with_new_sid
(fn: Callable[…, Awaitable[FN_RETURN_TYPE]]) → FN_RETURN_TYPE[source]¶ Retry with new sid.
- Parameters
fn – callable method
- Returns
fn result
-
async
service_post
(url: str, required_sid: bool, **kwargs) → aiohttp.client_reqrep.ClientResponse[source]¶ Post data to url.
- Parameters
url – method url
required_sid – is this method required sid
kwargs – request arguments
- Returns
response
-
async
service_request
(request_args: ambra_sdk.request_args.AioHTTPRequestArgs, required_sid: bool) → aiohttp.client_reqrep.ClientResponse[source]¶ Post data to url.
- Parameters
request_args – request args
required_sid – is this method required sid
- Returns
response
-
property
service_session
¶ Service session.
- Returns
service session
-
async
storage_delete
(url: str, required_sid: bool, **kwargs) → aiohttp.client_reqrep.ClientResponse[source]¶ Delete from storage.
- Parameters
url – url
required_sid – is this method required sid
kwargs – request arguments
- Returns
response obj
-
async
storage_get
(url: str, required_sid: bool, **kwargs) → aiohttp.client_reqrep.ClientResponse[source]¶ Get from storage.
- Parameters
url – url
required_sid – is this method required sid
kwargs – request arguments
- Returns
response obj
-
async
storage_post
(url: str, required_sid: bool, **kwargs) → aiohttp.client_reqrep.ClientResponse[source]¶ Post to storage.
- Parameters
url – url
required_sid – is this method required sid
kwargs – request arguments
- Returns
response obj
-
property
storage_session
¶ Storage session.
- Returns
storage session
-
async