Repository: kubeflow/pipelines

Issue:
Use range instead of pin for python dependencies for kfp
Currently kfp pins a list of package versions in [sdk/python/setup.py](https://github.com/kubeflow/pipelines/blob/52d7c7bd9e3076d4077d112dbf94211f9e51538c/sdk/python/setup.py). It could be too restrictive if kfp is used with other OSS projects (i.e, tfx).

The particularly conflicting one is 'google-auth==1.6.1'.

Can we use a range version for kfp dependencies?


Discussion:
Issue-Label Bot is automatically applying the label `feature_request` to this issue, with a confidence of 0.80. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback! 

 Links: [dashboard](https://mlbot.net/data/kubeflow/pipelines), [app homepage](https://github.com/apps/issue-label-bot) and [code](https://github.com/hamelsmu/MLapp) for this bot.
/assign @neuromage 

Resolving patch:
diff --git a/sdk/python/setup.py b/sdk/python/setup.py
--- a/sdk/python/setup.py
+++ b/sdk/python/setup.py
@@ -12,16 +12,24 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
 from setuptools import setup
 
-
 NAME = 'kfp'
 VERSION = '0.1.16'
 
-REQUIRES = ['urllib3 >= 1.15', 'six >= 1.10', 'certifi', 'python-dateutil', 'PyYAML',
-            'google-cloud-storage == 1.13.0', 'kubernetes == 8.0.0', 'PyJWT==1.6.4',
-            'cryptography==2.4.2', 'google-auth==1.6.1', 'requests_toolbelt==0.8.0']
+REQUIRES = [
+    'urllib3>=1.15',
+    'six >= 1.10',
+    'certifi',
+    'python-dateutil',
+    'PyYAML',
+    'google-cloud-storage>=1.13.0',
+    'kubernetes>=8.0.0',
+    'PyJWT>=1.6.4',
+    'cryptography>=2.4.2',
+    'google-auth>=1.6.1',
+    'requests_toolbelt>=0.8.0',
+]
 
 setup(
     name=NAME,
@@ -30,49 +38,44 @@
     author='google',
     install_requires=REQUIRES,
     packages=[
-      'kfp',
-      'kfp.compiler',
-      'kfp.components',
-      'kfp.components.structures',
-      'kfp.components.structures.kubernetes',
-      'kfp.dsl',
-      'kfp.notebook',
-      'kfp_experiment',
-      'kfp_experiment.api',
-      'kfp_experiment.models',
-      'kfp_run',
-      'kfp_run.api',
-      'kfp_run.models',
-      'kfp_pipeline',
-      'kfp_pipeline.api',
-      'kfp_pipeline.models',
-      'kfp_uploadpipeline',
-      'kfp_uploadpipeline.api',
-      'kfp_uploadpipeline.models',
-      'kfp_job',
-      'kfp_job.api',
-      'kfp_job.models',
+        'kfp',
+        'kfp.compiler',
+        'kfp.components',
+        'kfp.components.structures',
+        'kfp.components.structures.kubernetes',
+        'kfp.dsl',
+        'kfp.notebook',
+        'kfp_experiment',
+        'kfp_experiment.api',
+        'kfp_experiment.models',
+        'kfp_run',
+        'kfp_run.api',
+        'kfp_run.models',
+        'kfp_pipeline',
+        'kfp_pipeline.api',
+        'kfp_pipeline.models',
+        'kfp_uploadpipeline',
+        'kfp_uploadpipeline.api',
+        'kfp_uploadpipeline.models',
+        'kfp_job',
+        'kfp_job.api',
+        'kfp_job.models',
     ],
     classifiers=[
-      'Intended Audience :: Developers',
-      'Intended Audience :: Education',
-      'Intended Audience :: Science/Research',
-      'License :: OSI Approved :: Apache Software License',
-      'Programming Language :: Python :: 3',
-      'Programming Language :: Python :: 3.5',
-      'Programming Language :: Python :: 3.6',
-      'Programming Language :: Python :: 3.7',
-      'Topic :: Scientific/Engineering',
-      'Topic :: Scientific/Engineering :: Artificial Intelligence',
-      'Topic :: Software Development',
-      'Topic :: Software Development :: Libraries',
-      'Topic :: Software Development :: Libraries :: Python Modules',
+        'Intended Audience :: Developers',
+        'Intended Audience :: Education',
+        'Intended Audience :: Science/Research',
+        'License :: OSI Approved :: Apache Software License',
+        'Programming Language :: Python :: 3',
+        'Programming Language :: Python :: 3.5',
+        'Programming Language :: Python :: 3.6',
+        'Programming Language :: Python :: 3.7',
+        'Topic :: Scientific/Engineering',
+        'Topic :: Scientific/Engineering :: Artificial Intelligence',
+        'Topic :: Software Development',
+        'Topic :: Software Development :: Libraries',
+        'Topic :: Software Development :: Libraries :: Python Modules',
     ],
     python_requires='>=3.5.3',
     include_package_data=True,
-    entry_points = {
-      'console_scripts': [ 
-        'dsl-compile = kfp.compiler.main:main',
-      ]
-    }
-)
+    entry_points={'console_scripts': ['dsl-compile = kfp.compiler.main:main',]})


Test patch: