prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Docs build is failing
  Since the black formatter merge the RTD builds are failing with some weird pip error:
  
  https://readthedocs.org/projects/cirq/builds/
  
  Need to look into it and resolve it if the error is on our end or report it to the RTD team if it's on their end.
  
  </issue>
  <code>
  [start of setup.py]
  1 # Copyright 2018 The Cirq Developers
  2 #
  3 # Licensed under the Apache License, Version 2.0 (the "License");
  4 # you may not use this file except in compliance with the License.
  5 # You may obtain a copy of the License at
  6 #
  7 #     https://www.apache.org/licenses/LICENSE-2.0
  8 #
  9 # Unless required by applicable law or agreed to in writing, software
  10 # distributed under the License is distributed on an "AS IS" BASIS,
  11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12 # See the License for the specific language governing permissions and
  13 # limitations under the License.
  14 
  15 import io
  16 import os
  17 from setuptools import find_packages, setup
  18 
  19 # This reads the __version__ variable from cirq/_version.py
  20 __version__ = ''
  21 exec(open('cirq/_version.py').read())
  22 
  23 name = 'cirq'
  24 
  25 description = (
  26     'A framework for creating, editing, and invoking '
  27     'Noisy Intermediate Scale Quantum (NISQ) circuits.'
  28 )
  29 
  30 # README file as long_description.
  31 long_description = io.open('README.rst', encoding='utf-8').read()
  32 
  33 # If CIRQ_PRE_RELEASE_VERSION is set then we update the version to this value.
  34 # It is assumed that it ends with one of `.devN`, `.aN`, `.bN`, `.rcN` and hence
  35 # it will be a pre-release version on PyPi. See
  36 # https://packaging.python.org/guides/distributing-packages-using-setuptools/#pre-release-versioning
  37 # for more details.
  38 if 'CIRQ_PRE_RELEASE_VERSION' in os.environ:
  39     __version__ = os.environ['CIRQ_PRE_RELEASE_VERSION']
  40     long_description = (
  41         "**This is a development version of Cirq and may be "
  42         "unstable.**\n\n**For the latest stable release of Cirq "
  43         "see**\n`here <https://pypi.org/project/cirq>`__.\n\n" + long_description
  44     )
  45 
  46 # Read in requirements
  47 requirements = open('requirements.txt').readlines()
  48 requirements = [r.strip() for r in requirements]
  49 contrib_requirements = open('cirq/contrib/contrib-requirements.txt').readlines()
  50 contrib_requirements = [r.strip() for r in contrib_requirements]
  51 dev_requirements = open('dev_tools/conf/pip-list-dev-tools.txt').readlines()
  52 dev_requirements = [r.strip() for r in dev_requirements]
  53 
  54 cirq_packages = ['cirq'] + ['cirq.' + package for package in find_packages(where='cirq')]
  55 
  56 # Sanity check
  57 assert __version__, 'Version string cannot be empty'
  58 
  59 setup(
  60     name=name,
  61     version=__version__,
  62     url='http://github.com/quantumlib/cirq',
  63     author='The Cirq Developers',
  64     author_email='cirq@googlegroups.com',
  65     python_requires=('>=3.6.0'),
  66     install_requires=requirements,
  67     extras_require={
  68         'contrib': contrib_requirements,
  69         'dev_env': dev_requirements + contrib_requirements,
  70     },
  71     license='Apache 2',
  72     description=description,
  73     long_description=long_description,
  74     packages=cirq_packages,
  75     package_data={
  76         'cirq': ['py.typed'],
  77         'cirq.google.api.v1': ['*.proto', '*.pyi'],
  78         'cirq.google.api.v2': ['*.proto', '*.pyi'],
  79         'cirq.protocols.json_test_data': ['*'],
  80     },
  81 )
  82
  [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
  @@ -62,7 +62,7 @@
       url='http://github.com/quantumlib/cirq',
       author='The Cirq Developers',
       author_email='cirq@googlegroups.com',
  -    python_requires=('>=3.6.0'),
  +    python_requires=('>=3.7.0'),
       install_requires=requirements,
       extras_require={
           'contrib': contrib_requirements,
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -62,7 +62,7 @@\n     url='http://github.com/quantumlib/cirq',\n     author='The Cirq Developers',\n     author_email='cirq@googlegroups.com',\n-    python_requires=('>=3.6.0'),\n+    python_requires=('>=3.7.0'),\n     install_requires=requirements,\n     extras_require={\n         'contrib': contrib_requirements,\n", "issue": "Docs build is failing\nSince the black formatter merge the RTD builds are failing with some weird pip error:\r\n\r\nhttps://readthedocs.org/projects/cirq/builds/\r\n\r\nNeed to look into it and resolve it if the error is on our end or report it to the RTD team if it's on their end.\n", "before_files": [{"content": "# Copyright 2018 The Cirq Developers\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     https://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport io\nimport os\nfrom setuptools import find_packages, setup\n\n# This reads the __version__ variable from cirq/_version.py\n__version__ = ''\nexec(open('cirq/_version.py').read())\n\nname = 'cirq'\n\ndescription = (\n    'A framework for creating, editing, and invoking '\n    'Noisy Intermediate Scale Quantum (NISQ) circuits.'\n)\n\n# README file as long_description.\nlong_description = io.open('README.rst', encoding='utf-8').read()\n\n# If CIRQ_PRE_RELEASE_VERSION is set then we update the version to this value.\n# It is assumed that it ends with one of `.devN`, `.aN`, `.bN`, `.rcN` and hence\n# it will be a pre-release version on PyPi. See\n# https://packaging.python.org/guides/distributing-packages-using-setuptools/#pre-release-versioning\n# for more details.\nif 'CIRQ_PRE_RELEASE_VERSION' in os.environ:\n    __version__ = os.environ['CIRQ_PRE_RELEASE_VERSION']\n    long_description = (\n        \"**This is a development version of Cirq and may be \"\n        \"unstable.**\\n\\n**For the latest stable release of Cirq \"\n        \"see**\\n`here <https://pypi.org/project/cirq>`__.\\n\\n\" + long_description\n    )\n\n# Read in requirements\nrequirements = open('requirements.txt').readlines()\nrequirements = [r.strip() for r in requirements]\ncontrib_requirements = open('cirq/contrib/contrib-requirements.txt').readlines()\ncontrib_requirements = [r.strip() for r in contrib_requirements]\ndev_requirements = open('dev_tools/conf/pip-list-dev-tools.txt').readlines()\ndev_requirements = [r.strip() for r in dev_requirements]\n\ncirq_packages = ['cirq'] + ['cirq.' + package for package in find_packages(where='cirq')]\n\n# Sanity check\nassert __version__, 'Version string cannot be empty'\n\nsetup(\n    name=name,\n    version=__version__,\n    url='http://github.com/quantumlib/cirq',\n    author='The Cirq Developers',\n    author_email='cirq@googlegroups.com',\n    python_requires=('>=3.6.0'),\n    install_requires=requirements,\n    extras_require={\n        'contrib': contrib_requirements,\n        'dev_env': dev_requirements + contrib_requirements,\n    },\n    license='Apache 2',\n    description=description,\n    long_description=long_description,\n    packages=cirq_packages,\n    package_data={\n        'cirq': ['py.typed'],\n        'cirq.google.api.v1': ['*.proto', '*.pyi'],\n        'cirq.google.api.v2': ['*.proto', '*.pyi'],\n        'cirq.protocols.json_test_data': ['*'],\n    },\n)\n", "path": "setup.py"}]}