prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Missing HISTORY.rst
  pydantic installs fine from pip but via a dependency in setup.py it fails with a missing HISTORY.rst due to your long_description in setup.py. Basically, you need a MANIFEST.in that includes that file.
  
  ```
  Processing pydantic-0.6.2.tar.gz
  Writing /var/folders/4j/00jv8sg138n61hsj6ppf60pm0000gn/T/easy_install-o7rp3h7o/pydantic-0.6.2/setup.cfg
  Running pydantic-0.6.2/setup.py -q bdist_egg --dist-dir /var/folders/4j/00jv8sg138n61hsj6ppf60pm0000gn/T/easy_install-o7rp3h7o/pydantic-0.6.2/egg-dist-tmp-7bd8a1a8
  error: [Errno 2] No such file or directory: '/private/var/folders/4j/00jv8sg138n61hsj6ppf60pm0000gn/T/easy_install-o7rp3h7o/pydantic-0.6.2/HISTORY.rst'
  ```
  
  </issue>
  <code>
  [start of setup.py]
  1 from importlib.machinery import SourceFileLoader
  2 from pathlib import Path
  3 from setuptools import setup
  4 
  5 THIS_DIR = Path(__file__).resolve().parent
  6 long_description = (
  7     THIS_DIR.joinpath('README.rst').read_text() +
  8     '\n\n' +
  9     THIS_DIR.joinpath('HISTORY.rst').read_text()
  10 )
  11 
  12 # avoid loading the package before requirements are installed:
  13 version = SourceFileLoader('version', 'pydantic/version.py').load_module()
  14 
  15 setup(
  16     name='pydantic',
  17     version=str(version.VERSION),
  18     description='Data validation and settings management using python 3.6 type hinting',
  19     long_description=long_description,
  20     classifiers=[
  21         'Development Status :: 4 - Beta',
  22         'Environment :: Console',
  23         'Programming Language :: Python',
  24         'Programming Language :: Python :: 3',
  25         'Programming Language :: Python :: 3 :: Only',
  26         'Programming Language :: Python :: 3.6',
  27         'Intended Audience :: Developers',
  28         'Intended Audience :: Information Technology',
  29         'Intended Audience :: System Administrators',
  30         'License :: OSI Approved :: MIT License',
  31         'Operating System :: Unix',
  32         'Operating System :: POSIX :: Linux',
  33         'Environment :: MacOS X',
  34         'Topic :: Software Development :: Libraries :: Python Modules',
  35         'Topic :: Internet',
  36     ],
  37     author='Samuel Colvin',
  38     author_email='s@muelcolvin.com',
  39     url='https://github.com/samuelcolvin/pydantic',
  40     license='MIT',
  41     packages=['pydantic'],
  42     python_requires='>=3.6',
  43     zip_safe=True,
  44     extras_require={
  45         'msgpack': ['msgpack-python>=0.4.8'],
  46         'ujson': ['ujson>=1.35'],
  47     }
  48 )
  49
  [end of setup.py]
  [start of pydantic/version.py]
  1 from distutils.version import StrictVersion
  2 
  3 __all__ = ['VERSION']
  4 
  5 VERSION = StrictVersion('0.6.2')
  6
  [end of pydantic/version.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/pydantic/version.py b/pydantic/version.py
  --- a/pydantic/version.py
  +++ b/pydantic/version.py
  @@ -2,4 +2,4 @@
   
   __all__ = ['VERSION']
   
  -VERSION = StrictVersion('0.6.2')
  +VERSION = StrictVersion('0.6.3')
  diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -2,12 +2,15 @@
   from pathlib import Path
   from setuptools import setup
   
  +description = 'Data validation and settings management using python 3.6 type hinting'
   THIS_DIR = Path(__file__).resolve().parent
  -long_description = (
  -    THIS_DIR.joinpath('README.rst').read_text() +
  -    '\n\n' +
  -    THIS_DIR.joinpath('HISTORY.rst').read_text()
  -)
  +try:
  +    long_description = '\n\n'.join([
  +        THIS_DIR.joinpath('README.rst').read_text(),
  +        THIS_DIR.joinpath('HISTORY.rst').read_text()
  +    ])
  +except FileNotFoundError:
  +    long_description = description + '.\n\nSee https://pydantic-docs.helpmanual.io/ for documentation.'
   
   # avoid loading the package before requirements are installed:
   version = SourceFileLoader('version', 'pydantic/version.py').load_module()
  @@ -15,7 +18,7 @@
   setup(
       name='pydantic',
       version=str(version.VERSION),
  -    description='Data validation and settings management using python 3.6 type hinting',
  +    description=description,
       long_description=long_description,
       classifiers=[
           'Development Status :: 4 - Beta',
  
verification_info: {"golden_diff": "diff --git a/pydantic/version.py b/pydantic/version.py\n--- a/pydantic/version.py\n+++ b/pydantic/version.py\n@@ -2,4 +2,4 @@\n \n __all__ = ['VERSION']\n \n-VERSION = StrictVersion('0.6.2')\n+VERSION = StrictVersion('0.6.3')\ndiff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -2,12 +2,15 @@\n from pathlib import Path\n from setuptools import setup\n \n+description = 'Data validation and settings management using python 3.6 type hinting'\n THIS_DIR = Path(__file__).resolve().parent\n-long_description = (\n-    THIS_DIR.joinpath('README.rst').read_text() +\n-    '\\n\\n' +\n-    THIS_DIR.joinpath('HISTORY.rst').read_text()\n-)\n+try:\n+    long_description = '\\n\\n'.join([\n+        THIS_DIR.joinpath('README.rst').read_text(),\n+        THIS_DIR.joinpath('HISTORY.rst').read_text()\n+    ])\n+except FileNotFoundError:\n+    long_description = description + '.\\n\\nSee https://pydantic-docs.helpmanual.io/ for documentation.'\n \n # avoid loading the package before requirements are installed:\n version = SourceFileLoader('version', 'pydantic/version.py').load_module()\n@@ -15,7 +18,7 @@\n setup(\n     name='pydantic',\n     version=str(version.VERSION),\n-    description='Data validation and settings management using python 3.6 type hinting',\n+    description=description,\n     long_description=long_description,\n     classifiers=[\n         'Development Status :: 4 - Beta',\n", "issue": "Missing HISTORY.rst\npydantic installs fine from pip but via a dependency in setup.py it fails with a missing HISTORY.rst due to your long_description in setup.py. Basically, you need a MANIFEST.in that includes that file.\r\n\r\n```\r\nProcessing pydantic-0.6.2.tar.gz\r\nWriting /var/folders/4j/00jv8sg138n61hsj6ppf60pm0000gn/T/easy_install-o7rp3h7o/pydantic-0.6.2/setup.cfg\r\nRunning pydantic-0.6.2/setup.py -q bdist_egg --dist-dir /var/folders/4j/00jv8sg138n61hsj6ppf60pm0000gn/T/easy_install-o7rp3h7o/pydantic-0.6.2/egg-dist-tmp-7bd8a1a8\r\nerror: [Errno 2] No such file or directory: '/private/var/folders/4j/00jv8sg138n61hsj6ppf60pm0000gn/T/easy_install-o7rp3h7o/pydantic-0.6.2/HISTORY.rst'\r\n```\n", "before_files": [{"content": "from importlib.machinery import SourceFileLoader\nfrom pathlib import Path\nfrom setuptools import setup\n\nTHIS_DIR = Path(__file__).resolve().parent\nlong_description = (\n    THIS_DIR.joinpath('README.rst').read_text() +\n    '\\n\\n' +\n    THIS_DIR.joinpath('HISTORY.rst').read_text()\n)\n\n# avoid loading the package before requirements are installed:\nversion = SourceFileLoader('version', 'pydantic/version.py').load_module()\n\nsetup(\n    name='pydantic',\n    version=str(version.VERSION),\n    description='Data validation and settings management using python 3.6 type hinting',\n    long_description=long_description,\n    classifiers=[\n        'Development Status :: 4 - Beta',\n        'Environment :: Console',\n        'Programming Language :: Python',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3 :: Only',\n        'Programming Language :: Python :: 3.6',\n        'Intended Audience :: Developers',\n        'Intended Audience :: Information Technology',\n        'Intended Audience :: System Administrators',\n        'License :: OSI Approved :: MIT License',\n        'Operating System :: Unix',\n        'Operating System :: POSIX :: Linux',\n        'Environment :: MacOS X',\n        'Topic :: Software Development :: Libraries :: Python Modules',\n        'Topic :: Internet',\n    ],\n    author='Samuel Colvin',\n    author_email='s@muelcolvin.com',\n    url='https://github.com/samuelcolvin/pydantic',\n    license='MIT',\n    packages=['pydantic'],\n    python_requires='>=3.6',\n    zip_safe=True,\n    extras_require={\n        'msgpack': ['msgpack-python>=0.4.8'],\n        'ujson': ['ujson>=1.35'],\n    }\n)\n", "path": "setup.py"}, {"content": "from distutils.version import StrictVersion\n\n__all__ = ['VERSION']\n\nVERSION = StrictVersion('0.6.2')\n", "path": "pydantic/version.py"}]}