Module
(class from pyomo.common.config
)
- class pyomo.common.config.Module(basePath=None, expandPath=None)[source]
Bases:
object
Domain validator for modules.
Modules can be specified as module objects, by module name, or by the path to the module’s file. If specified by path, the path string has the same path expansion features supported by the
Path
class.Note that modules imported by file path may not be recognized as part of a package, and as such they should not use relative package importing (such as
from . import foo
).- Parameters:
basePath (None, str, ConfigValue) – The base path that will be prepended to any non-absolute path values provided. If None, defaults to
Path.BasePath
.expandPath (bool) – If True, then the value will be expanded and normalized. If False, the string representation of the value will be used unchanged. If None, expandPath will defer to the (negated) value of
Path.SuppressPathExpansion
.
Examples
The following code shows the three ways you can specify a module: by file name, by module name, or by module object. Regardless of how the module is specified, what is stored in the configuration is a module object.
from pyomo.common.config import ( ConfigDict, ConfigValue, Module ) config = ConfigDict() config.declare('my_module', ConfigValue( domain=Module(), )) # Set using file path config.my_module = '../../pyomo/common/tests/config_plugin.py' # Set using python module name, as a string config.my_module = 'os.path' # Set using an imported module object import os.path config.my_module = os.path
Methods
__init__
([basePath, expandPath])Member Documentation