src.environment_manager module¶
-
class
src.environment_manager.AbstractEnvironmentManager(log=<Logger src.environment_manager (WARNING)>)[source]¶ Bases:
abc.ABCInterface for EnvironmentManagers.
-
_abc_impl= <_abc_data object>¶
-
-
class
src.environment_manager.NullEnvironmentManager(log=<Logger src.environment_manager (WARNING)>)[source]¶ Bases:
src.environment_manager.AbstractEnvironmentManagerAbstractEnvironmentManagerwhich performs no environment switching. Useful only as a dummy setting for building framework test harnesses.-
_abc_impl= <_abc_data object>¶
-
-
class
src.environment_manager.VirtualenvEnvironmentManager(log=<Logger src.environment_manager (WARNING)>)[source]¶ Bases:
src.environment_manager.AbstractEnvironmentManagerAbstractEnvironmentManagerthat manages dependencies assuming that current versions of the scripting language executables are already available on$PATH. For python-based PODs, it uses pip and virtualenvs to install needed libraries. For R-based PODs, it attempts to install needed libraries into the current user’s$PATH. For other scripting languages, no library management is performed.-
_abc_impl= <_abc_data object>¶
-
-
class
src.environment_manager.CondaEnvironmentManager(log=<Logger src.environment_manager (WARNING)>)[source]¶ Bases:
src.environment_manager.AbstractEnvironmentManagerAbstractEnvironmentManagerthat uses the conda package manager to define and switch runtime environments.-
env_name_prefix= '_MDTF_'¶
-
activate_env_commands(env_name)[source]¶ Source conda_init.sh to set things that aren’t set b/c we aren’t in an interactive shell.
-
_abc_impl= <_abc_data object>¶
-
-
class
src.environment_manager.AbstractRuntimeManager[source]¶ Bases:
abc.ABCInterface for RuntimeManagers.
-
_abc_impl= <_abc_data object>¶
-
-
class
src.environment_manager.SubprocessRuntimePODWrapper(pod: Any = sentinel.Mandatory, env: Any = None, env_vars: dict = <factory>)[source]¶ Bases:
objectWrapper for
diagnostic.Diagnosticthat adds fields and methods used bySubprocessRuntimeManager.-
pod: Any = sentinel.Mandatory¶
-
env: Any = None¶
-
process: Any = None¶
-
validate_commands()[source]¶ Produces the shell command(s) to validate the POD’s runtime environment (ie, check for all requested third-party module dependencies.) Dependencies are passed as arguments to the shell script
src/validate_environment.sh, which is invoked in the POD’s subprocess before the POD is run.- Returns
- Command-line invocation to validate the POD’s
runtime environment.
- Return type
(
str)
-
-
class
src.environment_manager.SubprocessRuntimeManager(case, EnvMgrClass)[source]¶ Bases:
src.environment_manager.AbstractRuntimeManagerAbstractRuntimeManagerthat spawns a separate system subprocess for each POD.-
_PodWrapperClass¶ alias of
SubprocessRuntimePODWrapper
-
iter_active_pods()[source]¶ Generator iterating over all wrapped pods which haven’t been skipped due to requirement errors.
-
_abc_impl= <_abc_data object>¶
-