We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN 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



--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `mlflow/entities/run.py`
Content:
```
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 FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

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

{"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"}], "after_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.RunInputs`\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"}]}