clearml/trains/config/__init__.py
2019-06-10 20:02:11 +03:00

65 lines
1.7 KiB
Python

""" Configuration module. Uses backend_config to load system configuration. """
import logging
from os.path import expandvars, expanduser
from ..backend_api import load_config
from ..backend_config.bucket_config import S3BucketConfigurations
from .defs import *
from .remote import running_remotely_task_id as _running_remotely_task_id
config_obj = load_config(Path(__file__).parent)
config_obj.initialize_logging()
config = config_obj.get("sdk")
""" Configuration object reflecting the merged SDK section of all available configuration files """
def get_cache_dir():
cache_base_dir = Path(
expandvars(
expanduser(
config.get("storage.cache.default_base_dir") or DEFAULT_CACHE_DIR
)
)
)
return cache_base_dir
def get_config_for_bucket(base_url, extra_configurations=None):
config_list = S3BucketConfigurations.from_config(config.get("aws.s3"))
for configuration in extra_configurations or []:
config_list.add_config(configuration)
return config_list.get_config_by_uri(base_url)
def get_remote_task_id():
return None
def running_remotely():
return False
def get_log_to_backend(default=None):
return LOG_TO_BACKEND_ENV_VAR.get(default=default)
def get_node_id(default=0):
return NODE_ID_ENV_VAR.get(default=default)
def get_log_redirect_level():
""" Returns which log level (and up) should be redirected to stderr. None means no redirection. """
value = LOG_STDERR_REDIRECT_LEVEL.get()
try:
if value:
return logging._checkLevel(value)
except (ValueError, TypeError):
pass
def dev_worker_name():
return DEV_WORKER_NAME.get()