options_dictionary.py#
Define the OptionsDictionary class.
- class openmdao.utils.options_dictionary.OptionsDictionary(parent_name=None, read_only=False)[source]
Bases:
object
Dictionary with pre-declaration of keys for value-checking and default values.
- This class is instantiated for:
the options attribute in solvers, drivers, and processor allocators
the supports attribute in drivers
the options attribute in systems
- Parameters:
- parent_namestr
Name or class name of System that owns this OptionsDictionary.
- read_onlybool
If True, setting (via __setitem__ or update) is not permitted.
- Attributes:
- _dictdict of dict
Dictionary of entries. Each entry is a dictionary consisting of value, values, types, desc, lower, and upper.
- _parent_namestr or None
If defined, prepend this name to beginning of all exceptions.
- _read_onlybool
If True, no options can be set after declaration.
- _all_recordablebool
Flag to determine if all options in UserOptions are recordable.
- _context_cachedict
A dictionary to store cached option/value pairs when using the OptionsDictionary as a context manager.
- __contains__(key)[source]
Check if the key is in the local dictionary.
- Parameters:
- keystr
name of the option.
- Returns:
- bool
whether key is in the local dict.
- __getitem__(name)[source]
Get an option from the dict or declared default.
- Parameters:
- namestr
name of the option.
- Returns:
- value-
value of the option.
- __init__(parent_name=None, read_only=False)[source]
Initialize all attributes.
- __iter__()[source]
Provide an iterator.
- Returns:
- iterable
iterator over the keys in the dictionary.
- __setitem__(name, value)[source]
Set an option in the local dictionary.
- Parameters:
- namestr
name of the option.
- value-
value of the option to be value- and type-checked if declared.
- declare(name, default=UNDEFINED, values=None, types=None, desc='', upper=None, lower=None, check_valid=None, allow_none=False, recordable=True, set_function=None, deprecation=None)[source]
Declare an option.
The value of the option must satisfy the following: 1. If values only was given when declaring, value must be in values. 2. If types only was given when declaring, value must satisfy isinstance(value, types). 3. It is an error if both values and types are given.
- Parameters:
- namestr
Name of the option.
- defaultobject or Null
Optional default value that must be valid under the above 3 conditions.
- valuesset or list or tuple or None
Optional list of acceptable option values.
- typestype or tuple of types or None
Optional type or list of acceptable option types.
- descstr
Optional description of the option.
- upperfloat or None
Maximum allowable value.
- lowerfloat or None
Minimum allowable value.
- check_validfunction or None
User-supplied function with arguments (name, value) that raises an exception if the value is not valid.
- allow_nonebool
If True, allow None as a value regardless of values or types.
- recordablebool
If True, add to recorder.
- set_functionNone or function
User-supplied function with arguments (Options metadata, value) that pre-processes value and returns a new value.
- deprecationstr or tuple or None
If None, it is not deprecated. If a str, use as a DeprecationWarning during __setitem__ and __getitem__. If a tuple of the form (msg, new_name), display msg as with str, and forward any __setitem__/__getitem__ to new_name.
- items(recordable_only=False)[source]
Yield name and value of options.
- Parameters:
- recordable_onlybool
If True, return only recordable options.
- Yields:
- keystr
Name of option.
- valueint or bool or float or string
Value of the option.
- set(**kwargs)[source]
Set one or more options in the options dictionary simultaneously.
- Parameters:
- **kwargs
Keyword arguments where the option names in the OptionsDictionary are the keywords and the associated values are the values for those options.
- temporary(**kwargs)[source]
Provide a context manager for temporary option values within the context.
- Parameters:
- **kwargs
Keyword arguments where the option names in the OptionsDictionary are the keywords and the associated values are the temporary values for those options.
- to_table(fmt='github', missingval='N/A', max_width=None, display=True)[source]
Get a table representation of this OptionsDictionary as a table in the requested format.
- Parameters:
- fmtstr
The formatting of the requested table. Options are [‘github’, ‘rst’, ‘text’, ‘html’, ‘tabulator’] and several ‘grid’ and ‘outline’ formats that mimic those found in the python ‘tabulate’ library. Default value of ‘github’ produces a table in GitHub-flavored markdown. ‘html’ and ‘tabulator’ produce output viewable in a browser.
- missingvalstr
The value to be displayed in place of None.
- max_widthint or None
If not None, try to limit the total width of the table to this value.
- displaybool
If True, display the table, typically by writing it to stdout or opening a browser.
- Returns:
- str
A string representation of the table in the requested format.
- undeclare(name)[source]
Remove entry from the OptionsDictionary, for classes that don’t use that option.
- Parameters:
- namestr
The name of a key, the entry of which will be removed from the internal dictionary.
- update(in_dict)[source]
Update the internal dictionary with the given one.
- Parameters:
- in_dictdict
The incoming dictionary to add to the internal one.
- openmdao.utils.options_dictionary.check_valid(name, value)[source]
Check the validity of value for the option with name.
- Parameters:
- namestr
Name of the option.
- valueany
Value for the option.
- Raises:
- ValueError
If value is not valid for option.