prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Unpin sqlalchemy
  Hi,
  
  Currently mlflow pins sqlalchemy to `<= 1.3.13`. I wanted to use this package on a projects that requires a more updated version of sqlalchemy.
  Would it be possible to unpit sqlalchemy or to change the constraint to disallow specific version of it? (like `!=1.3.14` etc?)
  
  Thanks
  
  </issue>
  <code>
  [start of setup.py]
  1 import os
  2 from importlib.machinery import SourceFileLoader
  3 from setuptools import setup, find_packages
  4 
  5 version = (
  6     SourceFileLoader("mlflow.version", os.path.join("mlflow", "version.py")).load_module().VERSION
  7 )
  8 
  9 
  10 # Get a list of all files in the JS directory to include in our module
  11 def package_files(directory):
  12     paths = []
  13     for (path, _, filenames) in os.walk(directory):
  14         for filename in filenames:
  15             paths.append(os.path.join("..", path, filename))
  16     return paths
  17 
  18 
  19 # Prints out a set of paths (relative to the mlflow/ directory) of files in mlflow/server/js/build
  20 # to include in the wheel, e.g. "../mlflow/server/js/build/index.html"
  21 js_files = package_files("mlflow/server/js/build")
  22 models_container_server_files = package_files("mlflow/models/container")
  23 alembic_files = [
  24     "../mlflow/store/db_migrations/alembic.ini",
  25     "../mlflow/temporary_db_migrations_for_pre_1_users/alembic.ini",
  26 ]
  27 
  28 setup(
  29     name="mlflow",
  30     version=version,
  31     packages=find_packages(exclude=["tests", "tests.*"]),
  32     package_data={"mlflow": js_files + models_container_server_files + alembic_files},
  33     install_requires=[
  34         "alembic<=1.4.1",
  35         # Required
  36         "azure-storage-blob",
  37         "click>=7.0",
  38         "cloudpickle",
  39         "databricks-cli>=0.8.7",
  40         "requests>=2.17.3",
  41         "six>=1.10.0",
  42         'waitress; platform_system == "Windows"',
  43         'gunicorn; platform_system != "Windows"',
  44         "Flask",
  45         "numpy",
  46         "pandas",
  47         "python-dateutil",
  48         "protobuf>=3.6.0",
  49         "gitpython>=2.1.0",
  50         "pyyaml",
  51         "querystring_parser",
  52         "docker>=4.0.0",
  53         "entrypoints",
  54         # Pin sqlparse for: https://github.com/mlflow/mlflow/issues/3433
  55         "sqlparse>=0.3.1",
  56         # Required to run the MLflow server against SQL-backed storage
  57         "sqlalchemy<=1.3.13",
  58         "gorilla",
  59         "prometheus-flask-exporter",
  60     ],
  61     extras_require={
  62         "extras": [
  63             "scikit-learn",
  64             # Required to log artifacts and models to HDFS artifact locations
  65             "pyarrow",
  66             # Required to log artifacts and models to AWS S3 artifact locations
  67             "boto3",
  68             "mleap",
  69             # Required to log artifacts and models to GCS artifact locations
  70             "google-cloud-storage",
  71             "azureml-core>=1.2.0",
  72             # Required to log artifacts to SFTP artifact locations
  73             "pysftp",
  74             # Required by the mlflow.projects module, when running projects against
  75             # a remote Kubernetes cluster
  76             "kubernetes",
  77         ],
  78         "sqlserver": ["mlflow-dbstore",],
  79         "aliyun-oss": ["aliyunstoreplugin",],
  80     },
  81     entry_points="""
  82         [console_scripts]
  83         mlflow=mlflow.cli:cli
  84     """,
  85     zip_safe=False,
  86     author="Databricks",
  87     description="MLflow: A Platform for ML Development and Productionization",
  88     long_description=open("README.rst").read(),
  89     license="Apache License 2.0",
  90     classifiers=["Intended Audience :: Developers", "Programming Language :: Python :: 3.6",],
  91     keywords="ml ai databricks",
  92     url="https://mlflow.org/",
  93     python_requires=">=3.5",
  94     project_urls={
  95         "Bug Tracker": "https://github.com/mlflow/mlflow/issues",
  96         "Documentation": "https://mlflow.org/docs/latest/index.html",
  97         "Source Code": "https://github.com/mlflow/mlflow",
  98     },
  99 )
  100
  [end of setup.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/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -54,7 +54,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<=1.3.13",
  +        "sqlalchemy",
           "gorilla",
           "prometheus-flask-exporter",
       ],
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -54,7 +54,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<=1.3.13\",\n+        \"sqlalchemy\",\n         \"gorilla\",\n         \"prometheus-flask-exporter\",\n     ],\n", "issue": "Unpin sqlalchemy\nHi,\r\n\r\nCurrently mlflow pins sqlalchemy to `<= 1.3.13`. I wanted to use this package on a projects that requires a more updated version of sqlalchemy.\r\nWould it be possible to unpit sqlalchemy or to change the constraint to disallow specific version of it? (like `!=1.3.14` etc?)\r\n\r\nThanks\n", "before_files": [{"content": "import os\nfrom importlib.machinery import SourceFileLoader\nfrom setuptools import setup, find_packages\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]\n\nsetup(\n    name=\"mlflow\",\n    version=version,\n    packages=find_packages(exclude=[\"tests\", \"tests.*\"]),\n    package_data={\"mlflow\": js_files + models_container_server_files + alembic_files},\n    install_requires=[\n        \"alembic<=1.4.1\",\n        # Required\n        \"azure-storage-blob\",\n        \"click>=7.0\",\n        \"cloudpickle\",\n        \"databricks-cli>=0.8.7\",\n        \"requests>=2.17.3\",\n        \"six>=1.10.0\",\n        'waitress; platform_system == \"Windows\"',\n        'gunicorn; platform_system != \"Windows\"',\n        \"Flask\",\n        \"numpy\",\n        \"pandas\",\n        \"python-dateutil\",\n        \"protobuf>=3.6.0\",\n        \"gitpython>=2.1.0\",\n        \"pyyaml\",\n        \"querystring_parser\",\n        \"docker>=4.0.0\",\n        \"entrypoints\",\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.3.13\",\n        \"gorilla\",\n        \"prometheus-flask-exporter\",\n    ],\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            \"mleap\",\n            # Required to log artifacts and models to GCS artifact locations\n            \"google-cloud-storage\",\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        ],\n        \"sqlserver\": [\"mlflow-dbstore\",],\n        \"aliyun-oss\": [\"aliyunstoreplugin\",],\n    },\n    entry_points=\"\"\"\n        [console_scripts]\n        mlflow=mlflow.cli:cli\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    license=\"Apache License 2.0\",\n    classifiers=[\"Intended Audience :: Developers\", \"Programming Language :: Python :: 3.6\",],\n    keywords=\"ml ai databricks\",\n    url=\"https://mlflow.org/\",\n    python_requires=\">=3.5\",\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"}]}