prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Update PyPI page
  It would be nice if the `README.rst` were included in the `setup.py` `long_description` in addition to the `CHANGES.rst` so that users browsing PyPI could read the README without having to travel to GitHub.
  
  Would also be nice if the trove classifiers in `setup.py` reflected which versions of Python were officially supported (e.g. `'Programming Language :: Python :: 3.5'`).
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 # Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).
  2 # Licensed under the Apache License, Version 2.0 (see LICENSE).
  3 
  4 import os
  5 
  6 from setuptools import setup
  7 
  8 
  9 with open(os.path.join(os.path.dirname(__file__), 'CHANGES.rst')) as fp:
  10   LONG_DESCRIPTION = fp.read()
  11 
  12 
  13 # This seems to be a fairly standard version file pattern.
  14 #
  15 # Populates the following variables:
  16 #   __version__
  17 #   __setuptools_requirement
  18 #   __wheel_requirement
  19 __version__ = ''
  20 version_py_file = os.path.join(os.path.dirname(__file__), 'pex', 'version.py')
  21 with open(version_py_file) as version_py:
  22   exec(compile(version_py.read(), version_py_file, 'exec'))
  23 
  24 
  25 setup(
  26   name = 'pex',
  27   version = __version__,
  28   description = "The PEX packaging toolchain.",
  29   long_description = LONG_DESCRIPTION,
  30   url = 'https://github.com/pantsbuild/pex',
  31   license = 'Apache License, Version 2.0',
  32   zip_safe = True,
  33   classifiers = [
  34     'Intended Audience :: Developers',
  35     'License :: OSI Approved :: Apache Software License',
  36     'Operating System :: OS Independent',
  37     'Programming Language :: Python',
  38   ],
  39   packages = [
  40     'pex',
  41     'pex.bin',
  42     'pex.commands',
  43   ],
  44   install_requires = [
  45     SETUPTOOLS_REQUIREMENT,
  46   ],
  47   tests_require = [
  48     'mock',
  49     'twitter.common.contextutil>=0.3.1,<0.4.0',
  50     'twitter.common.lang>=0.3.1,<0.4.0',
  51     'twitter.common.testing>=0.3.1,<0.4.0',
  52     'twitter.common.dirutil>=0.3.1,<0.4.0',
  53     'pytest',
  54   ],
  55   entry_points = {
  56     'distutils.commands': [
  57       'bdist_pex = pex.commands.bdist_pex:bdist_pex',
  58     ],
  59     'console_scripts': [
  60       'pex = pex.bin.pex:main',
  61     ],
  62   },
  63 )
  64
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -5,9 +5,11 @@
   
   from setuptools import setup
   
  +with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fp:
  +  LONG_DESCRIPTION = fp.read() + '\n'
   
   with open(os.path.join(os.path.dirname(__file__), 'CHANGES.rst')) as fp:
  -  LONG_DESCRIPTION = fp.read()
  +  LONG_DESCRIPTION += fp.read()
   
   
   # This seems to be a fairly standard version file pattern.
  @@ -33,8 +35,17 @@
     classifiers = [
       'Intended Audience :: Developers',
       'License :: OSI Approved :: Apache Software License',
  -    'Operating System :: OS Independent',
  +    'Operating System :: Unix',
  +    'Operating System :: POSIX :: Linux',
  +    'Operating System :: MacOS :: MacOS X',
       'Programming Language :: Python',
  +    'Programming Language :: Python :: 2',
  +    'Programming Language :: Python :: 2.6',
  +    'Programming Language :: Python :: 2.7',
  +    'Programming Language :: Python :: 3',
  +    'Programming Language :: Python :: 3.3',
  +    'Programming Language :: Python :: 3.4',
  +    'Programming Language :: Python :: 3.5',
     ],
     packages = [
       'pex',
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -5,9 +5,11 @@\n \n from setuptools import setup\n \n+with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fp:\n+  LONG_DESCRIPTION = fp.read() + '\\n'\n \n with open(os.path.join(os.path.dirname(__file__), 'CHANGES.rst')) as fp:\n-  LONG_DESCRIPTION = fp.read()\n+  LONG_DESCRIPTION += fp.read()\n \n \n # This seems to be a fairly standard version file pattern.\n@@ -33,8 +35,17 @@\n   classifiers = [\n     'Intended Audience :: Developers',\n     'License :: OSI Approved :: Apache Software License',\n-    'Operating System :: OS Independent',\n+    'Operating System :: Unix',\n+    'Operating System :: POSIX :: Linux',\n+    'Operating System :: MacOS :: MacOS X',\n     'Programming Language :: Python',\n+    'Programming Language :: Python :: 2',\n+    'Programming Language :: Python :: 2.6',\n+    'Programming Language :: Python :: 2.7',\n+    'Programming Language :: Python :: 3',\n+    'Programming Language :: Python :: 3.3',\n+    'Programming Language :: Python :: 3.4',\n+    'Programming Language :: Python :: 3.5',\n   ],\n   packages = [\n     'pex',\n", "issue": "Update PyPI page\nIt would be nice if the `README.rst` were included in the `setup.py` `long_description` in addition to the `CHANGES.rst` so that users browsing PyPI could read the README without having to travel to GitHub.\n\nWould also be nice if the trove classifiers in `setup.py` reflected which versions of Python were officially supported (e.g. `'Programming Language :: Python :: 3.5'`).\n\n", "before_files": [{"content": "# Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).\n# Licensed under the Apache License, Version 2.0 (see LICENSE).\n\nimport os\n\nfrom setuptools import setup\n\n\nwith open(os.path.join(os.path.dirname(__file__), 'CHANGES.rst')) as fp:\n  LONG_DESCRIPTION = fp.read()\n\n\n# This seems to be a fairly standard version file pattern.\n#\n# Populates the following variables:\n#   __version__\n#   __setuptools_requirement\n#   __wheel_requirement\n__version__ = ''\nversion_py_file = os.path.join(os.path.dirname(__file__), 'pex', 'version.py')\nwith open(version_py_file) as version_py:\n  exec(compile(version_py.read(), version_py_file, 'exec'))\n\n\nsetup(\n  name = 'pex',\n  version = __version__,\n  description = \"The PEX packaging toolchain.\",\n  long_description = LONG_DESCRIPTION,\n  url = 'https://github.com/pantsbuild/pex',\n  license = 'Apache License, Version 2.0',\n  zip_safe = True,\n  classifiers = [\n    'Intended Audience :: Developers',\n    'License :: OSI Approved :: Apache Software License',\n    'Operating System :: OS Independent',\n    'Programming Language :: Python',\n  ],\n  packages = [\n    'pex',\n    'pex.bin',\n    'pex.commands',\n  ],\n  install_requires = [\n    SETUPTOOLS_REQUIREMENT,\n  ],\n  tests_require = [\n    'mock',\n    'twitter.common.contextutil>=0.3.1,<0.4.0',\n    'twitter.common.lang>=0.3.1,<0.4.0',\n    'twitter.common.testing>=0.3.1,<0.4.0',\n    'twitter.common.dirutil>=0.3.1,<0.4.0',\n    'pytest',\n  ],\n  entry_points = {\n    'distutils.commands': [\n      'bdist_pex = pex.commands.bdist_pex:bdist_pex',\n    ],\n    'console_scripts': [\n      'pex = pex.bin.pex:main',\n    ],\n  },\n)\n", "path": "setup.py"}], "after_files": [{"content": "# Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).\n# Licensed under the Apache License, Version 2.0 (see LICENSE).\n\nimport os\n\nfrom setuptools import setup\n\nwith open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fp:\n  LONG_DESCRIPTION = fp.read() + '\\n'\n\nwith open(os.path.join(os.path.dirname(__file__), 'CHANGES.rst')) as fp:\n  LONG_DESCRIPTION += fp.read()\n\n\n# This seems to be a fairly standard version file pattern.\n#\n# Populates the following variables:\n#   __version__\n#   __setuptools_requirement\n#   __wheel_requirement\n__version__ = ''\nversion_py_file = os.path.join(os.path.dirname(__file__), 'pex', 'version.py')\nwith open(version_py_file) as version_py:\n  exec(compile(version_py.read(), version_py_file, 'exec'))\n\n\nsetup(\n  name = 'pex',\n  version = __version__,\n  description = \"The PEX packaging toolchain.\",\n  long_description = LONG_DESCRIPTION,\n  url = 'https://github.com/pantsbuild/pex',\n  license = 'Apache License, Version 2.0',\n  zip_safe = True,\n  classifiers = [\n    'Intended Audience :: Developers',\n    'License :: OSI Approved :: Apache Software License',\n    'Operating System :: Unix',\n    'Operating System :: POSIX :: Linux',\n    'Operating System :: MacOS :: MacOS X',\n    'Programming Language :: Python',\n    'Programming Language :: Python :: 2',\n    'Programming Language :: Python :: 2.6',\n    'Programming Language :: Python :: 2.7',\n    'Programming Language :: Python :: 3',\n    'Programming Language :: Python :: 3.3',\n    'Programming Language :: Python :: 3.4',\n    'Programming Language :: Python :: 3.5',\n  ],\n  packages = [\n    'pex',\n    'pex.bin',\n    'pex.commands',\n  ],\n  install_requires = [\n    SETUPTOOLS_REQUIREMENT,\n  ],\n  tests_require = [\n    'mock',\n    'twitter.common.contextutil>=0.3.1,<0.4.0',\n    'twitter.common.lang>=0.3.1,<0.4.0',\n    'twitter.common.testing>=0.3.1,<0.4.0',\n    'twitter.common.dirutil>=0.3.1,<0.4.0',\n    'pytest',\n  ],\n  entry_points = {\n    'distutils.commands': [\n      'bdist_pex = pex.commands.bdist_pex:bdist_pex',\n    ],\n    'console_scripts': [\n      'pex = pex.bin.pex:main',\n    ],\n  },\n)\n", "path": "setup.py"}]}