Utilities#
- class autode.utils.NumericStringDict(string: str, delim: str = ' = ')#
- class autode.utils.StringDict(string: str, delim: str = ' = ')#
- Immutable dictionary stored as a single string. For example::
‘a = b c = d’
- __init__(string: str, delim: str = ' = ')#
- get(item: str, default: Any) Any #
Get an item or return a default
- autode.utils.check_sufficient_memory(func: Callable)#
Decorator to check that enough memory is available for a calculation
- autode.utils.checkpoint_rxn_profile_step(name: str) Callable #
Decorator for a function that will save a checkpoint file with the reaction state at that point in time. If the checkpoint exists then the state will be reloaded and the execution skipped
- autode.utils.cleanup_after_timeout()#
- autode.utils.deprecated(func: Callable) Callable #
- autode.utils.get_total_memory() int #
Returns total amount of physical memory available in bytes
- autode.utils.hashable(_method_name: str, _object: Any)#
Multiprocessing requires hashable top-level functions to be executed, so convert a method into a top-level function
- autode.utils.log_time(prefix: str = 'Executed in: ', units: str = 'ms') Callable #
A function requiring a number of atoms to run
- autode.utils.no_exceptions(func) Any #
Calculation method requiring the output filename to be set
- autode.utils.requires_atoms(func: Callable) Callable #
A function requiring a number of atoms to run
- autode.utils.requires_conformers(func: Callable) Callable #
A function requiring the species to have a list of conformers
- autode.utils.requires_graph(func: Callable) Callable #
A function requiring a number of atoms to run
- autode.utils.requires_hl_level_methods(func: Callable) Callable #
A function requiring both high and low-level methods to be available
- autode.utils.requires_output(func: Callable) Callable #
A function requiring an output file and output file lines
- autode.utils.requires_output_to_exist(func: Callable) Callable #
Calculation method requiring the output filename to be set
- autode.utils.run_external(params: List[str], output_filename: str, stderr_to_log: bool = True)#
Standard method to run a EST calculation with subprocess writing the output to the calculation output filename
- Parameters:
stderr_to_log – Should the stderr be added to the logged warnings?
- autode.utils.run_external_monitored(params: Sequence[str], output_filename: str, break_word: str = 'MPI_ABORT', break_words: List[str] | None = None)#
Run an external process monitoring the standard output and error for a word that will terminate the process
- Parameters:
output_filename (str)
break_word (str) – String that if found will terminate the process
break_words (list(str) | None) – List of break_word-s
- autode.utils.run_in_tmp_environment(**kwargs) Callable #
Apply a set of environment variables, execute a function and reset them
- autode.utils.temporary_config()#
Context manager to temporarily change autodE’s Config. When it exits, the Config will be restored to whatever it was before calling the context manager.
Example usage:
>>> import autode as ade >>> from autode import Config >>> Config.hcode = 'ORCA' >>> with ade.temporary_config(): ... # change some config vars ... Config.n_cores = 16 ... Config.ORCA.keywords.sp.functional = 'B3LYP' ... # then do some calculations ... # ------ >>> # When context manager returns, Config should be restored to what it was before >>> assert Config.n_cores == 4 >>> assert str(Config.ORCA.keywords.sp.functional).lower() == 'pbe0'
- autode.utils.timeout(seconds: float, return_value: Any | None = None) Any #
Function decorator that times-out after a number of seconds (default version, uses forking)
- Parameters:
seconds – The number of seconds to timeout
return_value – Value returned if the function times out
- Returns:
result of function | return_value
- Return type:
(Any)
- autode.utils.work_in(dir_ext: str) Callable #
Execute a function in a different directory
- autode.utils.work_in_tmp_dir(filenames_to_copy: Sequence[str] | None = None, kept_file_exts: Sequence[str] | None = None, use_ll_tmp: bool = False) Callable #
Execute a function in a temporary directory.
- Parameters:
use_ll_tmp (bool) – If true then use autode.config.Config.ll_tmp_dir