EDK Reference#

Extension Classes#

extension.DescribeFormat

The currently supported Describe output formats.

extension.ExtensionBase

Basic extension interface that must be implemented by all extensions.

Process Management#

process.Invoker

Invoker utility class for invoking subprocesses.

Logging Utilities#

Recommended logging configuration for extensions.

meltano.edk.logging.default_logging_config(level: int = 20, timestamps: bool = False, levels: bool = False, json_format: bool = False) None#

default/demo structlog configuration.

Parameters:
  • level – logging level.

  • timestamps – include timestamps in the log.

  • levels – include levels in the log.

  • json_format – if True, use JSON format, otherwise use human-readable format.

meltano.edk.logging.parse_log_level(log_level: str) int#

Parse a level descriptor into an logging level.

Parameters:

log_level – level descriptor.

Returns:

actual logging level.

Return type:

int

meltano.edk.logging.pass_through_logging_config() None#

Pass-through logging configuration.

Setups a logging config using the LOG_LEVEL, LOG_TIMESTAMPS, LOG_LEVELS, and MELTANO_LOG_JSON env vars.

meltano.edk.logging.strtobool(val: str) bool#

Convert a string representation of truth to true (1) or false (0).

True values are ‘y’, ‘yes’, ‘t’, ‘true’, ‘on’, and ‘1’; false values are ‘n’, ‘no’, ‘f’, ‘false’, ‘off’, and ‘0’. Raises ValueError if ‘val’ is anything else.

Case is ignored in string comparisons.

Re-implemented from distutils.util.strtobool to avoid importing distutils.

Parameters:

val – The string to convert to a boolean.

Returns:

True if the string represents a truthy value, False otherwise.

Raises:

ValueError – If the string is not a valid representation of a boolean.