reVX.config.rpm.ClusterConfigGroup
- class ClusterConfigGroup(config, check_keys=True, perform_str_rep=True)[source]
Bases:
BaseConfigSubclass for handling the RPM config input group for the reVX-RPM cluster framework.
- 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
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()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.
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
Contiguous filter flag, default True
Dist rank filter flag, default True
Get user-specified "log_level" (DEBUG, INFO, WARNING, etc...).
Get the job name, defaults to 'rev'.
The meta-data field to map RPM regions to.
Path to .csv or .json containing the RPM meta data
- REQUIREMENTS = ('rpm_meta',)
Required keys for config
- property rpm_meta
Path to .csv or .json containing the RPM meta data
Data should include:
Categorical regions of interest with column label “region”
# of clusters per region with column label “clusters”
A column that maps the RPM regions to the cf_fpath meta data: “res_gid” (priorized) or “gen_gid”. This can be omitted if the rpm_region_col kwarg input is found in the cf_fpath meta
- property region_col
The meta-data field to map RPM regions to.
- property dist_rank_filter
Dist rank filter flag, default True
- property contiguous_filter
Contiguous filter flag, default True
- STR_REP = {'REVDIR': '/opt/hostedtoolcache/Python/3.11.16/x64/lib/python3.11/site-packages/reV', 'TESTDATADIR': '/opt/hostedtoolcache/Python/3.11.16/x64/lib/python3.11/site-packages/tests/data'}
Mapping of config inputs (keys) to desired replacements (values) in addition to relative file paths as demarcated by ./ and ../
- static check_files(flist)
Make sure all files in the input file list exist.
- Parameters:
flist (list) – List of files (with paths) to check existance of.
- check_overwrite_keys(primary_key, *overwrite_keys)
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
- 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
- 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
- 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.
- 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.
- resolve_path(path)
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.
- set_self_dict(dictlike)
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.
- str_replace_and_resolve(d, str_rep)
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.
- values() an object providing a view on D's values