InputParameter

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

Bases: InputParameterInterface

The InputParameter is a user readable and settable property for the simulation model. All parameters for a model are contained in a hierarchical map where successive keys can be retrieved using a dot-notation between the key elements.

Attributes:
  • _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 immutable.

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

  • _default_value (object) – The default (initial) value of the parameter. The actual type will be defined in subclasses of InputParameter. The default value is immutable.

  • _display_priority (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).

  • _value (object) – The actual value of the parameter. The value is initialized with default_value and is updated based on user input or data input. The actual type will be defined in subclasses of InputParameter.

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

Create a new InputParameter.

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.

  • default_value (object) – The default (initial) value of the parameter. The actual type will be defined in subclasses of InputParameter.

  • 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

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

extended_key()[source]

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 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 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 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 value: object

Returns the actual value of the parameter. The value is initialized with default_value and is updated based on user input or data input. The actual type will be defined in subclasses of InputParameter.

Returns:

The actual value of the parameter.

Return type:

object

set_value(value: object)[source]

Set (overwrite) the actual value of the parameter.

Parameters:

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

Raises:

ValueError – when parameter is read-only

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

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

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