Parameters

class parameters.Parameters(path=None)

Collection of parameters.

New instances may optionally be passed a path to a YAML file. See load_file().

parameters = Parameters()
parameters.add_parameter('warp speed', 9.0)
parameters.get_value('warp speed') #=> 9.0

parameters.set_value('warp speed', 10.0)
parameters.get_value('warp speed') #=> 10.0
add_parameter(name, value, meta=None)

Add a parameter to the parameter list.

Parameters:
  • name (str) – New parameter’s name.
  • value (float) – New parameter’s value.
  • meta (dict) – New parameter’s meta property.
get(name)

Get a parameter object by name.

Parameters:name (str) – Name of the parameter object.
Returns:The parameter.
Return type:Parameter
get_meta(name)

Get the metadata of a parameter by name.

Returns:Parameter metadata.
Return type:dict
get_value(name)

Get the value of a parameter by name.

Returns:Parameter value.
Return type:Parameter
load_file(path)

Load a YAML file with parameter data and other metadata.

Parameters:path (str) – Path to YAML file.

The data in the YAML file is used to set the properties for the instance. The YAML file must contain a parameters key. It may optionally include any keys defined in property_keys.

# data.yml
---
name: Shield frequencies
parameters:
  - name: a
    value: 24.50
  - name: β
    value: 42.10
    meta:
      phase_inverted: true
parameters = Parameters('data.yml')
parameters.name #=> 'Shield frequencies'
parameters.get_value('a') #=> 24.50
parameters.get_meta('β')['phase_inverted'] #=> true
name

The name of this parameter set.

Returns:Parameter set name.
Return type:str
Default:None
static parameter_list(data)

Create a list of parameter objects from a dict.

Parameters:data (dict) – Dictionary to convert to parameter list.
Returns:Parameter list.
Return type:dict
parameters

The list of Parameter objects.

Returns:Parameter list.
Return type:dict
Default:[]
property_keys

Keys to load as class properties when loading from file.

Returns:Key names.
Return type:dict
Default:['name']
set_value(name, value)

Set the value of a parameter by name.

Parameters:
  • name (str) – Parameter name.
  • value (float) – Parameter value.
class parameters.parameter.Parameter(name, value)

Defines a parameter with a name and a value.

Must provide a name and value. Parameters have a generic metadata property stored as a dictionary.

parameter = Parameter('warp speed', 9.0, {'max': 10.0})
parameter.name #=> 'warp speed'
parameter.value #=> 9.0
parameter.meta['max'] #=> 10.0
meta

The metadata of this parameter.

Returns:Parameter metadata.
Return type:dict
Default:{}
name

The name of this parameter.

Returns:Parameter name.
Return type:str
value

The value of this parameter.

Returns:Parameter name.
Return type:float