aladdinsdk 2.0.0b8
AladdinSDK
Requires Python: >=3.9

# AladdinSDK

AladdinSDK allows developers to easily integrate BlackRock's Aladdin functionality into their own applications and systems. The goal is to make it easier for everyone to efficiently access and utilize Aladdin APIs and Data Cloud.

## Table of Contents

- [Installation](#installation)
- [Usage/Configurations](#usageconfigurations)
- [AladdinAPI](#aladdinapi)
- [ADC Client](#adc-client)
- [Common Utilities](#common-utilities)
- [DomainSDK Development](#domainsdk-development)
- [Contributing](#contributing)
- [License](#license)
- [Credits](#credits)
- [Contact](#contact)

## Installation

- Use new/existing python version 3.9 virtual environment
- Install core AladdinSDK package using pip
  ```sh
  pip install aladdinsdk
  ```    
  - Optionally, SDK's API capabilities can be extended by installing additional plugin packages. Refer [AladdinSDK Plugins section](#AladdinAPI-Plugins) for details.
    </br>
    Example:

      ```sh
      pip install asdk_plugin_trading
      pip install asdk_plugin_investment_research
      ```
  - For local development, installing `keyring` is recommended for easier credential management:

      ```sh
      pip install keyring
      ```

## Usage/Configurations

| Environment Variable Name | Description                                                              | Mandatory | Default | Permitted Values |
|:--------------------------|:-------------------------------------------------------------------------|:---------:|:-------:|:----------------:|
| defaultWebServer          | BlackRock client environment's default web server                        |    Yes    |    -    |         -        |
| ASDK_USER_CONFIG_FILE     | Path to AladdinSDK configuration to be used. </br>Refer [run-time configurations section](#run-time-configurations) for details.                              |    No     |    -    |         -        |
| AGRAPH_SCOPES_ENABLED     | If enabled, adds scopes from swagger specs to oauth access token request |    No     |  True   |    True/False    |

### Run-time configurations

AladdinSDK is highly customizable, allowing users to write clean, readable, and reusable code across different environments. </br>
Configurations enable citizen developers to share code-snippets or projects more easily. Or test applications with different system account credentials by simply changing configurations.

#### Pointing to a configuration file

- Users can set (or override the default) configurations by providing their own config file and setting the environment variable `ASDK_USER_CONFIG_FILE`
  - The SDK contains a command line utility to get started with building a configuration file. In the terminal where the package is installed run and follow the prompts:
    ```sh
    aladdinsdk-cli
    ```
- Set the environment variable `DEFAULT_ASDK_CONFIG_FILE` to point to a default configuration file. This is intended for curated python environments and domain SDK developers to dictate the default user experience.

**IMPORTANT**

- Ensure the environment variable `ASDK_USER_CONFIG_FILE` is set _before_ importing `aladdinsdk` module in code.
- To see configurations currently picked by the SDK, invoke this utility:

  ```py
  aladdinsdk.config.print_current_user_config()
  ```

- In 'Aladdin Developer' or similar python development environments, for any config file updates, a kernel restart is always recommended.

In order of **increasing** priority, configuration values can be provided via:
- Default configuration yaml/json file
- User configuration yaml/json file
- Override `ASDK_` environment variables
- Inline parameters passed in ASDK method invocations or object declarations

Under the hood, configuration management is performed using Dynaconf. Custom environment variable prefix is `ASDK_`. This entails: Any of the configurations may be overridden via environment variables (prefixed by "ASDK_" followed by dunder (double underscore) names for nested elements - This is detailed [here](#environment-variable-overrides). )

#### All Supported Configurations

##### API - Basic Auth

Set API.AUTH_TYPE as `Basic Auth`

| Configuration Key                                                                                                                 | Description <br /> (Override environment variable)                                                                                                                                                                                                                                                         |                   Default                   |                      Permitted Values                      |
|:----------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------:|:----------------------------------------------------------:|
| API: <br/>&nbsp;&nbsp; AUTH_TYPE:                                                                                                 | Dictates which authentication mechanism to use for making API calls. <br /> (ASDK_API__AUTH_TYPE)                                                                                                                                                                                                          |                `Basic Auth`                 |                   `Basic Auth` / `OAuth`                   |
| API: <br/>&nbsp;&nbsp; TOKEN:                                                                                                     | API Token registered via Studio UI. Required only for Basic Auth  <br /> (ASDK_API__TOKEN)                                                                                                                                                                                                                 |                      -                      |                             -                              |
| USER_CREDENTIALS: <br/>&nbsp;&nbsp; USERNAME:                                                                                     | User name to be used to connect to Aladdin. <br /> (ASDK_USER_CREDENTIALS__USERNAME)                                                                                                                                                                                                                       |                      -                      |                             -                              |
| USER_CREDENTIALS: <br/>&nbsp;&nbsp; PASSWORD:                                                                                     | User password to be used to connect to Aladdin.  <br /> Not mandatory, SDK will defer to USER_CREDENTIALS.PASSWORD_FILEPATH value. <br />  Alternatively, if running in local mode, will use OS credential manager for storing password. <br /> (ASDK_USER_CREDENTIALS__PASSWORD)                          |                      -                      |                             -                              |
| USER_CREDENTIALS: <br/>&nbsp;&nbsp; PASSWORD_FILEPATH:                                                                            | Filepath pointing to file storing user's password in plain text (NOT RECOMMENDED).  <br /> Not mandatory if password provided in plain text in  <br /> USER_CREDENTIALS.PASSWORD setting (NOT RECOMMENDED), or if running in local mode. <br /> (ASDK_USER_CREDENTIALS__PASSWORD_FILEPATH)                 |                      -                      |                             -                              |
| USER_CREDENTIALS: <br/>&nbsp;&nbsp; ENCRYPTED_PASSWORD_FILEPATH:                                                                  | Filepath pointing to file storing user's password in encrypted format.  <br /> If encryption_filepath not provided, then default encryption key will be used.  <br /> (ASDK_USER_CREDENTIALS__ENCRYPTED_PASSWORD_FILEPATH)                                                                                 |                      -                      |                             -                              |
| USER_CREDENTIALS: <br/>&nbsp;&nbsp; ENCRYPTION_FILEPATH:                                                                          | Filepath pointing to file storing encryption key used for password encryption/decryption.  <br /> Not mandatory. If provided, will be used in conjunction with  <br /> USER_CREDENTIALS.PASSWORD_FILEPATH to get user password for API connections. <br /> (ASDK_USER_CREDENTIALS__ENCRYPTION_FILEPATH)    |                      -                      |                             -                              |

##### API - OAuth

Set API.AUTH_TYPE as `OAuth`

| Configuration Key                                                                                                                 | Description <br /> (Override environment variable)                                                                                                                                                                                                                                                         |                   Default                   |                      Permitted Values                      |
|:----------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------:|:----------------------------------------------------------:|
| API: <br/>&nbsp;&nbsp; AUTH_TYPE:                                                                                                 | Dictates which authentication mechanism to use for making API calls. <br /> (ASDK_API__AUTH_TYPE)                                                                                                                                                                                                          |                `Basic Auth`                 |                   `Basic Auth` / `OAuth`                   |
| API: <br/>&nbsp;&nbsp; AUTH_FLOW_TYPE:                                                                                            | Dictates which authentication flow to use for making API calls with oauth. <br /> (ASDK_API__AUTH_FLOW_TYPE)                                                                                                                                                                                               |                      -                      |           `refresh_token` / `client_credentials`           |
| API: <br/>&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp; AUTH_SERVER_PROXY:                                                    | Proxy for connecting to OAuth server for getting access token using client secret, id and refresh_token  <br /> (API_OAUTH__AUTH_SERVER_PROXY)                                                                                                                                                             |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp; AUTH_SERVER_URL:                                                      | OAuth server url for getting access token using client secret, id and refresh_token  <br /> (API_OAUTH__AUTH_SERVER_URL)                                                                                                                                                                                   |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp; CLIENT_ID:                                                            | Client ID needed for generating Oauth access token for making API calls. <br /> (ASDK_API__OAUTH__CLIENT_ID)                                                                                                                                                                                               |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp; CLIENT_SECRET:                                                        | Client Secret needed for generating Oauth access token for making API calls. <br /> (ASDK_API__OAUTH__CLIENT_SECRET)                                                                                                                                                                                       |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp; REFRESH_TOKEN:                                                        | Refresh token needed for generating Oauth access token for making API calls. <br /> (ASDK_API__OAUTH__REFRESH_TOKEN)                                                                                                                                                                                       |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp; ACCESS_TOKEN:                                                         | Access token used directly for making API calls. <br /> (ASDK_API__OAUTH__ACCESS_TOKEN)                                                                                                                                                                                                                    |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp; CLIENT_DETAILS_FILEPATH:                                              | Filepath where Client ID and Secret are stored and needed for  <br /> generating Oauth access token for making API calls. <br /> (ASDK_API__OAUTH__CLIENT_DETAILS_FILEPATH)                                                                                                                                |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp; REFRESH_TOKEN_FILEPATH:                                               | Filepath where Refresh Token is stored and needed for generating  <br /> Oauth access token for making API calls. <br /> (ASDK_API__OAUTH__REFRESH_TOKEN_FILEPATH)                                                                                                                                         |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp; ACCESS_TOKEN_FILEPATH:                                                | Filepath where Access token is stored and can be used directly for making API calls. <br /> (ASDK_API__OAUTH__ACCESS_TOKEN_FILEPATH)                                                                                                                                                                       |                      -                      |                             -                              |

##### API - Generic

| Configuration Key                                                                                                                 | Description <br /> (Override environment variable)                                                                                                                                                                                                                                                         |                   Default                   |                      Permitted Values                      |
|:----------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------:|:----------------------------------------------------------:|
| API: <br/>&nbsp;&nbsp; LRO: <br/>&nbsp;&nbsp;&nbsp;&nbsp; STATUS_CHECK_INTERVAL:                                                  | Used for `call_lro_api` method to determine polling interval between status checks.  <br /> The value can be overridden using `status_check_interval` parameter for call_lro_api method  <br /> (ASDK_API__LRO__STATUS_CHECK_INTERVAL)                                                                     |                10 (seconds)                 |                             -                              |
| API: <br/>&nbsp;&nbsp; LRO: <br/>&nbsp;&nbsp;&nbsp;&nbsp; STATUS_CHECK_TIMEOUT:                                                   | Used for `call_lro_api` method to determine timeout for status checks.  <br /> The value can be overridden using `timeout` parameter for call_lro_api method  <br /> (ASDK_API__LRO__STATUS_CHECK_TIMEOUT)                                                                                                 |                300 (seconds)                |                             -                              |
| API: <br/>&nbsp;&nbsp; RETRY: <br/>&nbsp;&nbsp;&nbsp;&nbsp; STOP_AFTER_ATTEMPT:                                                   | Retry up to certain amount of attempts for API retry logic. <br /> (ASDK_API__RETRY__STOP_AFTER_ATTEMPT)                                                                                                                                                                                                   |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; RETRY: <br/>&nbsp;&nbsp;&nbsp;&nbsp; WAIT_FIXED:                                                           | Wait time in seconds before retry for API retry logic. <br /> (ASDK_API__RETRY__WAIT_FIXED)                                                                                                                                                                                                                |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; RETRY: <br/>&nbsp;&nbsp;&nbsp;&nbsp; STOP_AFTER_DELAY:                                                     | Retry up to certain amount of delay for API retry logic. <br /> (ASDK_API__RETRY__STOP_AFTER_DELAY)                                                                                                                                                                                                        |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; URL_REWRITE: <br/>&nbsp;&nbsp;&nbsp;&nbsp; FIND:                                                           | Specifies the regular expression string to find in the full URL for each request made to an Aladdin API. <br /> (ASDK_API__URL_REWRITE__FIND)                                                                                                                                                              |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; URL_REWRITE: <br/>&nbsp;&nbsp;&nbsp;&nbsp; REPLACE:                                                        | Specifies the string with which to replace the match above. <br /> (ASDK_API__URL_REWRITE__REPLACE)                                                                                                                                                                                                        |                      -                      |                             -                              |
| API: <br/>&nbsp;&nbsp; PAGINATION: <br/>&nbsp;&nbsp;&nbsp;&nbsp; MAX_PAGES                                                        | Config value used to determine the maximum number of subsequent api calls made for pagination                                                                                                                                                                                                              |                      5                      |                             -                              |
| API: <br/>&nbsp;&nbsp; PAGINATION: <br/>&nbsp;&nbsp;&nbsp;&nbsp; MAX_PAGE_SIZE                                                    | Config value used to determine the maximum number of retrieved from each api call                                                                                                                                                                                                                          |                     10                      |                             -                              |
| API: <br/>&nbsp;&nbsp; PAGINATION: <br/>&nbsp;&nbsp;&nbsp;&nbsp; TIMEOUT                                                          | Config value used to determine the maximum timeout value. This will terminate the api call request and retrieve the response obtain thus far.                                                                                                                                                              |                    300s                     |                             -                              |
| API: <br/>&nbsp;&nbsp; PAGINATION: <br/>&nbsp;&nbsp;&nbsp;&nbsp; INTERVAL                                                         | Config value used to determine the maximum interval value. This will set the interval time between each api call.                                                                                                                                                                                          |                     2s                      |                             -                              |
| API: <br/>&nbsp;&nbsp; ADDITIONAL_HTTP_HEADERS:                                                                                   | Additional HTTP headers that will be sent with each request. <br/> The value can be overridden using `_additional_http_headers`. <br/> For environment variable use JSON format with `@json ` prefix, for example `@json {"header-name":"custom-value"}`. <br/> (ASDK_API__ADDITIONAL_HTTP_HEADERS)        |                     -                       |                        JSON object                         |

##### ADC

| Configuration Key                                                                                                                 | Description <br /> (Override environment variable)                                                                                                                                                                                                                                                         |                   Default                   |                      Permitted Values                      |
|:----------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------:|:----------------------------------------------------------:|
| ADC: <br/>&nbsp;&nbsp; CONNECTION_TYPE:                                                                                           | Type of connector to use for Snowflake connection. Defaults to Snowflake's <br />  python connector, but users can choose to use Snowpark connection object as well. <br /> (ASDK_ADC__CONNECTION_TYPE)                                                                                                    |        `snowflake-connector-python`         | `snowflake-connector-python` / `snowflake-snowpark-python` |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; AUTHENTICATOR:                                                         | Snowflake connection authenticator type  <br /> (ASDK_ADC__CONN__AUTHENTICATOR)                                                                                                                                                                                                                            |                   `oauth`                   |                 `oauth` / `snowflake_jwt`                  |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; OAUTH: <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACCESS_TOKEN:         | If using oauth authenticator, and not relying on TokenAPI, users can provide <br />  the oauth access token for ADC connections here. <br /> (ASDK_ADC__CONN__OAUTH__ACCESS_TOKEN)                                                                                                                         |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; RSA: <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRIVATE_KEY_FILEPATH:   | If using snowflake_jwt authenticator, provide RSA key details.  <br /> This attribute is path to file containing RSA private key.  <br /> Should be provided with passphrase. <br /> (ASDK_ADC__CONN__RSA__PRIVATE_KEY_FILEPATH)                                                                           |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; RSA: <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRIVATE_KEY_PASSPHRASE: | If using snowflake_jwt authenticator, provide RSA key details.  <br /> This attribute is passphrase to be used to decrypt private key file.  <br /> Should be provided with private key file path. <br /> (ASDK_ADC__CONN__RSA__PRIVATE_KEY_PASSPHRASE)                                                    |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; RSA: <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRIVATE_KEY:            | If using snowflake_jwt authenticator, provide RSA key details.  <br /> This attribute is the private key value (including BEGIN and END lines, and new line characters). <br /> Can be used instead of private key filepath. Should be provided with passphrase. <br /> (ASDK_ADC__CONN__RSA__PRIVATE_KEY) |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; ACCOUNT:                                                               | Snowflake Account, used to create private URL for connection.  <br /> Mandatory only for ADC connections. <br /> (ASDK_ADC__CONN__ACCOUNT)                                                                                                                                                                 |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; ROLE:                                                                  | Snowflake user role to be used. Mandatory only for ADC connections. <br /> (ASDK_ADC__CONN__ROLE)                                                                                                                                                                                                          |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; WAREHOUSE:                                                             | Snowflake virtual warehouse to be used. Mandatory only for ADC connections. <br /> (ASDK_ADC__CONN__WAREHOUSE)                                                                                                                                                                                             |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; DATABASE:                                                              | Snowflake database to be used. Mandatory only for ADC connections. <br /> (ASDK_ADC__CONN__DATABASE)                                                                                                                                                                                                       |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; CONN: <br/>&nbsp;&nbsp;&nbsp;&nbsp; SCHEMA:                                                                | Snowflake schema to be used. Mandatory only for ADC connections. <br /> (ASDK_ADC__CONN__SCHEMA)                                                                                                                                                                                                           |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; RETRY: <br/>&nbsp;&nbsp;&nbsp;&nbsp; STOP_AFTER_ATTEMPT:                                                   | Retry up to certain amount of attempts for ADC retry logic. <br /> (ASDK_ADC__RETRY__STOP_AFTER_ATTEMPT)                                                                                                                                                                                                   |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; RETRY: <br/>&nbsp;&nbsp;&nbsp;&nbsp; WAIT_FIXED:                                                           | Wait time in seconds before retry for ADC retry logic. <br /> (ASDK_ADC__RETRY__WAIT_FIXED)                                                                                                                                                                                                                |                      -                      |                             -                              |
| ADC: <br/>&nbsp;&nbsp; RETRY: <br/>&nbsp;&nbsp;&nbsp;&nbsp; STOP_AFTER_DELAY:                                                     | Retry up to certain amount of delay. for ADC retry logic  <br /> (ASDK_ADC__RETRY__STOP_AFTER_DELAY)                                                                                                                                                                                                       |                      -                      |                             -                              |

##### Storage

| Configuration Key                                                                                                                 | Description <br /> (Override environment variable)                                                                                                                                                                                                                                                         |                   Default                   |                      Permitted Values                      |
|:----------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------:|:----------------------------------------------------------:|
| STORAGE: <br/>&nbsp;&nbsp; S3: <br/>&nbsp;&nbsp;&nbsp;&nbsp; ENDPOINT_URL                                                         | The URL to use for Storage S3 workspace.                                                                                                                                                                                                                                                                   |    _ALE_S3_ENDPOINT files.dat value at client_     |                             -                              |
| STORAGE: <br/>&nbsp;&nbsp; S3: <br/>&nbsp;&nbsp;&nbsp;&nbsp; ACCESS_KEY_ID                                                        | The access key to use when creating the client. <br /> To be sourced from S3 Storage Integration in a Studio Project. <br /> If value set, it is prioritized over CREDENTIALS_FILE.                                                                                                                        |                      -                      |                             -                              |
| STORAGE: <br/>&nbsp;&nbsp; S3: <br/>&nbsp;&nbsp;&nbsp;&nbsp; SECRET_ACCESS_KEY                                                    | The secret key to use when creating the client. <br /> To be sourced from S3 Storage Integration in a Studio Project. <br /> If value set, it is prioritized over CREDENTIALS_FILE.                                                                                                                        |                      -                      |                             -                              |
| STORAGE: <br/>&nbsp;&nbsp; S3: <br/>&nbsp;&nbsp;&nbsp;&nbsp; BUCKET_NAME                                                          | Name of Bucket assigned to user/project workspace. <br /> To be sourced from S3 Storage Integration in a Studio Project.                                                                                                                                                                                   |                      -                      |                             -                              |
| STORAGE: <br/>&nbsp;&nbsp; S3: <br/>&nbsp;&nbsp;&nbsp;&nbsp; CREDENTIALS_FILE                                                     | Path to a file containing Access Key ID and Secret Access Key. <br /> This should be a yaml with the following keys: `access_key_id` and `secret_access_key`.                                                                                                                                              |                      -                      |                             -                              |


##### Batch Processing

| Configuration Key                                                                                                                 | Description <br /> (Override environment variable)                                                                                                                                                                                                                                                         |                   Default                   |                      Permitted Values                      |
|:----------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------:|:----------------------------------------------------------:|
| BATCH: <br/>&nbsp;&nbsp; BUFFER: <br/>&nbsp;&nbsp;&nbsp;&nbsp; MAX_SIZE:                                                          | For batch processing, in SDKActionBuffer set the maximum number of actions that can be added to buffer.  <br /> Adding any additional actions will result in a ValueError.                                                                                                                                 |                      -                      |                             -                              |
| BATCH: <br/>&nbsp;&nbsp; SEQUENTIAL: <br/>&nbsp;&nbsp;&nbsp;&nbsp; INTERVAL:                                                      | For batch processing, when running sequentially, actions may be configured to run at specific intervals                                                                                                                                                                                                    |                      -                      |                             -                              |
| BATCH: <br/>&nbsp;&nbsp; PARALLEL: <br/>&nbsp;&nbsp;&nbsp;&nbsp; MAX_WORKERS:                                                     | For batch processing, when running in parallel, the SDKActionBuffer uses ThreadPoolExecutor. This configuration <br /> allows users to set the max worker count, to ensure resources are utilized efficiently.                                                                                             |                      -                      |                             -                              |


##### Misc.

| Configuration Key                                                                                                                 | Description <br /> (Override environment variable)                                                                                                                                                                                                                                                         |                   Default                   |                      Permitted Values                      |
|:----------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------:|:---------------