prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  kfp 0.1.35 tar.gz in pypi.org is missing diagnose_me directory
  **What happened:**
  The 0.1.35 release of kfp available on pypi.org (i.e. what is installed via `pip3 install kfp`) seems to be missing the `kfp/cli/diagnose_me` directory containing the diagnose_me modules required by the cli. The release hosted on github contains these files.
  
  This is the tar.gz file hosted on pypi: https://files.pythonhosted.org/packages/e8/02/51dbeae211ddf1c931b2d1613db90856b7d94a53c1d9f704593dfa6253ae/kfp-0.1.35.tar.gz
  
  If you try to install and run kfp 0.1.35 via pip it causes an error:
  ```
  Traceback (most recent call last):
    File "/Users/shenderson/venvs/kubeflow/bin/kfp", line 5, in <module>
      from kfp.__main__ import main
    File "/Users/shenderson/venvs/kubeflow/lib/python3.7/site-packages/kfp/__main__.py", line 15, in <module>
      from .cli.cli import main
    File "/Users/shenderson/venvs/kubeflow/lib/python3.7/site-packages/kfp/cli/cli.py", line 21, in <module>
      from .diagnose_me_cli import diagnose_me
    File "/Users/shenderson/venvs/kubeflow/lib/python3.7/site-packages/kfp/cli/diagnose_me_cli.py", line 6, in <module>
      from .diagnose_me import dev_env
  ModuleNotFoundError: No module named 'kfp.cli.diagnose_me'
  ```
  
  **What did you expect to happen:**
  All kfp modules including the diagnose_me package to be installed.
  
  **What steps did you take:**
  * Run `pip3 install --upgrade --force --no-cache-dir kfp`
  * Run `kfp`
  
  
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `sdk/python/setup.py`
  Content:
  ```
  1 # Copyright 2018 Google LLC
  2 #
  3 # Licensed under the Apache License, Version 2.0 (the "License");
  4 # you may not use this file except in compliance with the License.
  5 # You may obtain a copy of 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,
  11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12 # See the License for the specific language governing permissions and
  13 # limitations under the License.
  14 
  15 import os
  16 import re
  17 from setuptools import setup
  18 
  19 NAME = 'kfp'
  20 #VERSION = .... Change the version in kfp/__init__.py
  21 
  22 REQUIRES = [
  23     'urllib3>=1.15,<1.25',  #Fixing the version conflict with the "requests" package
  24     'six >= 1.10',
  25     'certifi',
  26     'python-dateutil',
  27     'PyYAML',
  28     'google-cloud-storage>=1.13.0',
  29     'kubernetes>=8.0.0, <=9.0.0',
  30     'PyJWT>=1.6.4',
  31     'cryptography>=2.4.2',
  32     'google-auth>=1.6.1',
  33     'requests_toolbelt>=0.8.0',
  34     'cloudpickle==1.1.1',
  35     'kfp-server-api >= 0.1.18, <= 0.1.25',  #Update the upper version whenever a new version of the kfp-server-api package is released. Update the lower version when there is a breaking change in kfp-server-api.
  36     'argo-models == 2.2.1a',  #2.2.1a is equivalent to argo 2.2.1
  37     'jsonschema >= 3.0.1',
  38     'tabulate == 0.8.3',
  39     'click == 7.0',
  40     'Deprecated',
  41 ]
  42 
  43 def find_version(*file_path_parts):
  44     here = os.path.abspath(os.path.dirname(__file__))
  45     with open(os.path.join(here, *file_path_parts), 'r') as fp:
  46         version_file_text = fp.read()
  47 
  48     version_match = re.search(
  49         r"^__version__ = ['\"]([^'\"]*)['\"]",
  50         version_file_text,
  51         re.M,
  52     )
  53     if version_match:
  54         return version_match.group(1)
  55 
  56     raise RuntimeError("Unable to find version string.")
  57 
  58 setup(
  59     name=NAME,
  60     version=find_version("kfp", "__init__.py"),
  61     description='KubeFlow Pipelines SDK',
  62     author='google',
  63     install_requires=REQUIRES,
  64     packages=[
  65         'kfp',
  66         'kfp.cli',
  67         'kfp.compiler',
  68         'kfp.components',
  69         'kfp.components.structures',
  70         'kfp.components.structures.kubernetes',
  71         'kfp.containers',
  72         'kfp.dsl',
  73         'kfp.notebook',
  74     ],
  75     classifiers=[
  76         'Intended Audience :: Developers',
  77         'Intended Audience :: Education',
  78         'Intended Audience :: Science/Research',
  79         'License :: OSI Approved :: Apache Software License',
  80         'Programming Language :: Python :: 3',
  81         'Programming Language :: Python :: 3.5',
  82         'Programming Language :: Python :: 3.6',
  83         'Programming Language :: Python :: 3.7',
  84         'Topic :: Scientific/Engineering',
  85         'Topic :: Scientific/Engineering :: Artificial Intelligence',
  86         'Topic :: Software Development',
  87         'Topic :: Software Development :: Libraries',
  88         'Topic :: Software Development :: Libraries :: Python Modules',
  89     ],
  90     python_requires='>=3.5.3',
  91     include_package_data=True,
  92     entry_points={
  93         'console_scripts': [
  94             'dsl-compile = kfp.compiler.main:main', 'kfp=kfp.__main__:main'
  95         ]
  96     })
  97
  ```
  --- 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/sdk/python/setup.py b/sdk/python/setup.py
  --- a/sdk/python/setup.py
  +++ b/sdk/python/setup.py
  @@ -64,6 +64,7 @@
       packages=[
           'kfp',
           'kfp.cli',
  +        'kfp.cli.diagnose_me',
           'kfp.compiler',
           'kfp.components',
           'kfp.components.structures',
  
verification_info: {"golden_diff": "diff --git a/sdk/python/setup.py b/sdk/python/setup.py\n--- a/sdk/python/setup.py\n+++ b/sdk/python/setup.py\n@@ -64,6 +64,7 @@\n     packages=[\n         'kfp',\n         'kfp.cli',\n+        'kfp.cli.diagnose_me',\n         'kfp.compiler',\n         'kfp.components',\n         'kfp.components.structures',\n", "issue": "kfp 0.1.35 tar.gz in pypi.org is missing diagnose_me directory\n**What happened:**\r\nThe 0.1.35 release of kfp available on pypi.org (i.e. what is installed via `pip3 install kfp`) seems to be missing the `kfp/cli/diagnose_me` directory containing the diagnose_me modules required by the cli. The release hosted on github contains these files.\r\n\r\nThis is the tar.gz file hosted on pypi: https://files.pythonhosted.org/packages/e8/02/51dbeae211ddf1c931b2d1613db90856b7d94a53c1d9f704593dfa6253ae/kfp-0.1.35.tar.gz\r\n\r\nIf you try to install and run kfp 0.1.35 via pip it causes an error:\r\n```\r\nTraceback (most recent call last):\r\n  File \"/Users/shenderson/venvs/kubeflow/bin/kfp\", line 5, in <module>\r\n    from kfp.__main__ import main\r\n  File \"/Users/shenderson/venvs/kubeflow/lib/python3.7/site-packages/kfp/__main__.py\", line 15, in <module>\r\n    from .cli.cli import main\r\n  File \"/Users/shenderson/venvs/kubeflow/lib/python3.7/site-packages/kfp/cli/cli.py\", line 21, in <module>\r\n    from .diagnose_me_cli import diagnose_me\r\n  File \"/Users/shenderson/venvs/kubeflow/lib/python3.7/site-packages/kfp/cli/diagnose_me_cli.py\", line 6, in <module>\r\n    from .diagnose_me import dev_env\r\nModuleNotFoundError: No module named 'kfp.cli.diagnose_me'\r\n```\r\n\r\n**What did you expect to happen:**\r\nAll kfp modules including the diagnose_me package to be installed.\r\n\r\n**What steps did you take:**\r\n* Run `pip3 install --upgrade --force --no-cache-dir kfp`\r\n* Run `kfp`\r\n\r\n\r\n\n", "before_files": [{"content": "# Copyright 2018 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of 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,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\nimport re\nfrom setuptools import setup\n\nNAME = 'kfp'\n#VERSION = .... Change the version in kfp/__init__.py\n\nREQUIRES = [\n    'urllib3>=1.15,<1.25',  #Fixing the version conflict with the \"requests\" package\n    'six >= 1.10',\n    'certifi',\n    'python-dateutil',\n    'PyYAML',\n    'google-cloud-storage>=1.13.0',\n    'kubernetes>=8.0.0, <=9.0.0',\n    'PyJWT>=1.6.4',\n    'cryptography>=2.4.2',\n    'google-auth>=1.6.1',\n    'requests_toolbelt>=0.8.0',\n    'cloudpickle==1.1.1',\n    'kfp-server-api >= 0.1.18, <= 0.1.25',  #Update the upper version whenever a new version of the kfp-server-api package is released. Update the lower version when there is a breaking change in kfp-server-api.\n    'argo-models == 2.2.1a',  #2.2.1a is equivalent to argo 2.2.1\n    'jsonschema >= 3.0.1',\n    'tabulate == 0.8.3',\n    'click == 7.0',\n    'Deprecated',\n]\n\ndef find_version(*file_path_parts):\n    here = os.path.abspath(os.path.dirname(__file__))\n    with open(os.path.join(here, *file_path_parts), 'r') as fp:\n        version_file_text = fp.read()\n\n    version_match = re.search(\n        r\"^__version__ = ['\\\"]([^'\\\"]*)['\\\"]\",\n        version_file_text,\n        re.M,\n    )\n    if version_match:\n        return version_match.group(1)\n\n    raise RuntimeError(\"Unable to find version string.\")\n\nsetup(\n    name=NAME,\n    version=find_version(\"kfp\", \"__init__.py\"),\n    description='KubeFlow Pipelines SDK',\n    author='google',\n    install_requires=REQUIRES,\n    packages=[\n        'kfp',\n        'kfp.cli',\n        'kfp.compiler',\n        'kfp.components',\n        'kfp.components.structures',\n        'kfp.components.structures.kubernetes',\n        'kfp.containers',\n        'kfp.dsl',\n        'kfp.notebook',\n    ],\n    classifiers=[\n        'Intended Audience :: Developers',\n        'Intended Audience :: Education',\n        'Intended Audience :: Science/Research',\n        'License :: OSI Approved :: Apache Software License',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Topic :: Scientific/Engineering',\n        'Topic :: Scientific/Engineering :: Artificial Intelligence',\n        'Topic :: Software Development',\n        'Topic :: Software Development :: Libraries',\n        'Topic :: Software Development :: Libraries :: Python Modules',\n    ],\n    python_requires='>=3.5.3',\n    include_package_data=True,\n    entry_points={\n        'console_scripts': [\n            'dsl-compile = kfp.compiler.main:main', 'kfp=kfp.__main__:main'\n        ]\n    })\n", "path": "sdk/python/setup.py"}], "after_files": [{"content": "# Copyright 2018 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of 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,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\nimport re\nfrom setuptools import setup\n\nNAME = 'kfp'\n#VERSION = .... Change the version in kfp/__init__.py\n\nREQUIRES = [\n    'urllib3>=1.15,<1.25',  #Fixing the version conflict with the \"requests\" package\n    'six >= 1.10',\n    'certifi',\n    'python-dateutil',\n    'PyYAML',\n    'google-cloud-storage>=1.13.0',\n    'kubernetes>=8.0.0, <=9.0.0',\n    'PyJWT>=1.6.4',\n    'cryptography>=2.4.2',\n    'google-auth>=1.6.1',\n    'requests_toolbelt>=0.8.0',\n    'cloudpickle==1.1.1',\n    'kfp-server-api >= 0.1.18, <= 0.1.25',  #Update the upper version whenever a new version of the kfp-server-api package is released. Update the lower version when there is a breaking change in kfp-server-api.\n    'argo-models == 2.2.1a',  #2.2.1a is equivalent to argo 2.2.1\n    'jsonschema >= 3.0.1',\n    'tabulate == 0.8.3',\n    'click == 7.0',\n    'Deprecated',\n]\n\ndef find_version(*file_path_parts):\n    here = os.path.abspath(os.path.dirname(__file__))\n    with open(os.path.join(here, *file_path_parts), 'r') as fp:\n        version_file_text = fp.read()\n\n    version_match = re.search(\n        r\"^__version__ = ['\\\"]([^'\\\"]*)['\\\"]\",\n        version_file_text,\n        re.M,\n    )\n    if version_match:\n        return version_match.group(1)\n\n    raise RuntimeError(\"Unable to find version string.\")\n\nsetup(\n    name=NAME,\n    version=find_version(\"kfp\", \"__init__.py\"),\n    description='KubeFlow Pipelines SDK',\n    author='google',\n    install_requires=REQUIRES,\n    packages=[\n        'kfp',\n        'kfp.cli',\n        'kfp.cli.diagnose_me',\n        'kfp.compiler',\n        'kfp.components',\n        'kfp.components.structures',\n        'kfp.components.structures.kubernetes',\n        'kfp.containers',\n        'kfp.dsl',\n        'kfp.notebook',\n    ],\n    classifiers=[\n        'Intended Audience :: Developers',\n        'Intended Audience :: Education',\n        'Intended Audience :: Science/Research',\n        'License :: OSI Approved :: Apache Software License',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Topic :: Scientific/Engineering',\n        'Topic :: Scientific/Engineering :: Artificial Intelligence',\n        'Topic :: Software Development',\n        'Topic :: Software Development :: Libraries',\n        'Topic :: Software Development :: Libraries :: Python Modules',\n    ],\n    python_requires='>=3.5.3',\n    include_package_data=True,\n    entry_points={\n        'console_scripts': [\n            'dsl-compile = kfp.compiler.main:main', 'kfp=kfp.__main__:main'\n        ]\n    })\n", "path": "sdk/python/setup.py"}]}