ObjectWithParameterCollection#

ObjectWithParameterCollection with all methods#

class pydidas.core.ObjectWithParameterCollection#

Bases: ParameterCollectionMixIn, PydidasQsettingsMixin, QObject

An object with a ParameterCollection.

This class can be inherited by any class which requires a ParameterCollection and access methods defined for it in the ParameterCollectionMixIn.

add_param(param: Parameter)#

Add a parameter to the ParameterCollection.

This is a wrapper for the ParameterCollection.add_parameter method.

Parameters:

param (Parameter) – An instance of a Parameter object.

add_params(*params: tuple[Parameter | dict | ParameterCollection])#

Add parameters to the object.

This method adds Parameters to the ParameterCollection of the object. Parameters can be either supplies as args or a ParameterCollection or dictionary in the form of <ref_key>: <Parameter>. This method is explicitly separate from the __init__ method to allow subclasses full control over args and kwargs.

Parameters:

*params (Tuple[Union[Parameter, dict, ParameterCollection]]) – Any Parameter or ParameterCollection

copy() Self#

Get a copy of the object.

Returns:

The object’s copy.

Return type:

ObjectWithParameterCollection

deepcopy() Self#

Get a deepcopy of the object.

Returns:

The object’s deepcopy.

Return type:

ObjectWithParameterCollection

classmethod get_default_params_copy() ParameterCollection#

Get a copy of the default ParameterCollection.

Returns:

A copy of the default ParameterCollection.

Return type:

ParameterCollection

get_param(param_key: str) Parameter#

Get a parameter.

Note: This method returns the Parameter itself, not a copy.

Parameters:

param_key (str) – The key name of the Parameter.

Returns:

The Parameter object.

Return type:

Parameter

get_param_keys() list[str]#

Get the keys of all registered Parameters.

Returns:

The keys of all registered Parameters.

Return type:

list

get_param_value(param_key: str, *default: object, dtype: type | None = None, for_export: bool = False) object#

Get a Parameter value.

Parameters:
  • param_key (str) – The key name of the Parameter.

  • default (object) – The default value if the param_key does not exist.

  • dtype (type, optional) – A datatype to convert the value into. If None, the native datatype is returned. The default is None.

  • for_export (bool, optional) – An optional flag to force converting the Parameter value to an export-compatible format. This flag is not compatible with a specific dtype. The default is False.

Returns:

The value of the Parameter.

Return type:

object

get_param_values_as_dict(filter_types_for_export: bool = False) dict#

Get a dictionary with Parameter names and values only.

Parameters:

filter_types_for_export (bool) – Flag to return objects in types suitable for exporting (i.e. pickleable).

Returns:

name_val_pairs – The dictionary with Parameter <name>: <value> pairs.

Return type:

dict

get_params(*param_keys: tuple[str, ...]) list[Parameter]#

Get multiple parameters based on their reference keys.

Parameters:

*param_keys (Tuple[str, ...]) – Any number of reference keys.

Returns:

A list with the Parameter instances referenced by the supplied keys.

Return type:

list

property param_keys: list[str]#

Get the keys of all stored Parameters.

Returns:

The keys of all stored Parameters.

Return type:

list[str]

property param_values: dict#

Get the values of all stored Parameters along with their refkeys.

Returns:

The refkey, value pairs for all stored Parameters.

Return type:

Dict

print_param_values()#

Print the name and value of all Parameters.

q_settings_get(key: str, dtype: type | None = None, default: object | None = None) object#

Get the value from a QSetting key.

Parameters:
  • key (str) – The QSetting reference key.

  • dtype (Union[type, None], optional) – A return datatype. If not None, the output will be returned as dtype(value), otherwise, the generic string/int will be returned. The default is None.

  • default (type, optional) – The default value which is returned if the key defaults to None. The default is None.

Returns:

value – The value, converted to the type associated with the Parameter referenced by param_key or dtype, if given.

Return type:

object

q_settings_set(key: str, value: object)#

Set the value of a QSettings key.

Parameters:
  • key (str) – The name of the key.

  • value (object) – The value to be stored.

restore_all_defaults(confirm: bool = False)#

Restore the default values to all entries.

Parameters:

confirm (bool) – Confirmation flag as safety feature.

set_default_params()#

Set default entries.

This method will go through the supplied defaults iterable. If there are no entries for the Parameter keys, it will add a Parameter with default value.

set_param_value(param_key: str, value: object)#

Set a parameter value.

Parameters:
  • param_key (str) – The key name of the Parameter.

  • value (object) – The value to be set. This has to be the datatype associated with the Parameter.

set_param_values(**kwargs: dict)#

Set multiple parameter values at once.

Parameters:

**kwargs (dict) – The reference key and value pairs for all Parameters to be set.

set_param_values_from_dict(value_dict: dict)#

Set the Parameter values from a dict with name, value paris.

Parameters:

value_dict (dict) – The dictionary with the stored information.

update_param_values_from_kwargs(**kwargs: dict)#

Update the Parameter values corresponding to the given keys.

Parameters:

**kwargs (dict) – The dictionary with Parameter refkeys and values.

update_params_from_init(*args: tuple, **kwargs: dict)#

Update the Parameters from the given init args and kwargs.

Parameters:
  • *args (Tuple) – The input arguments.

  • **kwargs (Dict) – The input keyword arguments.