reVX.config.reeds.TimeslicesConfigGroup

class TimeslicesConfigGroup(config)[source]

Bases: BaseConfig

Subclass for handling the Reeds config input group for the reVX-REEDS timeslices framework.

Parameters:

config (dict) – Dictionary with pre-extracted config input group.

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

REQUIREMENTS

Required keys for config

STR_REP

Mapping of config inputs (keys) to desired replacements (values) in addition to relative file paths as demarcated by ./ and ../

all_profiles

Get the boolean flag to calculate timeslice stats from all profiles (default is from representative profiles)

config_dir

Get the directory that the config file is in.

config_keys

List of valid config keys

log_level

Get user-specified "log_level" (DEBUG, INFO, WARNING, etc...).

name

Get the job name, defaults to 'rev'.

profiles

Get filepath to profiles file.

reg_cols

Get the label(s) for a categorical region column(s) to create timeslice stats for.

timeslices

Get the path to csv containing timeslice mapping.

REQUIREMENTS = ('profiles', 'timeslices')

Required keys for config

property timeslices

Get the path to csv containing timeslice mapping.

property profiles

Get filepath to profiles file.

property reg_cols

Get the label(s) for a categorical region column(s) to create timeslice stats for.

property all_profiles

Get the boolean flag to calculate timeslice stats from all profiles (default is from representative profiles)

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 the path input 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