Module tripleblind.config

The Config object connects the SDK to the TripleBlind Router. It also provides access to the standard and custom variables and properties which reflect the current environment.

This is initialized from a tripleblind.yaml file, which looks something like this:

endpoint: "https://eval.tripleblind.app"
data_for_examples: "/my/example/data_dir"
sdkuser_token: ""  # obtained from the Router
mykey: "my value"  # user defined value

Default values will be used for the first two items, but the sdkuser_token must be defined in the YAML file.

Custom values can be defined within that YAML file as show above with mykey. This would be accessed in Python like this:

import tripleblind as tb
print(tb.config.mykey)

The YAML file is discovered by searching in the following order (first found wins):

1. Path specified in environment variable TB_API_CONFIG
2. "tripleblind.yaml" found in top-level script folder or a parent folder

Global variables

var VERBOSE

Explicitly show information about the config file loading via a '–verbose' command line parameter

Classes

class Config

Configuration settings and runtime environment information.

Instance variables

var active_team : int

int: ID of the active team or "" if using default

var ap_token : str

str: Token for the Access Point when operating in Enterprise Mode

var ap_url : str

str: URL for the Access Point when operating in Enterprise Mode

var config_file : pathlib.Path

str: Path of the tripleblind.yaml config file

var data_dir : pathlib.Path

str: Path to the standard data directory

var endpoint

str: URL for the API endpoint of the targeted Router

var gui_url

str: URL for the user interface of the targeted Router

var script_dir : pathlib.Path

str: Path of the top-level script

Methods

def get_config_var(self, key: str) -> str

Read a variable out of the configuration YAML

Args

key : str
Key name of the value

Raises

TripleblindConfigError
Invalid configuration file found

Returns

str
Value from the config file, or None if not found
def resolve_path_rel_to_config(self, path)

Expand paths relative to the YAML file it was loaded from

Args

path : str
A path, can be relative or absolute

Returns

str
An absolute path
def resolve_relative_path_var(self, key: str) -> str

Read a config variable and resolve relative paths

Args

key : str
a key name in the config YAML

Returns

str
The loaded key value converted to an absolute path, or None if not found
def using_enterprise_mode(self) -> bool

Determine if in Enterprise Mode where API calls run through the Access Point

Enterprise Mode is enabled when the access_point_url and access_point_token values are set in the tripleblind.yaml.

Returns

bool
True if operating in Enterprise Mode