Source code for seldon_core.env_utils

"""
Utilities to deal with Environment variables
"""
import json
import os

ENV_MODEL_NAME = "PREDICTIVE_UNIT_ID"
ENV_MODEL_IMAGE = "PREDICTIVE_UNIT_IMAGE"
ENV_SELDON_DEPLOYMENT_NAME = "SELDON_DEPLOYMENT_ID"
ENV_PREDICTOR_NAME = "PREDICTOR_ID"
ENV_PREDICTOR_LABELS = "PREDICTOR_LABELS"
NONIMPLEMENTED_MSG = "NOT_IMPLEMENTED"
NONIMPLEMENTED_IMAGE_MSG = f"{NONIMPLEMENTED_MSG}:{NONIMPLEMENTED_MSG}"


[docs]def get_predictor_version(default_val: str = NONIMPLEMENTED_MSG) -> str: """ Get predictor version from `ENV_PREDICTOR_LABELS` environment variable. If not set return `default_val` Parameters ---------- default_val Default value to return if the environment variable is not set Returns ------- str """ return json.loads(os.environ.get(ENV_PREDICTOR_LABELS, "{}")).get( "version", default_val )
[docs]def get_predictor_name(default_val: str = NONIMPLEMENTED_MSG) -> str: """ Get predictor name from `ENV_PREDICTOR_NAME` environment variable. If not set return `default_val` Parameters ---------- default_val Default value to return if the environment variable is not set Returns ------- str """ return os.environ.get(ENV_PREDICTOR_NAME, default_val)
[docs]def get_deployment_name(default_val: str = NONIMPLEMENTED_MSG) -> str: """ Get deployment name from `ENV_SELDON_DEPLOYMENT_NAME` environment variable. If not set return `default_val` Parameters ---------- default_val Default value to return if the environment variable is not set Returns ------- str """ return os.environ.get(ENV_SELDON_DEPLOYMENT_NAME, default_val)
[docs]def get_model_name(default_val: str = NONIMPLEMENTED_MSG) -> str: """ Get model name from `ENV_MODEL_NAME` environment variable. If not set return `default_val` Parameters ---------- default_val Default value to return if the environment variable is not set Returns ------- str """ return os.environ.get(ENV_MODEL_NAME, default_val)
[docs]def get_image_name(default_val: str = NONIMPLEMENTED_IMAGE_MSG) -> str: """ Get model image name from `ENV_MODEL_IMAGE` environment variable. If not set return `default_val` Parameters ---------- default_val Default value to return if the environment variable is not set Returns ------- str """ return os.environ.get(ENV_MODEL_IMAGE, default_val)