9.2.9. Utils¶
General utilities and helpers.
- junifer.utils.configure_logging(level='WARNING', fname=None, overwrite=None, output_format=None)¶
Configure the logging functionality.
- Parameters:
- level
int
or {“DEBUG”, “INFO”, “WARNING”, “ERROR”} The level of the messages to print. If string, it will be interpreted as elements of logging (default “WARNING”).
- fname
str
orpathlib.Path
, optional Filename of the log to print to. If None, stdout is used (default None).
- overwritebool, optional
Overwrite the log file (if it exists). Otherwise, statements will be appended to the log (default). None is the same as False, but additionally raises a warning to notify the user that log entries will be appended (default None).
- output_format
str
, optional Format of the output messages. See the following for examples: https://docs.python.org/dev/howto/logging.html e.g.,
"%(asctime)s - %(levelname)s - %(message)s"
. If None, default string format is used (default"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
).
- level
- junifer.utils.deep_update(d, u)¶
Deep update d with u.
From: “https://stackoverflow.com/questions/3232943/update-value-of-a-nested -dictionary-of-varying-depth”
- junifer.utils.make_executable(path)¶
Make
path
executable.- Parameters:
- path
pathlib.Path
The path to make executable.
- path
- junifer.utils.raise_error(msg, klass=<class 'ValueError'>, exception=None)¶
Raise error, but first log it.
- junifer.utils.run_ext_cmd(name, cmd)¶
Run external command via subprocess.
- Parameters:
- Raises:
RuntimeError
If command fails.