prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  [Bug]: PIP installation error
  ### Is there an existing issue for this?
  
  - [X] I have searched the existing issues
  
  ### Current Behavior
  
  Hello,
  using ```pip install mindsdb``` I've got this error:
  ```
  Traceback (most recent call last):
          File "C:\Users\lukas\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 363, in <module>
            main()
          File "C:\Users\lukas\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 345, in main
            json_out['return_val'] = hook(**hook_input['kwargs'])
          File "C:\Users\lukas\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 130, in get_requires_for_build_wheel
            return hook(config_settings)
          File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-ke4g80_2\overlay\Lib\site-packages\setuptools\build_meta.py", line 177, in get_requires_for_build_wheel
            return self._get_build_requires(
          File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-ke4g80_2\overlay\Lib\site-packages\setuptools\build_meta.py", line 159, in _get_build_requires
            self.run_setup()
          File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-ke4g80_2\overlay\Lib\site-packages\setuptools\build_meta.py", line 281, in run_setup
            super(_BuildMetaLegacyBackend,
          File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-ke4g80_2\overlay\Lib\site-packages\setuptools\build_meta.py", line 174, in run_setup
            exec(compile(code, __file__, 'exec'), locals())
          File "setup.py", line 10, in <module>
            long_description = fh.read()
          File "C:\Users\lukas\AppData\Local\Programs\Python\Python310\lib\encodings\cp1250.py", line 23, in decode
            return codecs.charmap_decode(input,self.errors,decoding_table)[0]
        UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 3404: character maps to <undefined>
  ```
  I am using the latest Python 3.10.4
  
  ### Expected Behavior
  
  _No response_
  
  ### Steps To Reproduce
  
  _No response_
  
  ### Anything else?
  
  _No response_
  
  </issue>
  <code>
  [start of setup.py]
  1 from setuptools import setup, find_packages
  2 
  3 
  4 about = {}
  5 with open("mindsdb/__about__.py") as fp:
  6     exec(fp.read(), about)
  7 
  8 
  9 with open("README.md", "r") as fh:
  10     long_description = fh.read()
  11 
  12 
  13 def install_deps():
  14     """Reads requirements.txt and preprocess it
  15     to be feed into setuptools.
  16 
  17     This is the only possible way (we found)
  18     how requirements.txt can be reused in setup.py
  19     using dependencies from private github repositories.
  20 
  21     Links must be appendend by `-{StringWithAtLeastOneNumber}`
  22     or something like that, so e.g. `-9231` works as well as
  23     `1.1.0`. This is ignored by the setuptools, but has to be there.
  24 
  25     Warnings:
  26         to make pip respect the links, you have to use
  27         `--process-dependency-links` switch. So e.g.:
  28         `pip install --process-dependency-links {git-url}`
  29 
  30     Returns:
  31          list of packages and dependency links.
  32     """
  33     default = open('requirements.txt', 'r').readlines()
  34     new_pkgs = []
  35     links = []
  36     for resource in default:
  37         if 'git+https' in resource:
  38             pkg = resource.split('#')[-1]
  39             links.append(resource.strip() + '-9876543210')
  40             new_pkgs.append(pkg.replace('egg=', '').rstrip())
  41         else:
  42             new_pkgs.append(resource.strip())
  43     return new_pkgs, links
  44 
  45 
  46 pkgs, new_links = install_deps()
  47 
  48 setup(
  49     name=about['__title__'],
  50     version=about['__version__'],
  51     url=about['__github__'],
  52     download_url=about['__pypi__'],
  53     license=about['__license__'],
  54     author=about['__author__'],
  55     author_email=about['__email__'],
  56     description=about['__description__'],
  57     long_description=long_description,
  58     long_description_content_type="text/markdown",
  59     packages=find_packages(),
  60     install_requires=pkgs,
  61     dependency_links=new_links,
  62     include_package_data=True,
  63     classifiers=[
  64         "Programming Language :: Python :: 3",
  65         "Operating System :: OS Independent",
  66     ],
  67     python_requires=">=3.6"
  68 )
  69
  [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
  @@ -6,7 +6,7 @@
       exec(fp.read(), about)
   
   
  -with open("README.md", "r") as fh:
  +with open("README.md", "r", encoding="utf8") as fh:
       long_description = fh.read()
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -6,7 +6,7 @@\n     exec(fp.read(), about)\n \n \n-with open(\"README.md\", \"r\") as fh:\n+with open(\"README.md\", \"r\", encoding=\"utf8\") as fh:\n     long_description = fh.read()\n", "issue": "[Bug]: PIP installation error\n### Is there an existing issue for this?\n\n- [X] I have searched the existing issues\n\n### Current Behavior\n\nHello,\r\nusing ```pip install mindsdb``` I've got this error:\r\n```\r\nTraceback (most recent call last):\r\n        File \"C:\\Users\\lukas\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\pip\\_vendor\\pep517\\in_process\\_in_process.py\", line 363, in <module>\r\n          main()\r\n        File \"C:\\Users\\lukas\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\pip\\_vendor\\pep517\\in_process\\_in_process.py\", line 345, in main\r\n          json_out['return_val'] = hook(**hook_input['kwargs'])\r\n        File \"C:\\Users\\lukas\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\pip\\_vendor\\pep517\\in_process\\_in_process.py\", line 130, in get_requires_for_build_wheel\r\n          return hook(config_settings)\r\n        File \"C:\\Users\\lukas\\AppData\\Local\\Temp\\pip-build-env-ke4g80_2\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py\", line 177, in get_requires_for_build_wheel\r\n          return self._get_build_requires(\r\n        File \"C:\\Users\\lukas\\AppData\\Local\\Temp\\pip-build-env-ke4g80_2\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py\", line 159, in _get_build_requires\r\n          self.run_setup()\r\n        File \"C:\\Users\\lukas\\AppData\\Local\\Temp\\pip-build-env-ke4g80_2\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py\", line 281, in run_setup\r\n          super(_BuildMetaLegacyBackend,\r\n        File \"C:\\Users\\lukas\\AppData\\Local\\Temp\\pip-build-env-ke4g80_2\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py\", line 174, in run_setup\r\n          exec(compile(code, __file__, 'exec'), locals())\r\n        File \"setup.py\", line 10, in <module>\r\n          long_description = fh.read()\r\n        File \"C:\\Users\\lukas\\AppData\\Local\\Programs\\Python\\Python310\\lib\\encodings\\cp1250.py\", line 23, in decode\r\n          return codecs.charmap_decode(input,self.errors,decoding_table)[0]\r\n      UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 3404: character maps to <undefined>\r\n```\r\nI am using the latest Python 3.10.4\n\n### Expected Behavior\n\n_No response_\n\n### Steps To Reproduce\n\n_No response_\n\n### Anything else?\n\n_No response_\n", "before_files": [{"content": "from setuptools import setup, find_packages\n\n\nabout = {}\nwith open(\"mindsdb/__about__.py\") as fp:\n    exec(fp.read(), about)\n\n\nwith open(\"README.md\", \"r\") as fh:\n    long_description = fh.read()\n\n\ndef install_deps():\n    \"\"\"Reads requirements.txt and preprocess it\n    to be feed into setuptools.\n\n    This is the only possible way (we found)\n    how requirements.txt can be reused in setup.py\n    using dependencies from private github repositories.\n\n    Links must be appendend by `-{StringWithAtLeastOneNumber}`\n    or something like that, so e.g. `-9231` works as well as\n    `1.1.0`. This is ignored by the setuptools, but has to be there.\n\n    Warnings:\n        to make pip respect the links, you have to use\n        `--process-dependency-links` switch. So e.g.:\n        `pip install --process-dependency-links {git-url}`\n\n    Returns:\n         list of packages and dependency links.\n    \"\"\"\n    default = open('requirements.txt', 'r').readlines()\n    new_pkgs = []\n    links = []\n    for resource in default:\n        if 'git+https' in resource:\n            pkg = resource.split('#')[-1]\n            links.append(resource.strip() + '-9876543210')\n            new_pkgs.append(pkg.replace('egg=', '').rstrip())\n        else:\n            new_pkgs.append(resource.strip())\n    return new_pkgs, links\n\n\npkgs, new_links = install_deps()\n\nsetup(\n    name=about['__title__'],\n    version=about['__version__'],\n    url=about['__github__'],\n    download_url=about['__pypi__'],\n    license=about['__license__'],\n    author=about['__author__'],\n    author_email=about['__email__'],\n    description=about['__description__'],\n    long_description=long_description,\n    long_description_content_type=\"text/markdown\",\n    packages=find_packages(),\n    install_requires=pkgs,\n    dependency_links=new_links,\n    include_package_data=True,\n    classifiers=[\n        \"Programming Language :: Python :: 3\",\n        \"Operating System :: OS Independent\",\n    ],\n    python_requires=\">=3.6\"\n)\n", "path": "setup.py"}]}