# InputAttribute

class `openff.evaluator.workflow.attributes.``InputAttribute`(docstring, type_hint, default_value, optional=False, merge_behavior=<MergeBehaviour.ExactlyEqual: 'ExactlyEqual'>)

  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 openff.evaluator.attributes import AttributeClass
      >>> from openff.evaluator.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'>)

    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.