We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[FR] Add MlflowException on the top level
### Willingness to contribute

No. I cannot contribute this feature at this time.

### Proposal Summary

Make `mlflow.exceptions.MlflowException` importable as `mlflow.MlflowException`.

### Motivation

> #### What is the use case for this feature?

Make it easier for users to catch MLflow errors.

> #### Why is this use case valuable to support for MLflow users in general?

^

> #### Why is this use case valuable to support for your project(s) or organization?

^

> #### Why is it currently difficult to achieve this use case?

The `mlflow.exceptions` module is not documented, so it's difficult for users to find out how to import and catch `MlflowException`.

### Details

_No response_

### What component(s) does this bug affect?

- [ ] `area/artifacts`: Artifact stores and artifact logging
- [ ] `area/build`: Build and test infrastructure for MLflow
- [ ] `area/docs`: MLflow documentation pages
- [ ] `area/examples`: Example code
- [ ] `area/model-registry`: Model Registry service, APIs, and the fluent client calls for Model Registry
- [ ] `area/models`: MLmodel format, model serialization/deserialization, flavors
- [ ] `area/pipelines`: Pipelines, Pipeline APIs, Pipeline configs, Pipeline Templates
- [ ] `area/projects`: MLproject format, project running backends
- [ ] `area/scoring`: MLflow Model server, model deployment tools, Spark UDFs
- [ ] `area/server-infra`: MLflow Tracking server backend
- [X] `area/tracking`: Tracking Service, tracking client APIs, autologging

### What interface(s) does this bug affect?

- [ ] `area/uiux`: Front-end, user experience, plotting, JavaScript, JavaScript dev server
- [ ] `area/docker`: Docker use across MLflow's components, such as MLflow Projects and MLflow Models
- [ ] `area/sqlalchemy`: Use of SQLAlchemy in the Tracking Service or Model Registry
- [ ] `area/windows`: Windows support

### What language(s) does this bug affect?

- [ ] `language/r`: R APIs and clients
- [ ] `language/java`: Java APIs and clients
- [ ] `language/new`: Proposals for new client languages

### What integration(s) does this bug affect?

- [ ] `integrations/azure`: Azure and Azure ML integrations
- [ ] `integrations/sagemaker`: SageMaker integrations
- [ ] `integrations/databricks`: Databricks integrations

--- 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/__init__.py`
Content:
```
1 # pylint: disable=wrong-import-position
2 """
3 The ``mlflow`` module provides a high-level "fluent" API for starting and managing MLflow runs.
4 For example:
5 
6 .. code:: python
7 
8     import mlflow
9 
10     mlflow.start_run()
11     mlflow.log_param("my", "param")
12     mlflow.log_metric("score", 100)
13     mlflow.end_run()
14 
15 You can also use the context manager syntax like this:
16 
17 .. code:: python
18 
19     with mlflow.start_run() as run:
20         mlflow.log_param("my", "param")
21         mlflow.log_metric("score", 100)
22 
23 which automatically terminates the run at the end of the ``with`` block.
24 
25 The fluent tracking API is not currently threadsafe. Any concurrent callers to the tracking API must
26 implement mutual exclusion manually.
27 
28 For a lower level API, see the :py:mod:`mlflow.client` module.
29 """
30 from mlflow.version import VERSION as __version__  # pylint: disable=unused-import
31 from mlflow.utils.logging_utils import _configure_mlflow_loggers
32 import mlflow.tracking._model_registry.fluent
33 import mlflow.tracking.fluent
34 
35 # Filter annoying Cython warnings that serve no good purpose, and so before
36 # importing other modules.
37 # See: https://github.com/numpy/numpy/pull/432/commits/170ed4e33d6196d7
38 import warnings
39 
40 warnings.filterwarnings("ignore", message="numpy.dtype size changed")
41 warnings.filterwarnings("ignore", message="numpy.ufunc size changed")
42 
43 from mlflow import projects
44 from mlflow import tracking
45 import mlflow.models
46 import mlflow.artifacts
47 import mlflow.pipelines
48 import mlflow.client
49 
50 # model flavors
51 _model_flavors_supported = []
52 try:
53     # pylint: disable=unused-import
54     from mlflow import catboost
55     from mlflow import fastai
56     from mlflow import gluon
57     from mlflow import h2o
58     from mlflow import keras
59     from mlflow import lightgbm
60     from mlflow import mleap
61     from mlflow import onnx
62     from mlflow import pyfunc
63     from mlflow import pytorch
64     from mlflow import sklearn
65     from mlflow import spacy
66     from mlflow import spark
67     from mlflow import statsmodels
68     from mlflow import tensorflow
69     from mlflow import xgboost
70     from mlflow import shap
71     from mlflow import pyspark
72     from mlflow import paddle
73     from mlflow import prophet
74     from mlflow import pmdarima
75     from mlflow import diviner
76 
77     _model_flavors_supported = [
78         "catboost",
79         "fastai",
80         "gluon",
81         "h2o",
82         "keras",
83         "lightgbm",
84         "mleap",
85         "onnx",
86         "pyfunc",
87         "pytorch",
88         "sklearn",
89         "spacy",
90         "spark",
91         "statsmodels",
92         "tensorflow",
93         "xgboost",
94         "shap",
95         "paddle",
96         "prophet",
97         "pmdarima",
98         "diviner",
99     ]
100 except ImportError as e:
101     # We are conditional loading these commands since the skinny client does
102     # not support them due to the pandas and numpy dependencies of MLflow Models
103     pass
104 
105 
106 _configure_mlflow_loggers(root_module_name=__name__)
107 
108 # TODO: Comment out this block when we deprecate support for python 3.7.
109 # _major = 3
110 # _minor = 7
111 # _deprecated_version = (_major, _minor)
112 # _min_supported_version = (_major, _minor + 1)
113 
114 # if sys.version_info[:2] == _deprecated_version:
115 #     warnings.warn(
116 #         "MLflow support for Python {dep_ver} is deprecated and will be dropped in "
117 #         "an upcoming release. At that point, existing Python {dep_ver} workflows "
118 #         "that use MLflow will continue to work without modification, but Python {dep_ver} "
119 #         "users will no longer get access to the latest MLflow features and bugfixes. "
120 #         "We recommend that you upgrade to Python {min_ver} or newer.".format(
121 #             dep_ver=".".join(map(str, _deprecated_version)),
122 #             min_ver=".".join(map(str, _min_supported_version)),
123 #         ),
124 #         FutureWarning,
125 #         stacklevel=2,
126 #     )
127 
128 ActiveRun = mlflow.tracking.fluent.ActiveRun
129 log_param = mlflow.tracking.fluent.log_param
130 log_metric = mlflow.tracking.fluent.log_metric
131 set_tag = mlflow.tracking.fluent.set_tag
132 delete_tag = mlflow.tracking.fluent.delete_tag
133 log_artifacts = mlflow.tracking.fluent.log_artifacts
134 log_artifact = mlflow.tracking.fluent.log_artifact
135 log_text = mlflow.tracking.fluent.log_text
136 log_dict = mlflow.tracking.fluent.log_dict
137 log_image = mlflow.tracking.fluent.log_image
138 log_figure = mlflow.tracking.fluent.log_figure
139 active_run = mlflow.tracking.fluent.active_run
140 get_run = mlflow.tracking.fluent.get_run
141 start_run = mlflow.tracking.fluent.start_run
142 end_run = mlflow.tracking.fluent.end_run
143 search_runs = mlflow.tracking.fluent.search_runs
144 list_run_infos = mlflow.tracking.fluent.list_run_infos
145 get_artifact_uri = mlflow.tracking.fluent.get_artifact_uri
146 set_tracking_uri = tracking.set_tracking_uri
147 set_registry_uri = tracking.set_registry_uri
148 get_experiment = mlflow.tracking.fluent.get_experiment
149 get_experiment_by_name = mlflow.tracking.fluent.get_experiment_by_name
150 list_experiments = mlflow.tracking.fluent.list_experiments
151 search_experiments = mlflow.tracking.fluent.search_experiments
152 get_tracking_uri = tracking.get_tracking_uri
153 get_registry_uri = tracking.get_registry_uri
154 is_tracking_uri_set = tracking.is_tracking_uri_set
155 create_experiment = mlflow.tracking.fluent.create_experiment
156 set_experiment = mlflow.tracking.fluent.set_experiment
157 log_params = mlflow.tracking.fluent.log_params
158 log_metrics = mlflow.tracking.fluent.log_metrics
159 set_experiment_tags = mlflow.tracking.fluent.set_experiment_tags
160 set_experiment_tag = mlflow.tracking.fluent.set_experiment_tag
161 set_tags = mlflow.tracking.fluent.set_tags
162 delete_experiment = mlflow.tracking.fluent.delete_experiment
163 delete_run = mlflow.tracking.fluent.delete_run
164 register_model = mlflow.tracking._model_registry.fluent.register_model
165 autolog = mlflow.tracking.fluent.autolog
166 evaluate = mlflow.models.evaluate
167 last_active_run = mlflow.tracking.fluent.last_active_run
168 MlflowClient = mlflow.client.MlflowClient
169 
170 run = projects.run
171 
172 __all__ = [
173     "ActiveRun",
174     "log_param",
175     "log_params",
176     "log_metric",
177     "log_metrics",
178     "set_experiment_tags",
179     "set_experiment_tag",
180     "set_tag",
181     "set_tags",
182     "delete_tag",
183     "log_artifacts",
184     "log_artifact",
185     "log_text",
186     "log_dict",
187     "log_figure",
188     "log_image",
189     "active_run",
190     "start_run",
191     "end_run",
192     "search_runs",
193     "get_artifact_uri",
194     "get_tracking_uri",
195     "set_tracking_uri",
196     "is_tracking_uri_set",
197     "get_experiment",
198     "get_experiment_by_name",
199     "list_experiments",
200     "search_experiments",
201     "create_experiment",
202     "set_experiment",
203     "delete_experiment",
204     "get_run",
205     "delete_run",
206     "run",
207     "register_model",
208     "get_registry_uri",
209     "set_registry_uri",
210     "list_run_infos",
211     "autolog",
212     "evaluate",
213     "last_active_run",
214     "MlflowClient",
215 ] + _model_flavors_supported
216
```
--- 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/__init__.py b/mlflow/__init__.py
--- a/mlflow/__init__.py
+++ b/mlflow/__init__.py
@@ -46,6 +46,8 @@
 import mlflow.artifacts
 import mlflow.pipelines
 import mlflow.client
+import mlflow.exceptions
+
 
 # model flavors
 _model_flavors_supported = []
@@ -166,6 +168,7 @@
 evaluate = mlflow.models.evaluate
 last_active_run = mlflow.tracking.fluent.last_active_run
 MlflowClient = mlflow.client.MlflowClient
+MlflowException = mlflow.exceptions.MlflowException
 
 run = projects.run
 
@@ -212,4 +215,5 @@
     "evaluate",
     "last_active_run",
     "MlflowClient",
+    "MlflowException",
 ] + _model_flavors_supported

{"golden_diff": "diff --git a/mlflow/__init__.py b/mlflow/__init__.py\n--- a/mlflow/__init__.py\n+++ b/mlflow/__init__.py\n@@ -46,6 +46,8 @@\n import mlflow.artifacts\n import mlflow.pipelines\n import mlflow.client\n+import mlflow.exceptions\n+\n \n # model flavors\n _model_flavors_supported = []\n@@ -166,6 +168,7 @@\n evaluate = mlflow.models.evaluate\n last_active_run = mlflow.tracking.fluent.last_active_run\n MlflowClient = mlflow.client.MlflowClient\n+MlflowException = mlflow.exceptions.MlflowException\n \n run = projects.run\n \n@@ -212,4 +215,5 @@\n     \"evaluate\",\n     \"last_active_run\",\n     \"MlflowClient\",\n+    \"MlflowException\",\n ] + _model_flavors_supported\n", "issue": "[FR] Add MlflowException on the top level\n### Willingness to contribute\n\nNo. I cannot contribute this feature at this time.\n\n### Proposal Summary\n\nMake `mlflow.exceptions.MlflowException` importable as `mlflow.MlflowException`.\n\n### Motivation\n\n> #### What is the use case for this feature?\r\n\r\nMake it easier for users to catch MLflow errors.\r\n\r\n> #### Why is this use case valuable to support for MLflow users in general?\r\n\r\n^\r\n\r\n> #### Why is this use case valuable to support for your project(s) or organization?\r\n\r\n^\r\n\r\n> #### Why is it currently difficult to achieve this use case?\r\n\r\nThe `mlflow.exceptions` module is not documented, so it's difficult for users to find out how to import and catch `MlflowException`.\n\n### Details\n\n_No response_\n\n### What component(s) does this bug affect?\n\n- [ ] `area/artifacts`: Artifact stores and artifact logging\n- [ ] `area/build`: Build and test infrastructure for MLflow\n- [ ] `area/docs`: MLflow documentation pages\n- [ ] `area/examples`: Example code\n- [ ] `area/model-registry`: Model Registry service, APIs, and the fluent client calls for Model Registry\n- [ ] `area/models`: MLmodel format, model serialization/deserialization, flavors\n- [ ] `area/pipelines`: Pipelines, Pipeline APIs, Pipeline configs, Pipeline Templates\n- [ ] `area/projects`: MLproject format, project running backends\n- [ ] `area/scoring`: MLflow Model server, model deployment tools, Spark UDFs\n- [ ] `area/server-infra`: MLflow Tracking server backend\n- [X] `area/tracking`: Tracking Service, tracking client APIs, autologging\n\n### What interface(s) does this bug affect?\n\n- [ ] `area/uiux`: Front-end, user experience, plotting, JavaScript, JavaScript dev server\n- [ ] `area/docker`: Docker use across MLflow's components, such as MLflow Projects and MLflow Models\n- [ ] `area/sqlalchemy`: Use of SQLAlchemy in the Tracking Service or Model Registry\n- [ ] `area/windows`: Windows support\n\n### What language(s) does this bug affect?\n\n- [ ] `language/r`: R APIs and clients\n- [ ] `language/java`: Java APIs and clients\n- [ ] `language/new`: Proposals for new client languages\n\n### What integration(s) does this bug affect?\n\n- [ ] `integrations/azure`: Azure and Azure ML integrations\n- [ ] `integrations/sagemaker`: SageMaker integrations\n- [ ] `integrations/databricks`: Databricks integrations\n", "before_files": [{"content": "# pylint: disable=wrong-import-position\n\"\"\"\nThe ``mlflow`` module provides a high-level \"fluent\" API for starting and managing MLflow runs.\nFor example:\n\n.. code:: python\n\n    import mlflow\n\n    mlflow.start_run()\n    mlflow.log_param(\"my\", \"param\")\n    mlflow.log_metric(\"score\", 100)\n    mlflow.end_run()\n\nYou can also use the context manager syntax like this:\n\n.. code:: python\n\n    with mlflow.start_run() as run:\n        mlflow.log_param(\"my\", \"param\")\n        mlflow.log_metric(\"score\", 100)\n\nwhich automatically terminates the run at the end of the ``with`` block.\n\nThe fluent tracking API is not currently threadsafe. Any concurrent callers to the tracking API must\nimplement mutual exclusion manually.\n\nFor a lower level API, see the :py:mod:`mlflow.client` module.\n\"\"\"\nfrom mlflow.version import VERSION as __version__  # pylint: disable=unused-import\nfrom mlflow.utils.logging_utils import _configure_mlflow_loggers\nimport mlflow.tracking._model_registry.fluent\nimport mlflow.tracking.fluent\n\n# Filter annoying Cython warnings that serve no good purpose, and so before\n# importing other modules.\n# See: https://github.com/numpy/numpy/pull/432/commits/170ed4e33d6196d7\nimport warnings\n\nwarnings.filterwarnings(\"ignore\", message=\"numpy.dtype size changed\")\nwarnings.filterwarnings(\"ignore\", message=\"numpy.ufunc size changed\")\n\nfrom mlflow import projects\nfrom mlflow import tracking\nimport mlflow.models\nimport mlflow.artifacts\nimport mlflow.pipelines\nimport mlflow.client\n\n# model flavors\n_model_flavors_supported = []\ntry:\n    # pylint: disable=unused-import\n    from mlflow import catboost\n    from mlflow import fastai\n    from mlflow import gluon\n    from mlflow import h2o\n    from mlflow import keras\n    from mlflow import lightgbm\n    from mlflow import mleap\n    from mlflow import onnx\n    from mlflow import pyfunc\n    from mlflow import pytorch\n    from mlflow import sklearn\n    from mlflow import spacy\n    from mlflow import spark\n    from mlflow import statsmodels\n    from mlflow import tensorflow\n    from mlflow import xgboost\n    from mlflow import shap\n    from mlflow import pyspark\n    from mlflow import paddle\n    from mlflow import prophet\n    from mlflow import pmdarima\n    from mlflow import diviner\n\n    _model_flavors_supported = [\n        \"catboost\",\n        \"fastai\",\n        \"gluon\",\n        \"h2o\",\n        \"keras\",\n        \"lightgbm\",\n        \"mleap\",\n        \"onnx\",\n        \"pyfunc\",\n        \"pytorch\",\n        \"sklearn\",\n        \"spacy\",\n        \"spark\",\n        \"statsmodels\",\n        \"tensorflow\",\n        \"xgboost\",\n        \"shap\",\n        \"paddle\",\n        \"prophet\",\n        \"pmdarima\",\n        \"diviner\",\n    ]\nexcept ImportError as e:\n    # We are conditional loading these commands since the skinny client does\n    # not support them due to the pandas and numpy dependencies of MLflow Models\n    pass\n\n\n_configure_mlflow_loggers(root_module_name=__name__)\n\n# TODO: Comment out this block when we deprecate support for python 3.7.\n# _major = 3\n# _minor = 7\n# _deprecated_version = (_major, _minor)\n# _min_supported_version = (_major, _minor + 1)\n\n# if sys.version_info[:2] == _deprecated_version:\n#     warnings.warn(\n#         \"MLflow support for Python {dep_ver} is deprecated and will be dropped in \"\n#         \"an upcoming release. At that point, existing Python {dep_ver} workflows \"\n#         \"that use MLflow will continue to work without modification, but Python {dep_ver} \"\n#         \"users will no longer get access to the latest MLflow features and bugfixes. \"\n#         \"We recommend that you upgrade to Python {min_ver} or newer.\".format(\n#             dep_ver=\".\".join(map(str, _deprecated_version)),\n#             min_ver=\".\".join(map(str, _min_supported_version)),\n#         ),\n#         FutureWarning,\n#         stacklevel=2,\n#     )\n\nActiveRun = mlflow.tracking.fluent.ActiveRun\nlog_param = mlflow.tracking.fluent.log_param\nlog_metric = mlflow.tracking.fluent.log_metric\nset_tag = mlflow.tracking.fluent.set_tag\ndelete_tag = mlflow.tracking.fluent.delete_tag\nlog_artifacts = mlflow.tracking.fluent.log_artifacts\nlog_artifact = mlflow.tracking.fluent.log_artifact\nlog_text = mlflow.tracking.fluent.log_text\nlog_dict = mlflow.tracking.fluent.log_dict\nlog_image = mlflow.tracking.fluent.log_image\nlog_figure = mlflow.tracking.fluent.log_figure\nactive_run = mlflow.tracking.fluent.active_run\nget_run = mlflow.tracking.fluent.get_run\nstart_run = mlflow.tracking.fluent.start_run\nend_run = mlflow.tracking.fluent.end_run\nsearch_runs = mlflow.tracking.fluent.search_runs\nlist_run_infos = mlflow.tracking.fluent.list_run_infos\nget_artifact_uri = mlflow.tracking.fluent.get_artifact_uri\nset_tracking_uri = tracking.set_tracking_uri\nset_registry_uri = tracking.set_registry_uri\nget_experiment = mlflow.tracking.fluent.get_experiment\nget_experiment_by_name = mlflow.tracking.fluent.get_experiment_by_name\nlist_experiments = mlflow.tracking.fluent.list_experiments\nsearch_experiments = mlflow.tracking.fluent.search_experiments\nget_tracking_uri = tracking.get_tracking_uri\nget_registry_uri = tracking.get_registry_uri\nis_tracking_uri_set = tracking.is_tracking_uri_set\ncreate_experiment = mlflow.tracking.fluent.create_experiment\nset_experiment = mlflow.tracking.fluent.set_experiment\nlog_params = mlflow.tracking.fluent.log_params\nlog_metrics = mlflow.tracking.fluent.log_metrics\nset_experiment_tags = mlflow.tracking.fluent.set_experiment_tags\nset_experiment_tag = mlflow.tracking.fluent.set_experiment_tag\nset_tags = mlflow.tracking.fluent.set_tags\ndelete_experiment = mlflow.tracking.fluent.delete_experiment\ndelete_run = mlflow.tracking.fluent.delete_run\nregister_model = mlflow.tracking._model_registry.fluent.register_model\nautolog = mlflow.tracking.fluent.autolog\nevaluate = mlflow.models.evaluate\nlast_active_run = mlflow.tracking.fluent.last_active_run\nMlflowClient = mlflow.client.MlflowClient\n\nrun = projects.run\n\n__all__ = [\n    \"ActiveRun\",\n    \"log_param\",\n    \"log_params\",\n    \"log_metric\",\n    \"log_metrics\",\n    \"set_experiment_tags\",\n    \"set_experiment_tag\",\n    \"set_tag\",\n    \"set_tags\",\n    \"delete_tag\",\n    \"log_artifacts\",\n    \"log_artifact\",\n    \"log_text\",\n    \"log_dict\",\n    \"log_figure\",\n    \"log_image\",\n    \"active_run\",\n    \"start_run\",\n    \"end_run\",\n    \"search_runs\",\n    \"get_artifact_uri\",\n    \"get_tracking_uri\",\n    \"set_tracking_uri\",\n    \"is_tracking_uri_set\",\n    \"get_experiment\",\n    \"get_experiment_by_name\",\n    \"list_experiments\",\n    \"search_experiments\",\n    \"create_experiment\",\n    \"set_experiment\",\n    \"delete_experiment\",\n    \"get_run\",\n    \"delete_run\",\n    \"run\",\n    \"register_model\",\n    \"get_registry_uri\",\n    \"set_registry_uri\",\n    \"list_run_infos\",\n    \"autolog\",\n    \"evaluate\",\n    \"last_active_run\",\n    \"MlflowClient\",\n] + _model_flavors_supported\n", "path": "mlflow/__init__.py"}], "after_files": [{"content": "# pylint: disable=wrong-import-position\n\"\"\"\nThe ``mlflow`` module provides a high-level \"fluent\" API for starting and managing MLflow runs.\nFor example:\n\n.. code:: python\n\n    import mlflow\n\n    mlflow.start_run()\n    mlflow.log_param(\"my\", \"param\")\n    mlflow.log_metric(\"score\", 100)\n    mlflow.end_run()\n\nYou can also use the context manager syntax like this:\n\n.. code:: python\n\n    with mlflow.start_run() as run:\n        mlflow.log_param(\"my\", \"param\")\n        mlflow.log_metric(\"score\", 100)\n\nwhich automatically terminates the run at the end of the ``with`` block.\n\nThe fluent tracking API is not currently threadsafe. Any concurrent callers to the tracking API must\nimplement mutual exclusion manually.\n\nFor a lower level API, see the :py:mod:`mlflow.client` module.\n\"\"\"\nfrom mlflow.version import VERSION as __version__  # pylint: disable=unused-import\nfrom mlflow.utils.logging_utils import _configure_mlflow_loggers\nimport mlflow.tracking._model_registry.fluent\nimport mlflow.tracking.fluent\n\n# Filter annoying Cython warnings that serve no good purpose, and so before\n# importing other modules.\n# See: https://github.com/numpy/numpy/pull/432/commits/170ed4e33d6196d7\nimport warnings\n\nwarnings.filterwarnings(\"ignore\", message=\"numpy.dtype size changed\")\nwarnings.filterwarnings(\"ignore\", message=\"numpy.ufunc size changed\")\n\nfrom mlflow import projects\nfrom mlflow import tracking\nimport mlflow.models\nimport mlflow.artifacts\nimport mlflow.pipelines\nimport mlflow.client\nimport mlflow.exceptions\n\n\n# model flavors\n_model_flavors_supported = []\ntry:\n    # pylint: disable=unused-import\n    from mlflow import catboost\n    from mlflow import fastai\n    from mlflow import gluon\n    from mlflow import h2o\n    from mlflow import keras\n    from mlflow import lightgbm\n    from mlflow import mleap\n    from mlflow import onnx\n    from mlflow import pyfunc\n    from mlflow import pytorch\n    from mlflow import sklearn\n    from mlflow import spacy\n    from mlflow import spark\n    from mlflow import statsmodels\n    from mlflow import tensorflow\n    from mlflow import xgboost\n    from mlflow import shap\n    from mlflow import pyspark\n    from mlflow import paddle\n    from mlflow import prophet\n    from mlflow import pmdarima\n    from mlflow import diviner\n\n    _model_flavors_supported = [\n        \"catboost\",\n        \"fastai\",\n        \"gluon\",\n        \"h2o\",\n        \"keras\",\n        \"lightgbm\",\n        \"mleap\",\n        \"onnx\",\n        \"pyfunc\",\n        \"pytorch\",\n        \"sklearn\",\n        \"spacy\",\n        \"spark\",\n        \"statsmodels\",\n        \"tensorflow\",\n        \"xgboost\",\n        \"shap\",\n        \"paddle\",\n        \"prophet\",\n        \"pmdarima\",\n        \"diviner\",\n    ]\nexcept ImportError as e:\n    # We are conditional loading these commands since the skinny client does\n    # not support them due to the pandas and numpy dependencies of MLflow Models\n    pass\n\n\n_configure_mlflow_loggers(root_module_name=__name__)\n\n# TODO: Comment out this block when we deprecate support for python 3.7.\n# _major = 3\n# _minor = 7\n# _deprecated_version = (_major, _minor)\n# _min_supported_version = (_major, _minor + 1)\n\n# if sys.version_info[:2] == _deprecated_version:\n#     warnings.warn(\n#         \"MLflow support for Python {dep_ver} is deprecated and will be dropped in \"\n#         \"an upcoming release. At that point, existing Python {dep_ver} workflows \"\n#         \"that use MLflow will continue to work without modification, but Python {dep_ver} \"\n#         \"users will no longer get access to the latest MLflow features and bugfixes. \"\n#         \"We recommend that you upgrade to Python {min_ver} or newer.\".format(\n#             dep_ver=\".\".join(map(str, _deprecated_version)),\n#             min_ver=\".\".join(map(str, _min_supported_version)),\n#         ),\n#         FutureWarning,\n#         stacklevel=2,\n#     )\n\nActiveRun = mlflow.tracking.fluent.ActiveRun\nlog_param = mlflow.tracking.fluent.log_param\nlog_metric = mlflow.tracking.fluent.log_metric\nset_tag = mlflow.tracking.fluent.set_tag\ndelete_tag = mlflow.tracking.fluent.delete_tag\nlog_artifacts = mlflow.tracking.fluent.log_artifacts\nlog_artifact = mlflow.tracking.fluent.log_artifact\nlog_text = mlflow.tracking.fluent.log_text\nlog_dict = mlflow.tracking.fluent.log_dict\nlog_image = mlflow.tracking.fluent.log_image\nlog_figure = mlflow.tracking.fluent.log_figure\nactive_run = mlflow.tracking.fluent.active_run\nget_run = mlflow.tracking.fluent.get_run\nstart_run = mlflow.tracking.fluent.start_run\nend_run = mlflow.tracking.fluent.end_run\nsearch_runs = mlflow.tracking.fluent.search_runs\nlist_run_infos = mlflow.tracking.fluent.list_run_infos\nget_artifact_uri = mlflow.tracking.fluent.get_artifact_uri\nset_tracking_uri = tracking.set_tracking_uri\nset_registry_uri = tracking.set_registry_uri\nget_experiment = mlflow.tracking.fluent.get_experiment\nget_experiment_by_name = mlflow.tracking.fluent.get_experiment_by_name\nlist_experiments = mlflow.tracking.fluent.list_experiments\nsearch_experiments = mlflow.tracking.fluent.search_experiments\nget_tracking_uri = tracking.get_tracking_uri\nget_registry_uri = tracking.get_registry_uri\nis_tracking_uri_set = tracking.is_tracking_uri_set\ncreate_experiment = mlflow.tracking.fluent.create_experiment\nset_experiment = mlflow.tracking.fluent.set_experiment\nlog_params = mlflow.tracking.fluent.log_params\nlog_metrics = mlflow.tracking.fluent.log_metrics\nset_experiment_tags = mlflow.tracking.fluent.set_experiment_tags\nset_experiment_tag = mlflow.tracking.fluent.set_experiment_tag\nset_tags = mlflow.tracking.fluent.set_tags\ndelete_experiment = mlflow.tracking.fluent.delete_experiment\ndelete_run = mlflow.tracking.fluent.delete_run\nregister_model = mlflow.tracking._model_registry.fluent.register_model\nautolog = mlflow.tracking.fluent.autolog\nevaluate = mlflow.models.evaluate\nlast_active_run = mlflow.tracking.fluent.last_active_run\nMlflowClient = mlflow.client.MlflowClient\nMlflowException = mlflow.exceptions.MlflowException\n\nrun = projects.run\n\n__all__ = [\n    \"ActiveRun\",\n    \"log_param\",\n    \"log_params\",\n    \"log_metric\",\n    \"log_metrics\",\n    \"set_experiment_tags\",\n    \"set_experiment_tag\",\n    \"set_tag\",\n    \"set_tags\",\n    \"delete_tag\",\n    \"log_artifacts\",\n    \"log_artifact\",\n    \"log_text\",\n    \"log_dict\",\n    \"log_figure\",\n    \"log_image\",\n    \"active_run\",\n    \"start_run\",\n    \"end_run\",\n    \"search_runs\",\n    \"get_artifact_uri\",\n    \"get_tracking_uri\",\n    \"set_tracking_uri\",\n    \"is_tracking_uri_set\",\n    \"get_experiment\",\n    \"get_experiment_by_name\",\n    \"list_experiments\",\n    \"search_experiments\",\n    \"create_experiment\",\n    \"set_experiment\",\n    \"delete_experiment\",\n    \"get_run\",\n    \"delete_run\",\n    \"run\",\n    \"register_model\",\n    \"get_registry_uri\",\n    \"set_registry_uri\",\n    \"list_run_infos\",\n    \"autolog\",\n    \"evaluate\",\n    \"last_active_run\",\n    \"MlflowClient\",\n    \"MlflowException\",\n] + _model_flavors_supported\n", "path": "mlflow/__init__.py"}]}