InputParameterSelectionList

class pydsol.core.parameters.InputParameterSelectionList(key: str, name: str, options: List[str], default_value: str, display_priority: float, *, parent: InputParameterMap | None = None, description: str | None = None, read_only: bool = False)[source]

Bases: InputParameter

InputParameterSelectionList defines a string input parameter that has to be a member of a provided list of strings. In a user interface, this can be indicated as a pick list. An example is a list of the state codes of the USA.

The InputParameterSelectionList has all attributes of the InputParameter. The _value attribute is of the type str. It also has the following extra attributes:

Attributes:

_options (list[str]) – The values that can be entered for this parameter.

__init__(key: str, name: str, options: List[str], default_value: str, display_priority: float, *, parent: InputParameterMap | None = None, description: str | None = None, read_only: bool = False)[source]

Create a new InputParameterSelectionList that can contain a string input value for the simulation model. The vaue of the string is limited to the options in the provided selection list.

Parameters:
  • key (str) – The key of the parameter that can be a part of the dot-notation to uniquely identify the model parameter. The key does not contain the name of the parent, and should not contain any periods. It should also be unique within its node of the input parameter tree. The key is set at time of construction and it is immutable.

  • name (str) – Concise description of the input parameter, which can be used in a GUI to identify the parameter to the user.

  • options (list[str]) – The list with values that can be entered for this parameter.

  • default_value (str) – The default (initial) value of the parameter. This value has to be a member of the options list.

  • display_priority (Union[int, float]) – A number indicating the order of display of the parameter in the parent parameter map. Floats are allowed to make it easy to insert an extra parameter between parameters that have already been allocated subsequent integer values.

  • parent (InputParameterMap (optional)) – The parent map in which the parameter can be retrieved using its key. Typically, only the root InputParameterMap has no parent, and all other parameters have an InputParameterMap as parent.

  • description (str (optional)) – A description or explanation of the InputParameter. For instance, an indication of the bounds or the type. This value is purely there for the user interface.

  • read_only (bool (optional)) – Whether a user is prohibited from changing the value of the parameter or not (default false, so the parameter can be changed).

Raises:
  • TypeError – when key is not a string

  • ValueError – when key is an empty string, or key contains a period

  • ValueError – when key is not unique in the parent InputParameterMap

  • TypeError – when name is not a string

  • ValueError – when name is an empty string

  • TypeError – when display priority is not a number

  • TypeError – when parent is not an InputParametermap or None

  • TypeError – when read_only is not a bool

  • TypeError – when default_value is not a string

  • TypeError – when options is not a list

  • TypeError – when options contains entries that are not a string

  • ValueError – when default_value is not one of the options in the list

property value: str

Returns the actual value of the parameter. The value is initialized with default_value and is updated based on user input or data input.

Returns:

The actual value of the parameter, one of the elements of the list.

Return type:

str

property options: str

Returns the list of allowed values for the parameter.

Returns:

The list with allowed values for the parameter.

Return type:

list[str]

set_value(value: str)[source]

Set (overwrite) the actual value of the parameter.

Parameters:

value (str) – The new value of the parameter.

Raises:
  • ValueError – if the parameter is read-only

  • TypeError – if the new value is not a string

  • ValueError – if the new value is not defined in the options list

property default_value: object

Returns the default (initial) value of the parameter. The actual return type will be defined in subclasses of InputParameter. The default value is immutable.

Returns:

The default (initial) value of the parameter.

Return type:

object

property description: str

Returns a description or explanation of the InputParameter. For instance, an indication of the bounds or the type. This value is purely there for the user interface.

Returns:

A description or explanation of the InputParameter.

Return type:

str

property display_priority: float

Return the number indicating the order of display of the parameter in the parent parameter map. Floats make it easy to insert an extra parameter between parameters that have already been allocated subsequent integer values.

Returns:

The number indicating the order of display of the parameter in the parent parameter map.

Return type:

float

extended_key()

Return the extended key of this InputParameter including parents with a dot-notation. The name of this parameter is the last entry in the dot notation.

Returns:

The extended key of this InputParameter including parents with a dot-notation.

Return type:

str

property key: str

Return the key of the parameter that can be a part of the dot-notation to uniquely identify the model parameter. The key does not contain the name of the parent. The key is set at time of construction and it is immutable.

Returns:

The key of the parameter that can be a part of the dot-notation to uniquely identify the model parameter.

Return type:

str

property name: str

Returns the concise description of the input parameter, which can be used in a GUI to identify the parameter to the user.

Returns:

The concise description of the input parameter, which can be used in a GUI to identify the parameter to the user.

Return type:

str

property parent: InputParameterMap

Return the parent map in which the parameter can be retrieved using its key. Typically, only the root InputParameterMap has no parent, and all other parameters have an InputParameterMap as parent.

Returns:

the parent map in which the parameter can be retrieved using its key.

Return type:

InputParameterMap

property read_only: bool

Return whether a user is prohibited from changing the value of the parameter or not.

Returns:

Whether a user is prohibited from changing the value of the parameter or not.

Return type:

bool