prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  [DOC-FIX] Doc for Run.inputs erroneously refers to Run.data
  ### Willingness to contribute
  
  No. I cannot contribute a documentation fix at this time.
  
  ### URL(s) with the issue
  
  https://www.mlflow.org/docs/latest/python_api/mlflow.entities.html#mlflow.entities.Run
  
  ### Description of proposal (what needs changing)
  
  In the Run doc page, the doc for Run.inputs refers to Run.data instead of Run.input.
  
  
  property inputs
  The run inputs, including dataset inputs
  
  Return type
  mlflow.entities.RunData
  
  
  
  </issue>
  <code>
  [start of mlflow/entities/run.py]
  1 from typing import Any, Dict, Optional
  2 
  3 from mlflow.entities._mlflow_object import _MLflowObject
  4 from mlflow.entities.run_data import RunData
  5 from mlflow.entities.run_info import RunInfo
  6 from mlflow.entities.run_inputs import RunInputs
  7 from mlflow.exceptions import MlflowException
  8 from mlflow.protos.service_pb2 import Run as ProtoRun
  9 
  10 
  11 class Run(_MLflowObject):
  12     """
  13     Run object.
  14     """
  15 
  16     def __init__(
  17         self, run_info: RunInfo, run_data: RunData, run_inputs: Optional[RunInputs] = None
  18     ) -> None:
  19         if run_info is None:
  20             raise MlflowException("run_info cannot be None")
  21         self._info = run_info
  22         self._data = run_data
  23         self._inputs = run_inputs
  24 
  25     @property
  26     def info(self) -> RunInfo:
  27         """
  28         The run metadata, such as the run id, start time, and status.
  29 
  30         :rtype: :py:class:`mlflow.entities.RunInfo`
  31         """
  32         return self._info
  33 
  34     @property
  35     def data(self) -> RunData:
  36         """
  37         The run data, including metrics, parameters, and tags.
  38 
  39         :rtype: :py:class:`mlflow.entities.RunData`
  40         """
  41         return self._data
  42 
  43     @property
  44     def inputs(self) -> RunInputs:
  45         """
  46         The run inputs, including dataset inputs
  47 
  48         :rtype: :py:class:`mlflow.entities.RunData`
  49         """
  50         return self._inputs
  51 
  52     def to_proto(self):
  53         run = ProtoRun()
  54         run.info.MergeFrom(self.info.to_proto())
  55         if self.data:
  56             run.data.MergeFrom(self.data.to_proto())
  57         if self.inputs:
  58             run.inputs.MergeFrom(self.inputs.to_proto())
  59         return run
  60 
  61     @classmethod
  62     def from_proto(cls, proto):
  63         return cls(
  64             RunInfo.from_proto(proto.info),
  65             RunData.from_proto(proto.data),
  66             RunInputs.from_proto(proto.inputs),
  67         )
  68 
  69     def to_dictionary(self) -> Dict[Any, Any]:
  70         run_dict = {
  71             "info": dict(self.info),
  72         }
  73         if self.data:
  74             run_dict["data"] = self.data.to_dictionary()
  75         if self.inputs:
  76             run_dict["inputs"] = self.inputs.to_dictionary()
  77         return run_dict
  78
  [end of mlflow/entities/run.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/mlflow/entities/run.py b/mlflow/entities/run.py
  --- a/mlflow/entities/run.py
  +++ b/mlflow/entities/run.py
  @@ -45,7 +45,7 @@
           """
           The run inputs, including dataset inputs
   
  -        :rtype: :py:class:`mlflow.entities.RunData`
  +        :rtype: :py:class:`mlflow.entities.RunInputs`
           """
           return self._inputs
  
verification_info: {"golden_diff": "diff --git a/mlflow/entities/run.py b/mlflow/entities/run.py\n--- a/mlflow/entities/run.py\n+++ b/mlflow/entities/run.py\n@@ -45,7 +45,7 @@\n         \"\"\"\n         The run inputs, including dataset inputs\n \n-        :rtype: :py:class:`mlflow.entities.RunData`\n+        :rtype: :py:class:`mlflow.entities.RunInputs`\n         \"\"\"\n         return self._inputs\n", "issue": "[DOC-FIX] Doc for Run.inputs erroneously refers to Run.data\n### Willingness to contribute\n\nNo. I cannot contribute a documentation fix at this time.\n\n### URL(s) with the issue\n\nhttps://www.mlflow.org/docs/latest/python_api/mlflow.entities.html#mlflow.entities.Run\n\n### Description of proposal (what needs changing)\n\nIn the Run doc page, the doc for Run.inputs refers to Run.data instead of Run.input.\r\n\r\n\r\nproperty inputs\r\nThe run inputs, including dataset inputs\r\n\r\nReturn type\r\nmlflow.entities.RunData\r\n\r\n\n", "before_files": [{"content": "from typing import Any, Dict, Optional\n\nfrom mlflow.entities._mlflow_object import _MLflowObject\nfrom mlflow.entities.run_data import RunData\nfrom mlflow.entities.run_info import RunInfo\nfrom mlflow.entities.run_inputs import RunInputs\nfrom mlflow.exceptions import MlflowException\nfrom mlflow.protos.service_pb2 import Run as ProtoRun\n\n\nclass Run(_MLflowObject):\n    \"\"\"\n    Run object.\n    \"\"\"\n\n    def __init__(\n        self, run_info: RunInfo, run_data: RunData, run_inputs: Optional[RunInputs] = None\n    ) -> None:\n        if run_info is None:\n            raise MlflowException(\"run_info cannot be None\")\n        self._info = run_info\n        self._data = run_data\n        self._inputs = run_inputs\n\n    @property\n    def info(self) -> RunInfo:\n        \"\"\"\n        The run metadata, such as the run id, start time, and status.\n\n        :rtype: :py:class:`mlflow.entities.RunInfo`\n        \"\"\"\n        return self._info\n\n    @property\n    def data(self) -> RunData:\n        \"\"\"\n        The run data, including metrics, parameters, and tags.\n\n        :rtype: :py:class:`mlflow.entities.RunData`\n        \"\"\"\n        return self._data\n\n    @property\n    def inputs(self) -> RunInputs:\n        \"\"\"\n        The run inputs, including dataset inputs\n\n        :rtype: :py:class:`mlflow.entities.RunData`\n        \"\"\"\n        return self._inputs\n\n    def to_proto(self):\n        run = ProtoRun()\n        run.info.MergeFrom(self.info.to_proto())\n        if self.data:\n            run.data.MergeFrom(self.data.to_proto())\n        if self.inputs:\n            run.inputs.MergeFrom(self.inputs.to_proto())\n        return run\n\n    @classmethod\n    def from_proto(cls, proto):\n        return cls(\n            RunInfo.from_proto(proto.info),\n            RunData.from_proto(proto.data),\n            RunInputs.from_proto(proto.inputs),\n        )\n\n    def to_dictionary(self) -> Dict[Any, Any]:\n        run_dict = {\n            \"info\": dict(self.info),\n        }\n        if self.data:\n            run_dict[\"data\"] = self.data.to_dictionary()\n        if self.inputs:\n            run_dict[\"inputs\"] = self.inputs.to_dictionary()\n        return run_dict\n", "path": "mlflow/entities/run.py"}]}