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()

```

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',

{"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"}]}