IDAES Framework ConfigurationΒΆ
The IDAES framework can be configured with configuration files in TOML format.
Supplying a configuration file is optional. Currently this file sets logging
configuration and modules that should be searched for plugins. The
configuration is done when first importing any idaes.* module. The IDAES
framework will first attempt to read a user-level configuration file at
%LOCALAPPDATA%\idaes\idaes.conf
on Windows or $HOME/.idaes/idaes.conf
on
other operating systems (e.g. Linux or Mac). Next if an idaes.conf file exists
in the working directory it will be read. Configuration files in the working
directory will override settings in the user-level configuration file. The user
level configuration file will override default settings. Not all setting need
to be set in a configuration file.
An example configuration file is given below with the default settings.
[plugins]
required = []
optional = []
[logging]
version = 1
disable_existing_loggers = false
[logging.formatters.f1]
format = "%(asctime)s - %(levelname)s - %(name)s - %(message)s"
datefmt = "%Y-%m-%d %H:%M:%S"
[logging.handlers.console]
class = "logging.StreamHandler"
formatter = "f1"
stream = "ext://sys.stderr"
[logging.loggers.idaes]
level = "INFO"
handlers = ["console"]
The Python dictConfig method is used to set up the logger. The required and optional elements under plugins are string lists of modules to search for Pyomo style plugins. Any failure to import plugins in the required modules will raise an exception, while any failure to import optional plugins will only result in the exception being logged and execution continuing.