We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[BUG] sqlite for backend store
### Willingness to contribute

Yes. I would be willing to contribute a fix for this bug with guidance from the MLflow community.

### MLflow version

1.26

### System information

- **OS Platform and Distribution (e.g., Linux Ubuntu 16.04)**: 20.04
- **Python version**: 3.8
- **yarn version, if running the dev UI**:


### Describe the problem

Upgraded from 1.23, setting sqlite as backend store an sqlalchemy.future library error is produced.

A similar issue with this one
https://stackoverflow.com/questions/72341647/mlflow-modulenotfounderror-no-module-named-sqlalchemy-future/72432684#72432684

### Tracking information

mlflow server --backend-store-uri sqlite:///mlflow.sqlite  --default-artifact-root ./mlruns

### Code to reproduce issue

```
mlflow server --backend-store-uri sqlite:///mlflow.sqlite  --default-artifact-root ./mlruns
```

### Other info / logs

```
2022/05/30 13:18:36 ERROR mlflow.cli: Error initializing backend store
2022/05/30 13:18:36 ERROR mlflow.cli: No module named 'sqlalchemy.future'
Traceback (most recent call last):
lib/python3.8/site-packages/mlflow/store/tracking/sqlalchemy_store.py", line 11, in <module>
    from sqlalchemy.future import select
ModuleNotFoundError: No module named 'sqlalchemy.future'
```

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

- [X] `area/artifacts`: Artifact stores and artifact logging
- [ ] `area/build`: Build and test infrastructure for MLflow
- [X] `area/docs`: MLflow documentation pages
- [ ] `area/examples`: Example code
- [X] `area/model-registry`: Model Registry service, APIs, and the fluent client calls for Model Registry
- [ ] `area/models`: MLmodel format, model serialization/deserialization, flavors
- [ ] `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
- [X] `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: `setup.py`
Content:
```
1 import os
2 import logging
3 import distutils
4 
5 from importlib.machinery import SourceFileLoader
6 from setuptools import setup, find_packages
7 
8 _MLFLOW_SKINNY_ENV_VAR = "MLFLOW_SKINNY"
9 
10 version = (
11     SourceFileLoader("mlflow.version", os.path.join("mlflow", "version.py")).load_module().VERSION
12 )
13 
14 
15 # Get a list of all files in the JS directory to include in our module
16 def package_files(directory):
17     paths = []
18     for (path, _, filenames) in os.walk(directory):
19         for filename in filenames:
20             paths.append(os.path.join("..", path, filename))
21     return paths
22 
23 
24 # Prints out a set of paths (relative to the mlflow/ directory) of files in mlflow/server/js/build
25 # to include in the wheel, e.g. "../mlflow/server/js/build/index.html"
26 js_files = package_files("mlflow/server/js/build")
27 models_container_server_files = package_files("mlflow/models/container")
28 alembic_files = [
29     "../mlflow/store/db_migrations/alembic.ini",
30     "../mlflow/temporary_db_migrations_for_pre_1_users/alembic.ini",
31 ]
32 extra_files = [
33     "ml-package-versions.yml",
34     "pypi_package_index.json",
35     "pyspark/ml/log_model_allowlist.txt",
36 ]
37 
38 """
39 Minimal requirements for the skinny MLflow client which provides a limited
40 subset of functionality such as: RESTful client functionality for Tracking and
41 Model Registry, as well as support for Project execution against local backends
42 and Databricks.
43 """
44 SKINNY_REQUIREMENTS = [
45     "click>=7.0",
46     "cloudpickle",
47     "databricks-cli>=0.8.7",
48     "entrypoints",
49     "gitpython>=2.1.0",
50     "pyyaml>=5.1",
51     "protobuf>=3.12.0",
52     "pytz",
53     "requests>=2.17.3",
54     "packaging",
55     # Automated dependency detection in MLflow Models relies on
56     # `importlib_metadata.packages_distributions` to resolve a module name to its package name
57     # (e.g. 'sklearn' -> 'scikit-learn'). importlib_metadata 3.7.0 or newer supports this function:
58     # https://github.com/python/importlib_metadata/blob/main/CHANGES.rst#v370
59     "importlib_metadata>=3.7.0,!=4.7.0",
60 ]
61 
62 """
63 These are the core requirements for the complete MLflow platform, which augments
64 the skinny client functionality with support for running the MLflow Tracking
65 Server & UI. It also adds project backends such as Docker and Kubernetes among
66 other capabilities.
67 """
68 CORE_REQUIREMENTS = SKINNY_REQUIREMENTS + [
69     "alembic",
70     # Required
71     "docker>=4.0.0",
72     "Flask",
73     "gunicorn; platform_system != 'Windows'",
74     "numpy",
75     "scipy",
76     "pandas",
77     "prometheus-flask-exporter",
78     "querystring_parser",
79     # Pin sqlparse for: https://github.com/mlflow/mlflow/issues/3433
80     "sqlparse>=0.3.1",
81     # Required to run the MLflow server against SQL-backed storage
82     "sqlalchemy",
83     "waitress; platform_system == 'Windows'",
84 ]
85 
86 _is_mlflow_skinny = bool(os.environ.get(_MLFLOW_SKINNY_ENV_VAR))
87 logging.debug("{} env var is set: {}".format(_MLFLOW_SKINNY_ENV_VAR, _is_mlflow_skinny))
88 
89 
90 class ListDependencies(distutils.cmd.Command):
91     # `python setup.py <command name>` prints out "running <command name>" by default.
92     # This logging message must be hidden by specifying `--quiet` (or `-q`) when piping the output
93     # of this command to `pip install`.
94     description = "List mlflow dependencies"
95     user_options = [
96         ("skinny", None, "List mlflow-skinny dependencies"),
97     ]
98 
99     def initialize_options(self):
100         self.skinny = False
101 
102     def finalize_options(self):
103         pass
104 
105     def run(self):
106         dependencies = SKINNY_REQUIREMENTS if self.skinny else CORE_REQUIREMENTS
107         print("\n".join(dependencies))
108 
109 
110 MINIMUM_SUPPORTED_PYTHON_VERSION = "3.7"
111 
112 
113 class MinPythonVersion(distutils.cmd.Command):
114     description = "Print out the minimum supported Python version"
115     user_options = []
116 
117     def initialize_options(self):
118         pass
119 
120     def finalize_options(self):
121         pass
122 
123     def run(self):
124         print(MINIMUM_SUPPORTED_PYTHON_VERSION)
125 
126 
127 setup(
128     name="mlflow" if not _is_mlflow_skinny else "mlflow-skinny",
129     version=version,
130     packages=find_packages(exclude=["tests", "tests.*"]),
131     package_data={"mlflow": js_files + models_container_server_files + alembic_files + extra_files}
132     if not _is_mlflow_skinny
133     # include alembic files to enable usage of the skinny client with SQL databases
134     # if users install sqlalchemy, alembic, and sqlparse independently
135     else {"mlflow": alembic_files + extra_files},
136     install_requires=CORE_REQUIREMENTS if not _is_mlflow_skinny else SKINNY_REQUIREMENTS,
137     extras_require={
138         "extras": [
139             "scikit-learn",
140             # Required to log artifacts and models to HDFS artifact locations
141             "pyarrow",
142             # Required to log artifacts and models to AWS S3 artifact locations
143             "boto3",
144             # Required to log artifacts and models to GCS artifact locations
145             "google-cloud-storage>=1.30.0",
146             "azureml-core>=1.2.0",
147             # Required to log artifacts to SFTP artifact locations
148             "pysftp",
149             # Required by the mlflow.projects module, when running projects against
150             # a remote Kubernetes cluster
151             "kubernetes",
152             # Required to serve models through MLServer
153             "mlserver>=0.5.3",
154             "mlserver-mlflow>=0.5.3",
155             "virtualenv",
156         ],
157         "sqlserver": ["mlflow-dbstore"],
158         "aliyun-oss": ["aliyunstoreplugin"],
159     },
160     entry_points="""
161         [console_scripts]
162         mlflow=mlflow.cli:cli
163     """,
164     cmdclass={
165         "dependencies": ListDependencies,
166         "min_python_version": MinPythonVersion,
167     },
168     zip_safe=False,
169     author="Databricks",
170     description="MLflow: A Platform for ML Development and Productionization",
171     long_description=open("README.rst").read()
172     if not _is_mlflow_skinny
173     else open("README_SKINNY.rst").read() + open("README.rst").read(),
174     long_description_content_type="text/x-rst",
175     license="Apache License 2.0",
176     classifiers=[
177         "Intended Audience :: Developers",
178         f"Programming Language :: Python :: {MINIMUM_SUPPORTED_PYTHON_VERSION}",
179     ],
180     keywords="ml ai databricks",
181     url="https://mlflow.org/",
182     python_requires=f">={MINIMUM_SUPPORTED_PYTHON_VERSION}",
183     project_urls={
184         "Bug Tracker": "https://github.com/mlflow/mlflow/issues",
185         "Documentation": "https://mlflow.org/docs/latest/index.html",
186         "Source Code": "https://github.com/mlflow/mlflow",
187     },
188 )
189
```
--- 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/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -79,7 +79,7 @@
     # Pin sqlparse for: https://github.com/mlflow/mlflow/issues/3433
     "sqlparse>=0.3.1",
     # Required to run the MLflow server against SQL-backed storage
-    "sqlalchemy",
+    "sqlalchemy>=1.4.0",
     "waitress; platform_system == 'Windows'",
 ]

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -79,7 +79,7 @@\n     # Pin sqlparse for: https://github.com/mlflow/mlflow/issues/3433\n     \"sqlparse>=0.3.1\",\n     # Required to run the MLflow server against SQL-backed storage\n-    \"sqlalchemy\",\n+    \"sqlalchemy>=1.4.0\",\n     \"waitress; platform_system == 'Windows'\",\n ]\n", "issue": "[BUG] sqlite for backend store\n### Willingness to contribute\n\nYes. I would be willing to contribute a fix for this bug with guidance from the MLflow community.\n\n### MLflow version\n\n1.26\n\n### System information\n\n- **OS Platform and Distribution (e.g., Linux Ubuntu 16.04)**: 20.04\r\n- **Python version**: 3.8\r\n- **yarn version, if running the dev UI**:\r\n\n\n### Describe the problem\n\nUpgraded from 1.23, setting sqlite as backend store an sqlalchemy.future library error is produced.\r\n\r\nA similar issue with this one\r\nhttps://stackoverflow.com/questions/72341647/mlflow-modulenotfounderror-no-module-named-sqlalchemy-future/72432684#72432684\n\n### Tracking information\n\nmlflow server --backend-store-uri sqlite:///mlflow.sqlite  --default-artifact-root ./mlruns\n\n### Code to reproduce issue\n\n```\r\nmlflow server --backend-store-uri sqlite:///mlflow.sqlite  --default-artifact-root ./mlruns\r\n```\n\n### Other info / logs\n\n```\r\n2022/05/30 13:18:36 ERROR mlflow.cli: Error initializing backend store\r\n2022/05/30 13:18:36 ERROR mlflow.cli: No module named 'sqlalchemy.future'\r\nTraceback (most recent call last):\r\nlib/python3.8/site-packages/mlflow/store/tracking/sqlalchemy_store.py\", line 11, in <module>\r\n    from sqlalchemy.future import select\r\nModuleNotFoundError: No module named 'sqlalchemy.future'\r\n```\n\n### What component(s) does this bug affect?\n\n- [X] `area/artifacts`: Artifact stores and artifact logging\n- [ ] `area/build`: Build and test infrastructure for MLflow\n- [X] `area/docs`: MLflow documentation pages\n- [ ] `area/examples`: Example code\n- [X] `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/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- [X] `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": "import os\nimport logging\nimport distutils\n\nfrom importlib.machinery import SourceFileLoader\nfrom setuptools import setup, find_packages\n\n_MLFLOW_SKINNY_ENV_VAR = \"MLFLOW_SKINNY\"\n\nversion = (\n    SourceFileLoader(\"mlflow.version\", os.path.join(\"mlflow\", \"version.py\")).load_module().VERSION\n)\n\n\n# Get a list of all files in the JS directory to include in our module\ndef package_files(directory):\n    paths = []\n    for (path, _, filenames) in os.walk(directory):\n        for filename in filenames:\n            paths.append(os.path.join(\"..\", path, filename))\n    return paths\n\n\n# Prints out a set of paths (relative to the mlflow/ directory) of files in mlflow/server/js/build\n# to include in the wheel, e.g. \"../mlflow/server/js/build/index.html\"\njs_files = package_files(\"mlflow/server/js/build\")\nmodels_container_server_files = package_files(\"mlflow/models/container\")\nalembic_files = [\n    \"../mlflow/store/db_migrations/alembic.ini\",\n    \"../mlflow/temporary_db_migrations_for_pre_1_users/alembic.ini\",\n]\nextra_files = [\n    \"ml-package-versions.yml\",\n    \"pypi_package_index.json\",\n    \"pyspark/ml/log_model_allowlist.txt\",\n]\n\n\"\"\"\nMinimal requirements for the skinny MLflow client which provides a limited\nsubset of functionality such as: RESTful client functionality for Tracking and\nModel Registry, as well as support for Project execution against local backends\nand Databricks.\n\"\"\"\nSKINNY_REQUIREMENTS = [\n    \"click>=7.0\",\n    \"cloudpickle\",\n    \"databricks-cli>=0.8.7\",\n    \"entrypoints\",\n    \"gitpython>=2.1.0\",\n    \"pyyaml>=5.1\",\n    \"protobuf>=3.12.0\",\n    \"pytz\",\n    \"requests>=2.17.3\",\n    \"packaging\",\n    # Automated dependency detection in MLflow Models relies on\n    # `importlib_metadata.packages_distributions` to resolve a module name to its package name\n    # (e.g. 'sklearn' -> 'scikit-learn'). importlib_metadata 3.7.0 or newer supports this function:\n    # https://github.com/python/importlib_metadata/blob/main/CHANGES.rst#v370\n    \"importlib_metadata>=3.7.0,!=4.7.0\",\n]\n\n\"\"\"\nThese are the core requirements for the complete MLflow platform, which augments\nthe skinny client functionality with support for running the MLflow Tracking\nServer & UI. It also adds project backends such as Docker and Kubernetes among\nother capabilities.\n\"\"\"\nCORE_REQUIREMENTS = SKINNY_REQUIREMENTS + [\n    \"alembic\",\n    # Required\n    \"docker>=4.0.0\",\n    \"Flask\",\n    \"gunicorn; platform_system != 'Windows'\",\n    \"numpy\",\n    \"scipy\",\n    \"pandas\",\n    \"prometheus-flask-exporter\",\n    \"querystring_parser\",\n    # Pin sqlparse for: https://github.com/mlflow/mlflow/issues/3433\n    \"sqlparse>=0.3.1\",\n    # Required to run the MLflow server against SQL-backed storage\n    \"sqlalchemy\",\n    \"waitress; platform_system == 'Windows'\",\n]\n\n_is_mlflow_skinny = bool(os.environ.get(_MLFLOW_SKINNY_ENV_VAR))\nlogging.debug(\"{} env var is set: {}\".format(_MLFLOW_SKINNY_ENV_VAR, _is_mlflow_skinny))\n\n\nclass ListDependencies(distutils.cmd.Command):\n    # `python setup.py <command name>` prints out \"running <command name>\" by default.\n    # This logging message must be hidden by specifying `--quiet` (or `-q`) when piping the output\n    # of this command to `pip install`.\n    description = \"List mlflow dependencies\"\n    user_options = [\n        (\"skinny\", None, \"List mlflow-skinny dependencies\"),\n    ]\n\n    def initialize_options(self):\n        self.skinny = False\n\n    def finalize_options(self):\n        pass\n\n    def run(self):\n        dependencies = SKINNY_REQUIREMENTS if self.skinny else CORE_REQUIREMENTS\n        print(\"\\n\".join(dependencies))\n\n\nMINIMUM_SUPPORTED_PYTHON_VERSION = \"3.7\"\n\n\nclass MinPythonVersion(distutils.cmd.Command):\n    description = \"Print out the minimum supported Python version\"\n    user_options = []\n\n    def initialize_options(self):\n        pass\n\n    def finalize_options(self):\n        pass\n\n    def run(self):\n        print(MINIMUM_SUPPORTED_PYTHON_VERSION)\n\n\nsetup(\n    name=\"mlflow\" if not _is_mlflow_skinny else \"mlflow-skinny\",\n    version=version,\n    packages=find_packages(exclude=[\"tests\", \"tests.*\"]),\n    package_data={\"mlflow\": js_files + models_container_server_files + alembic_files + extra_files}\n    if not _is_mlflow_skinny\n    # include alembic files to enable usage of the skinny client with SQL databases\n    # if users install sqlalchemy, alembic, and sqlparse independently\n    else {\"mlflow\": alembic_files + extra_files},\n    install_requires=CORE_REQUIREMENTS if not _is_mlflow_skinny else SKINNY_REQUIREMENTS,\n    extras_require={\n        \"extras\": [\n            \"scikit-learn\",\n            # Required to log artifacts and models to HDFS artifact locations\n            \"pyarrow\",\n            # Required to log artifacts and models to AWS S3 artifact locations\n            \"boto3\",\n            # Required to log artifacts and models to GCS artifact locations\n            \"google-cloud-storage>=1.30.0\",\n            \"azureml-core>=1.2.0\",\n            # Required to log artifacts to SFTP artifact locations\n            \"pysftp\",\n            # Required by the mlflow.projects module, when running projects against\n            # a remote Kubernetes cluster\n            \"kubernetes\",\n            # Required to serve models through MLServer\n            \"mlserver>=0.5.3\",\n            \"mlserver-mlflow>=0.5.3\",\n            \"virtualenv\",\n        ],\n        \"sqlserver\": [\"mlflow-dbstore\"],\n        \"aliyun-oss\": [\"aliyunstoreplugin\"],\n    },\n    entry_points=\"\"\"\n        [console_scripts]\n        mlflow=mlflow.cli:cli\n    \"\"\",\n    cmdclass={\n        \"dependencies\": ListDependencies,\n        \"min_python_version\": MinPythonVersion,\n    },\n    zip_safe=False,\n    author=\"Databricks\",\n    description=\"MLflow: A Platform for ML Development and Productionization\",\n    long_description=open(\"README.rst\").read()\n    if not _is_mlflow_skinny\n    else open(\"README_SKINNY.rst\").read() + open(\"README.rst\").read(),\n    long_description_content_type=\"text/x-rst\",\n    license=\"Apache License 2.0\",\n    classifiers=[\n        \"Intended Audience :: Developers\",\n        f\"Programming Language :: Python :: {MINIMUM_SUPPORTED_PYTHON_VERSION}\",\n    ],\n    keywords=\"ml ai databricks\",\n    url=\"https://mlflow.org/\",\n    python_requires=f\">={MINIMUM_SUPPORTED_PYTHON_VERSION}\",\n    project_urls={\n        \"Bug Tracker\": \"https://github.com/mlflow/mlflow/issues\",\n        \"Documentation\": \"https://mlflow.org/docs/latest/index.html\",\n        \"Source Code\": \"https://github.com/mlflow/mlflow\",\n    },\n)\n", "path": "setup.py"}], "after_files": [{"content": "import os\nimport logging\nimport distutils\n\nfrom importlib.machinery import SourceFileLoader\nfrom setuptools import setup, find_packages\n\n_MLFLOW_SKINNY_ENV_VAR = \"MLFLOW_SKINNY\"\n\nversion = (\n    SourceFileLoader(\"mlflow.version\", os.path.join(\"mlflow\", \"version.py\")).load_module().VERSION\n)\n\n\n# Get a list of all files in the JS directory to include in our module\ndef package_files(directory):\n    paths = []\n    for (path, _, filenames) in os.walk(directory):\n        for filename in filenames:\n            paths.append(os.path.join(\"..\", path, filename))\n    return paths\n\n\n# Prints out a set of paths (relative to the mlflow/ directory) of files in mlflow/server/js/build\n# to include in the wheel, e.g. \"../mlflow/server/js/build/index.html\"\njs_files = package_files(\"mlflow/server/js/build\")\nmodels_container_server_files = package_files(\"mlflow/models/container\")\nalembic_files = [\n    \"../mlflow/store/db_migrations/alembic.ini\",\n    \"../mlflow/temporary_db_migrations_for_pre_1_users/alembic.ini\",\n]\nextra_files = [\n    \"ml-package-versions.yml\",\n    \"pypi_package_index.json\",\n    \"pyspark/ml/log_model_allowlist.txt\",\n]\n\n\"\"\"\nMinimal requirements for the skinny MLflow client which provides a limited\nsubset of functionality such as: RESTful client functionality for Tracking and\nModel Registry, as well as support for Project execution against local backends\nand Databricks.\n\"\"\"\nSKINNY_REQUIREMENTS = [\n    \"click>=7.0\",\n    \"cloudpickle\",\n    \"databricks-cli>=0.8.7\",\n    \"entrypoints\",\n    \"gitpython>=2.1.0\",\n    \"pyyaml>=5.1\",\n    \"protobuf>=3.12.0\",\n    \"pytz\",\n    \"requests>=2.17.3\",\n    \"packaging\",\n    # Automated dependency detection in MLflow Models relies on\n    # `importlib_metadata.packages_distributions` to resolve a module name to its package name\n    # (e.g. 'sklearn' -> 'scikit-learn'). importlib_metadata 3.7.0 or newer supports this function:\n    # https://github.com/python/importlib_metadata/blob/main/CHANGES.rst#v370\n    \"importlib_metadata>=3.7.0,!=4.7.0\",\n]\n\n\"\"\"\nThese are the core requirements for the complete MLflow platform, which augments\nthe skinny client functionality with support for running the MLflow Tracking\nServer & UI. It also adds project backends such as Docker and Kubernetes among\nother capabilities.\n\"\"\"\nCORE_REQUIREMENTS = SKINNY_REQUIREMENTS + [\n    \"alembic\",\n    # Required\n    \"docker>=4.0.0\",\n    \"Flask\",\n    \"gunicorn; platform_system != 'Windows'\",\n    \"numpy\",\n    \"scipy\",\n    \"pandas\",\n    \"prometheus-flask-exporter\",\n    \"querystring_parser\",\n    # Pin sqlparse for: https://github.com/mlflow/mlflow/issues/3433\n    \"sqlparse>=0.3.1\",\n    # Required to run the MLflow server against SQL-backed storage\n    \"sqlalchemy>=1.4.0\",\n    \"waitress; platform_system == 'Windows'\",\n]\n\n_is_mlflow_skinny = bool(os.environ.get(_MLFLOW_SKINNY_ENV_VAR))\nlogging.debug(\"{} env var is set: {}\".format(_MLFLOW_SKINNY_ENV_VAR, _is_mlflow_skinny))\n\n\nclass ListDependencies(distutils.cmd.Command):\n    # `python setup.py <command name>` prints out \"running <command name>\" by default.\n    # This logging message must be hidden by specifying `--quiet` (or `-q`) when piping the output\n    # of this command to `pip install`.\n    description = \"List mlflow dependencies\"\n    user_options = [\n        (\"skinny\", None, \"List mlflow-skinny dependencies\"),\n    ]\n\n    def initialize_options(self):\n        self.skinny = False\n\n    def finalize_options(self):\n        pass\n\n    def run(self):\n        dependencies = SKINNY_REQUIREMENTS if self.skinny else CORE_REQUIREMENTS\n        print(\"\\n\".join(dependencies))\n\n\nMINIMUM_SUPPORTED_PYTHON_VERSION = \"3.7\"\n\n\nclass MinPythonVersion(distutils.cmd.Command):\n    description = \"Print out the minimum supported Python version\"\n    user_options = []\n\n    def initialize_options(self):\n        pass\n\n    def finalize_options(self):\n        pass\n\n    def run(self):\n        print(MINIMUM_SUPPORTED_PYTHON_VERSION)\n\n\nsetup(\n    name=\"mlflow\" if not _is_mlflow_skinny else \"mlflow-skinny\",\n    version=version,\n    packages=find_packages(exclude=[\"tests\", \"tests.*\"]),\n    package_data={\"mlflow\": js_files + models_container_server_files + alembic_files + extra_files}\n    if not _is_mlflow_skinny\n    # include alembic files to enable usage of the skinny client with SQL databases\n    # if users install sqlalchemy, alembic, and sqlparse independently\n    else {\"mlflow\": alembic_files + extra_files},\n    install_requires=CORE_REQUIREMENTS if not _is_mlflow_skinny else SKINNY_REQUIREMENTS,\n    extras_require={\n        \"extras\": [\n            \"scikit-learn\",\n            # Required to log artifacts and models to HDFS artifact locations\n            \"pyarrow\",\n            # Required to log artifacts and models to AWS S3 artifact locations\n            \"boto3\",\n            # Required to log artifacts and models to GCS artifact locations\n            \"google-cloud-storage>=1.30.0\",\n            \"azureml-core>=1.2.0\",\n            # Required to log artifacts to SFTP artifact locations\n            \"pysftp\",\n            # Required by the mlflow.projects module, when running projects against\n            # a remote Kubernetes cluster\n            \"kubernetes\",\n            # Required to serve models through MLServer\n            \"mlserver>=0.5.3\",\n            \"mlserver-mlflow>=0.5.3\",\n            \"virtualenv\",\n        ],\n        \"sqlserver\": [\"mlflow-dbstore\"],\n        \"aliyun-oss\": [\"aliyunstoreplugin\"],\n    },\n    entry_points=\"\"\"\n        [console_scripts]\n        mlflow=mlflow.cli:cli\n    \"\"\",\n    cmdclass={\n        \"dependencies\": ListDependencies,\n        \"min_python_version\": MinPythonVersion,\n    },\n    zip_safe=False,\n    author=\"Databricks\",\n    description=\"MLflow: A Platform for ML Development and Productionization\",\n    long_description=open(\"README.rst\").read()\n    if not _is_mlflow_skinny\n    else open(\"README_SKINNY.rst\").read() + open(\"README.rst\").read(),\n    long_description_content_type=\"text/x-rst\",\n    license=\"Apache License 2.0\",\n    classifiers=[\n        \"Intended Audience :: Developers\",\n        f\"Programming Language :: Python :: {MINIMUM_SUPPORTED_PYTHON_VERSION}\",\n    ],\n    keywords=\"ml ai databricks\",\n    url=\"https://mlflow.org/\",\n    python_requires=f\">={MINIMUM_SUPPORTED_PYTHON_VERSION}\",\n    project_urls={\n        \"Bug Tracker\": \"https://github.com/mlflow/mlflow/issues\",\n        \"Documentation\": \"https://mlflow.org/docs/latest/index.html\",\n        \"Source Code\": \"https://github.com/mlflow/mlflow\",\n    },\n)\n", "path": "setup.py"}]}