InputAttribute

class propertyestimator.workflow.attributes.InputAttribute(docstring, type_hint, default_value, optional=False, merge_behavior=<MergeBehaviour.ExactlyEqual: 'ExactlyEqual'>)[source]

A descriptor used to mark an attribute of an object as an input to that object.

An attribute can either be set with a value directly, or it can also be set to a ProtocolPath to be set be the workflow manager.

Examples

To mark an attribute as an input:

>>> from propertyestimator.attributes import AttributeClass
>>> from propertyestimator.workflow.attributes import InputAttribute
>>>
>>> class MyObject(AttributeClass):
>>>
>>>     my_input = InputAttribute(
>>>         docstring='An input will be used.',
>>>         type_hint=float,
>>>         default_value=0.1
>>>     )
__init__(docstring, type_hint, default_value, optional=False, merge_behavior=<MergeBehaviour.ExactlyEqual: 'ExactlyEqual'>)[source]

Initializes a new InputAttribute object.

Parameters

merge_behavior (BaseMergeBehaviour) – An enum describing how this input should be handled when considering whether to, and actually merging two different objects.

Methods

__init__(docstring, type_hint, default_value)

Initializes a new InputAttribute object.