prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Some Docs Have Disappeared
  Not sure if this is the right place to report this, but it looks like package documentation has disappeared from readthedocs.  For example:
  
  http://luigi.readthedocs.org/en/latest/api/luigi.html#luigi-file-module
  
  I swear there used to be a lot of useful information here, now there is nothing.
  
  
  --- 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 (c) 2012 Spotify AB
  2 #
  3 # Licensed under the Apache License, Version 2.0 (the "License"); you may not
  4 # use this file except in compliance with the License. You may obtain a copy of
  5 # the License at
  6 #
  7 # http://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, WITHOUT
  11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  12 # License for the specific language governing permissions and limitations under
  13 # the License.
  14 
  15 import os
  16 import sys
  17 
  18 try:
  19     from setuptools import setup
  20     from setuptools.command.test import test as TestCommand
  21 except:
  22     from distutils.core import setup
  23     from distutils.cmd import Command as TestCommand
  24 
  25 
  26 class Tox(TestCommand):
  27     user_options = [('tox-args=', None, "Arguments to pass to tox")]
  28     def initialize_options(self):
  29         TestCommand.initialize_options(self)
  30         self.tox_args = ''
  31     def finalize_options(self):
  32         TestCommand.finalize_options(self)
  33         self.test_args = []
  34         self.test_suite = True
  35     def run_tests(self):
  36         #import here, cause outside the eggs aren't loaded
  37         import tox
  38         errno = tox.cmdline(args=self.tox_args.split())
  39         sys.exit(errno)
  40 
  41 
  42 def get_static_files(path):
  43     return [os.path.join(dirpath.replace("luigi/", ""), ext) 
  44             for (dirpath, dirnames, filenames) in os.walk(path)
  45             for ext in ["*.html", "*.js", "*.css", "*.png"]]
  46 
  47 
  48 luigi_package_data = sum(map(get_static_files, ["luigi/static", "luigi/templates"]), [])
  49 
  50 readme_note = """\
  51 .. note::
  52 
  53    For the latest source, discussion, etc, please visit the
  54    `GitHub repository <https://github.com/spotify/luigi>`_\n\n
  55 """
  56 
  57 with open('README.rst') as fobj:
  58     long_description = readme_note + fobj.read()
  59 
  60 
  61 setup(
  62     name='luigi',
  63     version='1.0.19',
  64     description='Workflow mgmgt + task scheduling + dependency resolution',
  65     long_description=long_description,
  66     author='Erik Bernhardsson',
  67     author_email='erikbern@spotify.com',
  68     url='https://github.com/spotify/luigi',
  69     license='Apache License 2.0',
  70     packages=[
  71         'luigi',
  72         'luigi.contrib',
  73         'luigi.tools'
  74     ],
  75     package_data={
  76         'luigi': luigi_package_data
  77     },
  78     scripts=[
  79         'bin/luigid',
  80         'bin/luigi'
  81     ],
  82     tests_require=['tox', 'virtualenv'],
  83     cmdclass={'test': Tox},
  84 )
  85
  ```
  --- 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
  @@ -17,26 +17,8 @@
   
   try:
       from setuptools import setup
  -    from setuptools.command.test import test as TestCommand
   except:
       from distutils.core import setup
  -    from distutils.cmd import Command as TestCommand
  -
  -
  -class Tox(TestCommand):
  -    user_options = [('tox-args=', None, "Arguments to pass to tox")]
  -    def initialize_options(self):
  -        TestCommand.initialize_options(self)
  -        self.tox_args = ''
  -    def finalize_options(self):
  -        TestCommand.finalize_options(self)
  -        self.test_args = []
  -        self.test_suite = True
  -    def run_tests(self):
  -        #import here, cause outside the eggs aren't loaded
  -        import tox
  -        errno = tox.cmdline(args=self.tox_args.split())
  -        sys.exit(errno)
   
   
   def get_static_files(path):
  @@ -57,6 +39,18 @@
   with open('README.rst') as fobj:
       long_description = readme_note + fobj.read()
   
  +install_requires = [
  +    'boto',
  +    'pyparsing',
  +    'requests',
  +    'sqlalchemy',
  +    'tornado',
  +    'whoops',
  +    'snakebite>=2.4.10',
  +]
  +
  +if sys.version_info[:2] < (2, 7):
  +    install_requires.extend(['argparse', 'ordereddict'])
   
   setup(
       name='luigi',
  @@ -79,6 +73,5 @@
           'bin/luigid',
           'bin/luigi'
       ],
  -    tests_require=['tox', 'virtualenv'],
  -    cmdclass={'test': Tox},
  +    install_requires=install_requires,
   )
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -17,26 +17,8 @@\n \n try:\n     from setuptools import setup\n-    from setuptools.command.test import test as TestCommand\n except:\n     from distutils.core import setup\n-    from distutils.cmd import Command as TestCommand\n-\n-\n-class Tox(TestCommand):\n-    user_options = [('tox-args=', None, \"Arguments to pass to tox\")]\n-    def initialize_options(self):\n-        TestCommand.initialize_options(self)\n-        self.tox_args = ''\n-    def finalize_options(self):\n-        TestCommand.finalize_options(self)\n-        self.test_args = []\n-        self.test_suite = True\n-    def run_tests(self):\n-        #import here, cause outside the eggs aren't loaded\n-        import tox\n-        errno = tox.cmdline(args=self.tox_args.split())\n-        sys.exit(errno)\n \n \n def get_static_files(path):\n@@ -57,6 +39,18 @@\n with open('README.rst') as fobj:\n     long_description = readme_note + fobj.read()\n \n+install_requires = [\n+    'boto',\n+    'pyparsing',\n+    'requests',\n+    'sqlalchemy',\n+    'tornado',\n+    'whoops',\n+    'snakebite>=2.4.10',\n+]\n+\n+if sys.version_info[:2] < (2, 7):\n+    install_requires.extend(['argparse', 'ordereddict'])\n \n setup(\n     name='luigi',\n@@ -79,6 +73,5 @@\n         'bin/luigid',\n         'bin/luigi'\n     ],\n-    tests_require=['tox', 'virtualenv'],\n-    cmdclass={'test': Tox},\n+    install_requires=install_requires,\n )\n", "issue": "Some Docs Have Disappeared\nNot sure if this is the right place to report this, but it looks like package documentation has disappeared from readthedocs.  For example:\n\nhttp://luigi.readthedocs.org/en/latest/api/luigi.html#luigi-file-module\n\nI swear there used to be a lot of useful information here, now there is nothing.\n\n", "before_files": [{"content": "# Copyright (c) 2012 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n# use this file except in compliance with the License. You may obtain a copy of\n# the License at\n#\n# http://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, WITHOUT\n# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n# License for the specific language governing permissions and limitations under\n# the License.\n\nimport os\nimport sys\n\ntry:\n    from setuptools import setup\n    from setuptools.command.test import test as TestCommand\nexcept:\n    from distutils.core import setup\n    from distutils.cmd import Command as TestCommand\n\n\nclass Tox(TestCommand):\n    user_options = [('tox-args=', None, \"Arguments to pass to tox\")]\n    def initialize_options(self):\n        TestCommand.initialize_options(self)\n        self.tox_args = ''\n    def finalize_options(self):\n        TestCommand.finalize_options(self)\n        self.test_args = []\n        self.test_suite = True\n    def run_tests(self):\n        #import here, cause outside the eggs aren't loaded\n        import tox\n        errno = tox.cmdline(args=self.tox_args.split())\n        sys.exit(errno)\n\n\ndef get_static_files(path):\n    return [os.path.join(dirpath.replace(\"luigi/\", \"\"), ext) \n            for (dirpath, dirnames, filenames) in os.walk(path)\n            for ext in [\"*.html\", \"*.js\", \"*.css\", \"*.png\"]]\n\n\nluigi_package_data = sum(map(get_static_files, [\"luigi/static\", \"luigi/templates\"]), [])\n\nreadme_note = \"\"\"\\\n.. note::\n\n   For the latest source, discussion, etc, please visit the\n   `GitHub repository <https://github.com/spotify/luigi>`_\\n\\n\n\"\"\"\n\nwith open('README.rst') as fobj:\n    long_description = readme_note + fobj.read()\n\n\nsetup(\n    name='luigi',\n    version='1.0.19',\n    description='Workflow mgmgt + task scheduling + dependency resolution',\n    long_description=long_description,\n    author='Erik Bernhardsson',\n    author_email='erikbern@spotify.com',\n    url='https://github.com/spotify/luigi',\n    license='Apache License 2.0',\n    packages=[\n        'luigi',\n        'luigi.contrib',\n        'luigi.tools'\n    ],\n    package_data={\n        'luigi': luigi_package_data\n    },\n    scripts=[\n        'bin/luigid',\n        'bin/luigi'\n    ],\n    tests_require=['tox', 'virtualenv'],\n    cmdclass={'test': Tox},\n)\n", "path": "setup.py"}], "after_files": [{"content": "# Copyright (c) 2012 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n# use this file except in compliance with the License. You may obtain a copy of\n# the License at\n#\n# http://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, WITHOUT\n# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n# License for the specific language governing permissions and limitations under\n# the License.\n\nimport os\nimport sys\n\ntry:\n    from setuptools import setup\nexcept:\n    from distutils.core import setup\n\n\ndef get_static_files(path):\n    return [os.path.join(dirpath.replace(\"luigi/\", \"\"), ext) \n            for (dirpath, dirnames, filenames) in os.walk(path)\n            for ext in [\"*.html\", \"*.js\", \"*.css\", \"*.png\"]]\n\n\nluigi_package_data = sum(map(get_static_files, [\"luigi/static\", \"luigi/templates\"]), [])\n\nreadme_note = \"\"\"\\\n.. note::\n\n   For the latest source, discussion, etc, please visit the\n   `GitHub repository <https://github.com/spotify/luigi>`_\\n\\n\n\"\"\"\n\nwith open('README.rst') as fobj:\n    long_description = readme_note + fobj.read()\n\ninstall_requires = [\n    'boto',\n    'pyparsing',\n    'requests',\n    'sqlalchemy',\n    'tornado',\n    'whoops',\n    'snakebite>=2.4.10',\n]\n\nif sys.version_info[:2] < (2, 7):\n    install_requires.extend(['argparse', 'ordereddict'])\n\nsetup(\n    name='luigi',\n    version='1.0.19',\n    description='Workflow mgmgt + task scheduling + dependency resolution',\n    long_description=long_description,\n    author='Erik Bernhardsson',\n    author_email='erikbern@spotify.com',\n    url='https://github.com/spotify/luigi',\n    license='Apache License 2.0',\n    packages=[\n        'luigi',\n        'luigi.contrib',\n        'luigi.tools'\n    ],\n    package_data={\n        'luigi': luigi_package_data\n    },\n    scripts=[\n        'bin/luigid',\n        'bin/luigi'\n    ],\n    install_requires=install_requires,\n)\n", "path": "setup.py"}]}