Skip to main content

Hopeit Apps Client Plugin

Project description

# hopeit.engine apps-client plugin


This library is part of hopeit.engine:

> check: https://github.com/hopeit-git/hopeit.engine


### Install using hopeit.engine extras [apps-client]:

```
pip install hopeit.engine[apps-client]
```

### Config app_connection section in your app to use this client implementation:

Configre a connection in `app_connections` section and specify which events to invoke
inside `event.connections` section:

```
...
"app_connections": {
"target-app-conn": {
"name": "target-app",
"version": "1.0",
"client": "hopeit.apps_client.AppsClient"
}
},
...

"events": {
"my-event": {
...
"connections": [
{
"app_connection": "target-app-conn",
"event": "target-event",
"type": "GET"
}
],
...
}
}
```

To configure `apps-client` add a settings section like this to app config file:
```
...

"settings": {
"simple_example_conn": {
"connection_str": "http://host1,http://host2"
}
}

```

The only required setting is `connection_str` but many other values can be configured:

```
...

"settings": {
"simple_example_conn": {
"connection_str": "${HOPEIT_SIMPLE_EXAMPLE_HOSTS}",
"circuit_breaker_open_failures": 10,
"circuit_breaker_failure_reset_seconds": 90.0,
"circuit_breaker_open_seconds": 60.0,
"retries": 2,
"retry_backoff_ms": 10,
"ssl": true,
"max_connections": 100,
"max_connections_per_host": 0,
"dns_cache_ttl": 10,
"routes_override": {
"__list-somethings": "simple-example/${HOPEIT_APPS_ROUTE_VERSION}/list-somethings"
}
}
}
```

### Usage

Invoking target-app target-event from your application code:

```
from hopeit.app.client import app_call

...

def my_event(payload: ..., context: EventContext) -> ...:
response = await app_call(
"target-app-conn", event="target-event",
datatype=ResposeDataType, payload=..., context=context
)
...

```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hopeit_apps_client-0.25.2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

hopeit.apps_client-0.25.2-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file hopeit_apps_client-0.25.2.tar.gz.

File metadata

  • Download URL: hopeit_apps_client-0.25.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for hopeit_apps_client-0.25.2.tar.gz
Algorithm Hash digest
SHA256 ac312680b6c865c81d88d7747d7999d1c0634be7edf6419b032328361aebd58f
MD5 4ff90ba2ec109c44b722f6cbc282a14f
BLAKE2b-256 dd1178a8be152d7f8d3724813af553f540948f15e91ae5083aadcb96d8960d9e

See more details on using hashes here.

File details

Details for the file hopeit.apps_client-0.25.2-py3-none-any.whl.

File metadata

File hashes

Hashes for hopeit.apps_client-0.25.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5616e4e2ef2c972a75709af4b79c514403411e3ca0bbb7419374a20141eeeb1c
MD5 979aaaa31171fe24b29823df983399b8
BLAKE2b-256 2fe5333389802c50a69e22ba80b3d640e331590a08c31bec1828aaa1ee0a2837

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page