reV.config.base_config.BaseConfig
- class BaseConfig(config, check_keys=True, perform_str_rep=True)[source]
 Bases:
dictBase class for configuration frameworks.
- Parameters:
 config (str | dict) – File path to config json (str), serialized json object (str), or dictionary with pre-extracted config.
check_keys (bool, optional) – Flag to check config keys against Class properties, by default True
perform_str_rep (bool) – Flag to perform string replacement for REVDIR, TESTDATADIR, and ./
Methods
check_files(flist)Make sure all files in the input file list exist.
check_overwrite_keys(primary_key, ...)Check for overwrite keys and raise a ConfigError if present
clear()copy()fromkeys(iterable[, value])Create a new dictionary with keys from iterable and values set to value.
get(key[, default])Return the value for key if key is in the dictionary, else default.
items()keys()pop(k[,d])If the key is not found, return the default if given; otherwise, raise a KeyError.
popitem()Remove and return a (key, value) pair as a 2-tuple.
resolve_path(path)Resolve a file path represented by the input string.
set_self_dict(dictlike)Save a dict-like variable as object instance dictionary items.
setdefault(key[, default])Insert key with a value of default if key is not in the dictionary.
str_replace_and_resolve(d, str_rep)Perform a deep string replacement and path resolve in d.
update([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values()Attributes
Required keys for config
Mapping of config inputs (keys) to desired replacements (values) in addition to relative file paths as demarcated by ./ and ../
Get the directory that the config file is in.
List of valid config keys
Get user-specified "log_level" (DEBUG, INFO, WARNING, etc...).
Get the job name, defaults to 'rev'.
- REQUIREMENTS = ()
 Required keys for config
- STR_REP = {'REVDIR': '/home/runner/work/reV/reV/reV', 'TESTDATADIR': '/home/runner/work/reV/reV/tests/data'}
 Mapping of config inputs (keys) to desired replacements (values) in addition to relative file paths as demarcated by ./ and ../
- property config_dir
 Get the directory that the config file is in.
- Returns:
 config_dir (str) – Directory path that the config file is in.
- property config_keys
 List of valid config keys
- Returns:
 list
- property log_level
 Get user-specified “log_level” (DEBUG, INFO, WARNING, etc…).
- Returns:
 log_level (int) – Python logging module level (integer format) corresponding to the config-specified log level string.
- property name
 Get the job name, defaults to ‘rev’.
- Returns:
 name (str) – reV job name.
- check_overwrite_keys(primary_key, *overwrite_keys)[source]
 Check for overwrite keys and raise a ConfigError if present
- Parameters:
 primary_key (str) – Primary key that overwrites overwrite_keys, used for error message
overwrite_keys (str) – Key(s) to overwrite
- static check_files(flist)[source]
 Make sure all files in the input file list exist.
- Parameters:
 flist (list) – List of files (with paths) to check existance of.
- str_replace_and_resolve(d, str_rep)[source]
 Perform a deep string replacement and path resolve in d.
- Parameters:
 d (dict) – Config dictionary potentially containing strings to replace and/or paths to resolve.
str_rep (dict) – Replacement mapping where keys are strings to search for and values are the new values.
- Returns:
 d (dict) – Config dictionary with updated strings.
- clear() None. Remove all items from D.
 
- copy() a shallow copy of D
 
- classmethod fromkeys(iterable, value=None, /)
 Create a new dictionary with keys from iterable and values set to value.
- get(key, default=None, /)
 Return the value for key if key is in the dictionary, else default.
- items() a set-like object providing a view on D's items
 
- keys() a set-like object providing a view on D's keys
 
- pop(k[, d]) v, remove specified key and return the corresponding value.
 If the key is not found, return the default if given; otherwise, raise a KeyError.
- popitem()
 Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
- set_self_dict(dictlike)[source]
 Save a dict-like variable as object instance dictionary items.
- Parameters:
 dictlike (dict) – Python namespace object to set to this dictionary-emulating class.
- setdefault(key, default=None, /)
 Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
- update([E, ]**F) None. Update D from dict/iterable E and F.
 If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
- values() an object providing a view on D's values
 
- resolve_path(path)[source]
 Resolve a file path represented by the input string.
This function resolves the input string if it resembles a path. Specifically, the string will be resolved if it starts with “
./” or “..”, or it if it contains either “./” or “..” somewhere in the string body. Otherwise, the string is returned unchanged, so this function is safe to call on any string, even ones that do not resemble a path.This method delegates the “resolving” logic to
pathlib.Path.resolve(). This means the path is made absolute, symlinks are resolved, and “..” components are eliminated. If thepathinput starts with “./” or “..”, it is assumed to be w.r.t the config directory, not the run directory.- Parameters:
 path (str) – Input file path.
- Returns:
 str – The resolved path.