Constants
zenml.constants
ZenML constants.
handle_bool_env_var(var, default=False)
Converts normal env var to boolean.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
var |
str |
The environment variable to convert. |
required |
default |
bool |
The default value to return if the env var is not set. |
False |
Returns:
Type | Description |
---|---|
bool |
The converted value. |
Source code in zenml/constants.py
def handle_bool_env_var(var: str, default: bool = False) -> bool:
"""Converts normal env var to boolean.
Args:
var: The environment variable to convert.
default: The default value to return if the env var is not set.
Returns:
The converted value.
"""
value = os.getenv(var)
if value in ["1", "y", "yes", "True", "true"]:
return True
elif value in ["0", "n", "no", "False", "false"]:
return False
return default
handle_int_env_var(var, default=0)
Converts normal env var to int.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
var |
str |
The environment variable to convert. |
required |
default |
int |
The default value to return if the env var is not set. |
0 |
Returns:
Type | Description |
---|---|
int |
The converted value. |
Source code in zenml/constants.py
def handle_int_env_var(var: str, default: int = 0) -> int:
"""Converts normal env var to int.
Args:
var: The environment variable to convert.
default: The default value to return if the env var is not set.
Returns:
The converted value.
"""
value = os.getenv(var, "")
try:
return int(value)
except (ValueError, TypeError):
return default
handle_json_env_var(var, expected_type, default=None)
Converts a json env var into a Python object.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
var |
str |
The environment variable to convert. |
required |
default |
Optional[List[str]] |
The default value to return if the env var is not set. |
None |
expected_type |
Type[~T] |
The type of the expected Python object. |
required |
Returns:
Type | Description |
---|---|
Any |
The converted list value. |
Exceptions:
Type | Description |
---|---|
TypeError |
In case the value of the environment variable is not of a valid type. |
Source code in zenml/constants.py
def handle_json_env_var(
var: str,
expected_type: Type[T],
default: Optional[List[str]] = None,
) -> Any:
"""Converts a json env var into a Python object.
Args:
var: The environment variable to convert.
default: The default value to return if the env var is not set.
expected_type: The type of the expected Python object.
Returns:
The converted list value.
Raises:
TypeError: In case the value of the environment variable is not of a
valid type.
"""
# this needs to be here to avoid mutable defaults
if default is None:
default = []
value = os.getenv(var)
if value:
try:
loaded_value = json.loads(value)
# check if loaded value is of correct type
if expected_type is None or isinstance(
loaded_value, expected_type
):
return loaded_value
else:
raise TypeError # if not correct type, raise TypeError
except (TypeError, json.JSONDecodeError):
# Use raw logging to avoid cyclic dependency
logging.warning(
f"Environment Variable {var} could not be loaded, into type "
f"{expected_type}, defaulting to: {default}."
)
return default
else:
return default