class_docstr: Manual node's internal state.
  
  Attributes:
    state: Current state of the manual node.
class_docstr_tok: ["Manual","node","'s","internal","state",".","Attributes",":","state",":","Current","state","of","the","manual","node","."]
code: def from_mlmd_value(
      cls, value: Optional[metadata_store_pb2.Value] = None
  ) -> "ManualNodeState":
      if not value:
          return ManualNodeState()
      node_state_json = data_types_utils.get_metadata_value(value)
      if not node_state_json:
          return ManualNodeState()
      return json_utils.loads(node_state_json)
  
imports: import threading
  from typing import Optional
  import attr
  from tfx.orchestration import data_types_utils
  from tfx.orchestration import metadata
  from tfx.orchestration.experimental.core import mlmd_state
  from tfx.orchestration.experimental.core import task
  from tfx.orchestration.experimental.core import task_scheduler
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.utils import json_utils
  from tfx.utils import status
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 1 for calling the ManualNodeState obj's underlying member method code with example usage: obj.from_mlmd_value(cls, value) and returns: json_utils, ManualNodeState, ManualNodeState