prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Fix project description on PyPI
  PyPI requires both a description and long_description to be set, with the former being used for listing a project among others and the latter for the detailed project page.
  
  </issue>
  <code>
  [start of setup.py]
  1 from distutils.core import setup
  2 
  3 setup(
  4     name='heat',
  5     packages=['heat'],
  6     version='0.0.1',
  7     description='A framework for high performance data analytics and machine learning.',
  8     author='Helmholtz Association',
  9     author_email='martin.siggel@dlr.de',
  10     url='https://github.com/helmholtz-analytics/heat',
  11     #  download_url = 'https://github.com/helmholtz-analytics/heat/archive/0.1.tar.gz', # TBD
  12     keywords=['data', 'analytics', 'tensors', 'distributed', 'gpu'],
  13     classifiers=[],
  14     install_requires=[
  15         'numpy>=1.13.0',
  16         # 'torch>=0.4.0'
  17     ],
  18     extras_require={
  19         'hdf5': ['h5py>=2.8.0']
  20     }
  21 )
  22
  [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
  @@ -1,19 +1,28 @@
   from distutils.core import setup
   
  +with open("README.md", "r") as fh:
  +    long_description = fh.read()
  +
   setup(
       name='heat',
       packages=['heat'],
       version='0.0.1',
       description='A framework for high performance data analytics and machine learning.',
  +    long_description=long_description,
  +    long_description_content_type='text/markdown',
       author='Helmholtz Association',
       author_email='martin.siggel@dlr.de',
       url='https://github.com/helmholtz-analytics/heat',
  -    #  download_url = 'https://github.com/helmholtz-analytics/heat/archive/0.1.tar.gz', # TBD
       keywords=['data', 'analytics', 'tensors', 'distributed', 'gpu'],
  -    classifiers=[],
  +    classifiers=[
  +        'Development Status :: 2 - Pre-Alpha',
  +        'Programming Language :: Python :: 3.5',
  +        'License :: OSI Approved :: MIT License',
  +        'Intended Audience :: Science/Research',
  +        'Topic :: Scientific/Engineering'
  +    ],
       install_requires=[
           'numpy>=1.13.0',
  -        # 'torch>=0.4.0'
       ],
       extras_require={
           'hdf5': ['h5py>=2.8.0']
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -1,19 +1,28 @@\n from distutils.core import setup\n \n+with open(\"README.md\", \"r\") as fh:\n+    long_description = fh.read()\n+\n setup(\n     name='heat',\n     packages=['heat'],\n     version='0.0.1',\n     description='A framework for high performance data analytics and machine learning.',\n+    long_description=long_description,\n+    long_description_content_type='text/markdown',\n     author='Helmholtz Association',\n     author_email='martin.siggel@dlr.de',\n     url='https://github.com/helmholtz-analytics/heat',\n-    #  download_url = 'https://github.com/helmholtz-analytics/heat/archive/0.1.tar.gz', # TBD\n     keywords=['data', 'analytics', 'tensors', 'distributed', 'gpu'],\n-    classifiers=[],\n+    classifiers=[\n+        'Development Status :: 2 - Pre-Alpha',\n+        'Programming Language :: Python :: 3.5',\n+        'License :: OSI Approved :: MIT License',\n+        'Intended Audience :: Science/Research',\n+        'Topic :: Scientific/Engineering'\n+    ],\n     install_requires=[\n         'numpy>=1.13.0',\n-        # 'torch>=0.4.0'\n     ],\n     extras_require={\n         'hdf5': ['h5py>=2.8.0']\n", "issue": "Fix project description on PyPI\nPyPI requires both a description and long_description to be set, with the former being used for listing a project among others and the latter for the detailed project page.\n", "before_files": [{"content": "from distutils.core import setup\n\nsetup(\n    name='heat',\n    packages=['heat'],\n    version='0.0.1',\n    description='A framework for high performance data analytics and machine learning.',\n    author='Helmholtz Association',\n    author_email='martin.siggel@dlr.de',\n    url='https://github.com/helmholtz-analytics/heat',\n    #  download_url = 'https://github.com/helmholtz-analytics/heat/archive/0.1.tar.gz', # TBD\n    keywords=['data', 'analytics', 'tensors', 'distributed', 'gpu'],\n    classifiers=[],\n    install_requires=[\n        'numpy>=1.13.0',\n        # 'torch>=0.4.0'\n    ],\n    extras_require={\n        'hdf5': ['h5py>=2.8.0']\n    }\n)\n", "path": "setup.py"}]}