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


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

hopeit_apps_client-0.26.4.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hopeit_apps_client-0.26.4-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hopeit_apps_client-0.26.4.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.15

File hashes

Hashes for hopeit_apps_client-0.26.4.tar.gz
Algorithm Hash digest
SHA256 6b41d112636f885cbf764a56489cd675550d5aca13bb71a05926d95c4168af26
MD5 559ab0224a172962bb077243c5ce64d5
BLAKE2b-256 5cd7c1ea8e11b0e85c75a1f2d5fe1dbc42d4364a80e95687373d9c5cd8faadfe

See more details on using hashes here.

File details

Details for the file hopeit_apps_client-0.26.4-py3-none-any.whl.

File metadata

File hashes

Hashes for hopeit_apps_client-0.26.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5cf604f1636f4614501cbea2fdf37dbc5697933d9a6abf5b9a1c207771042ff4
MD5 40d65f4fac3cabe942b556de4c0cd9b9
BLAKE2b-256 16b79c2631815670f97805862db0070366acab907daf634f8582ddf3855f411a

See more details on using hashes here.

Supported by

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