# BaseProtocolAttribute

class `propertyestimator.workflow.decorators.``BaseProtocolAttribute`(docstring, type_hint)

  A custom descriptor used to mark class attributes as being either a required input, or provided output of a protocol.

  Notes

  This decorator expects the protocol to have a matching private field in addition to the public attribute. For example if a protocol has an attribute substance, by default the protocol must also have a _substance field.

  `__init__`(docstring, type_hint)

    Initializes a new BaseProtocolAttribute object.

    Parameters

      - docstring (str) – A docstring describing the attributes purpose. This will automatically be decorated with additional information such as type hints, default values, etc.

      - type_hint (type, typing.Union) – The expected type of this attribute. This will be used to help the workflow engine ensure that expected input types match corresponding output values.

  Methods

  `__init__`(docstring, type_hint) | Initializes a new BaseProtocolAttribute object.