at.lattice.parambase#

Classes

Operand(name, **kwargs)

Abstract base class for arithmetic combinations of parameters.

ParamBase(evaluator, *[, priority])

Read-only base class for parameters.

ParamDef(*[, conversion])

Abstract base class for parameter definitions.

class Operand(name, **kwargs)[source]#

Bases: ABC

Abstract base class for arithmetic combinations of parameters.

name: str#

Operand name

abstract property value#
class ParamBase(evaluator, *, priority=20, **kwargs)[source]#

Bases: ParamDef, Operand

Read-only base class for parameters.

It is used for computed parameters and should not be instantiated otherwise.

Parameters:
  • evaluator (_Evaluator) – Evaluator function

  • name – Name of the parameter

  • conversion – data conversion function

  • priority (int) – priority of the operator.

fast_value()[source]#

Return the value of the parameter.

class ParamDef(*, conversion=<function _nop>, **kwargs)[source]#

Bases: ABC

Abstract base class for parameter definitions.

This class defines the interface for parameter objects that can be used as element attributes. It provides a value property and a method for converting values to the appropriate type.

Parameters:

conversion (Callable[[Any], Any] | None) – Function to convert values to the appropriate type.

abstractmethod fast_value()[source]#

Return the value of the parameter.

set_conversion(conversion)[source]#

Set the data type conversion function.

This method is called when a parameter is assigned to an Element attribute. It can only be set once.

Parameters:

conversion (Callable[[Any], Any]) – Function to convert values to the appropriate type

Raises:

ValueError – If attempting to change an already set conversion function

property value: Any#

Current value of the parameter.