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.3.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hopeit_apps_client-0.25.3.tar.gz
Algorithm Hash digest
SHA256 92e1b303e249113879180beac74903e6ffd7e6909203244c82e760ff8feacf36
MD5 138aff1fa1f875c9dc6d1c53c6887d65
BLAKE2b-256 8761b8ac156146feafc71368364a274a74d44053fbf5fd15138081ff365c9d9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hopeit.apps_client-0.25.3-py3-none-any.whl
Algorithm Hash digest
SHA256 83922a0d64d4933981ac7f072930317d351ba0ad8f3af68eef23f1b661cb809e
MD5 eab8b59624eeaabc293862938e635c74
BLAKE2b-256 7122c45626a85b249a3321f9fc29cd445c60b30c6bfb561206cd193b45aed630

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