internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: kserve/kserve

Issue:
Tabular Explainer e2e test failing
/kind bug

```
(base) C02YJ034JGH5:~ dsun20$ kubectl logs isvc-explainer-tabular-explainer-default-7cnkj-deployment-4q4hn -n kfserving-ci-e2e-test kfserving-container
[I 200828 13:12:28 font_manager:1423] Generating new fontManager, this may take some time...
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/local/lib/python3.7/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/local/lib/python3.7/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/alibiexplainer/alibiexplainer/__init__.py", line 15, in <module>
    from .explainer import AlibiExplainer
  File "/alibiexplainer/alibiexplainer/explainer.py", line 21, in <module>
    from alibiexplainer.anchor_images import AnchorImages
  File "/alibiexplainer/alibiexplainer/anchor_images.py", line 17, in <module>
    import alibi
  File "/usr/local/lib/python3.7/site-packages/alibi/__init__.py", line 1, in <module>
    from . import confidence, datasets, explainers, utils
  File "/usr/local/lib/python3.7/site-packages/alibi/explainers/__init__.py", line 11, in <module>
    from .kernel_shap import KernelShap
  File "/usr/local/lib/python3.7/site-packages/alibi/explainers/kernel_shap.py", line 11, in <module>
    from shap.common import DenseData, DenseDataWithIndex
ModuleNotFoundError: No module named 'shap.common'
```


**What did you expect to happen:**


**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]


**Environment:**

- Istio Version:
- Knative Version:
- KFServing Version:
- Kubeflow version:
- Kfdef:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
- Minikube version:
- Kubernetes version: (use `kubectl version`):
- OS (e.g. from `/etc/os-release`):



Discussion:
Issue Label Bot is not confident enough to auto-label this issue.
                See [dashboard](https://label-bot-prod.mlbot.net/data/kubeflow/kfserving) for more details.
                
@cliveseldon Can you help take a look ?
/cc @yuzliu 
shap must be missing from the image. It should be brought in when alibi is installed.
@yuzisun which image is it running?

Resolving patch:
diff --git a/python/alibiexplainer/setup.py b/python/alibiexplainer/setup.py
--- a/python/alibiexplainer/setup.py
+++ b/python/alibiexplainer/setup.py
@@ -32,6 +32,7 @@
     python_requires='>=3.6',
     packages=find_packages("alibiexplainer"),
     install_requires=[
+        "shap==0.35",
         "kfserving>=0.4.0",
         "alibi==0.4.0",
         "scikit-learn>=0.20.3",


Test patch:
Repository: kserve/kserve

Issue:
Document Tensorflow v1beta1 REST/gRPC example
/kind feature

**Describe the solution you'd like**
There are a few examples yamls [here](https://github.com/kubeflow/kfserving/tree/master/docs/samples/v1beta1/tensorflow), but still need a more detailed example for REST/gRPC and canary.


**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]



Discussion:

Resolving patch:
diff --git a/docs/samples/v1beta1/tensorflow/grpc_client.py b/docs/samples/v1beta1/tensorflow/grpc_client.py
new file mode 100644
--- /dev/null
+++ b/docs/samples/v1beta1/tensorflow/grpc_client.py
@@ -0,0 +1,48 @@
+import argparse
+import json
+import base64
+import grpc
+
+from tensorflow.contrib.util import make_tensor_proto
+from tensorflow_serving.apis import predict_pb2
+from tensorflow_serving.apis import prediction_service_pb2_grpc
+
+
+def predict(host, port, hostname, model, signature_name, input_path):
+    # If hostname not set, we assume the host is a valid knative dns.
+    if hostname:
+        host_option = (('grpc.ssl_target_name_override', hostname,),)
+    else:
+        host_option = None
+    channel = grpc.insecure_channel(target='{host}:{port}'.format(host=host, port=port), options=host_option)
+    stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)
+    with open(input_path) as json_file:
+        data = json.load(json_file)
+    image = data['instances'][0]['image_bytes']['b64']
+    key = data['instances'][0]['key']
+
+    # Call classification model to make prediction
+    request = predict_pb2.PredictRequest()
+    request.model_spec.name = model
+    request.model_spec.signature_name = signature_name
+    image = base64.b64decode(image)
+    request.inputs['image_bytes'].CopyFrom(
+        make_tensor_proto(image, shape=[1]))
+    request.inputs['key'].CopyFrom(make_tensor_proto(key, shape=[1]))
+
+    result = stub.Predict(request, 10.0)
+    print(result)
+
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--host', help='Ingress Host Name', default='localhost', type=str)
+    parser.add_argument('--port', help='Ingress Port', default=80, type=int)
+    parser.add_argument('--model', help='TensorFlow Model Name', type=str)
+    parser.add_argument('--signature_name', help='Signature name of saved TensorFlow model',
+                        default='serving_default', type=str)
+    parser.add_argument('--hostname', help='Service Host Name', default='', type=str)
+    parser.add_argument('--input_path', help='Prediction data input path', default='./input.json', type=str)
+
+    args = parser.parse_args()
+    predict(args.host, args.port, args.hostname, args.model, args.signature_name, args.input_path)


Test patch:
Repository: kserve/kserve

Issue:
Support  for PySpark 2.4.4 Mllib 
/kind feature

Hi, our current pipeline and models are implemented using PySpark Mllib. After looking at the examples I realize we currently don't support PySpark Mllib. Can we include PySpark model server as additional feature in the next release? Thanks

Link on how MLflow implement Spark: https://www.mlflow.org/docs/latest/python_api/mlflow.spark.html


Discussion:
Issue-Label Bot is automatically applying the labels:

| Label  | Probability |
| ------------- | ------------- |
| feature | 0.98 |

Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback! 
Links: [app homepage](https://github.com/marketplace/issue-label-bot), [dashboard](https://github.com/marketplace/issue-label-botdata/kubeflow/kfserving) and [code](https://github.com/hamelsmu/MLapp) for this bot.
Issue-Label Bot is automatically applying the labels:

| Label  | Probability |
| ------------- | ------------- |
| area/engprod | 0.76 |

Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback! 
Links: [app homepage](https://github.com/marketplace/issue-label-bot), [dashboard](https://github.com/marketplace/issue-label-botdata/kubeflow/kfserving) and [code](https://github.com/hamelsmu/MLapp) for this bot.
Who is working on this? There is no current assignee.

Support for Spark ML would be a huge boon for KFServing!

Resolving patch:
diff --git a/docs/samples/v1beta1/spark/sparkml.py b/docs/samples/v1beta1/spark/sparkml.py
new file mode 100644
--- /dev/null
+++ b/docs/samples/v1beta1/spark/sparkml.py
@@ -0,0 +1,17 @@
+from pyspark.ml import Pipeline
+from pyspark.ml.classification import DecisionTreeClassifier
+from pyspark.ml.feature import RFormula
+
+df = spark.read.csv("Iris.csv", header = True, inferSchema = True)
+
+formula = RFormula(formula = "Species ~ .")
+classifier = DecisionTreeClassifier()
+pipeline = Pipeline(stages = [formula, classifier])
+pipelineModel = pipeline.fit(df)
+
+from pyspark2pmml import PMMLBuilder
+
+pmmlBuilder = PMMLBuilder(sc, df, pipelineModel)
+
+pmmlBuilder.buildFile("DecisionTreeIris.pmml")
+


Test patch:
Repository: kserve/kserve

Issue:
CommandException: No URLs matched: gs://kfserving-examples/models/mnist
/kind bug 

I would like to run the kafka mnist example but when I run:
```bash
gsutil cp gs://kfserving-examples/models/mnist .
```
As per the readme, I get
```
CommandException: No URLs matched: gs://kfserving-examples/models/mnist
```

**What did you expect to happen:**
I expected to be able to download the model checkpoint. 



Discussion:
@julianmack it should be `gs://kfserving-examples/models/tensorflow/mnist`

Resolving patch:
diff --git a/docs/samples/kafka/setup.py b/docs/samples/kafka/setup.py
--- a/docs/samples/kafka/setup.py
+++ b/docs/samples/kafka/setup.py
@@ -25,7 +25,7 @@
     version='0.1.0',
     author_email='dsun20@bloomberg.net',
     license='../../LICENSE.txt',
-    url='https://github.com/kubeflow/kfserving/docs/sameples/transformer',
+    url='https://github.com/kubeflow/kfserving/tree/master/docs/samples#deploy-inferenceservice-with-transformer',
     description='Transformer',
     long_description=open('README.md').read(),
     python_requires='>=3.6',


Test patch:
Repository: kserve/kserve

Issue:
kfserving==0.6.0 python package doesn't work with Python 3.9
/kind bug

**What steps did you take and what happened:**
pip3 install kfserving==0.6.0 leads to a ray[serve] install failure, probably due to:
https://github.com/ray-project/tune-sklearn/issues/169

This happens only with Python 3.9


**What did you expect to happen:**
pip3 packages installed correctly without errors


**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]


**Environment:**

- Istio Version:
- Knative Version:
- KFServing Version: 0.6.0
- Kubeflow version: 
- Kfdef:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
- Minikube version:
- Kubernetes version: (use `kubectl version`):
- OS (e.g. from `/etc/os-release`):



Discussion:

Resolving patch:
diff --git a/python/kfserving/kfserving/kfserver.py b/python/kfserving/kfserving/kfserver.py
--- a/python/kfserving/kfserving/kfserver.py
+++ b/python/kfserving/kfserving/kfserver.py
@@ -29,7 +29,7 @@
 from kfserving.handlers.http import PredictHandler, ExplainHandler
 from kfserving import KFModel
 from kfserving.kfmodel_repository import KFModelRepository
-from ray.serve.api import RayServeHandle, ServeDeployment
+from ray.serve.api import Deployment, RayServeHandle
 from ray import serve
 
 DEFAULT_HTTP_PORT = 8080
@@ -95,7 +95,7 @@ def create_application(self):
              UnloadHandler, dict(models=self.registered_models)),
         ])
 
-    def start(self, models: Union[List[KFModel], Dict[str, ServeDeployment]], nest_asyncio: bool = False):
+    def start(self, models: Union[List[KFModel], Dict[str, Deployment]], nest_asyncio: bool = False):
         if isinstance(models, list):
             for model in models:
                 if isinstance(model, KFModel):
@@ -103,7 +103,7 @@ def start(self, models: Union[List[KFModel], Dict[str, ServeDeployment]], nest_a
                 else:
                     raise RuntimeError("Model type should be KFModel")
         elif isinstance(models, dict):
-            if all([issubclass(v, ServeDeployment) for v in models.values()]):
+            if all([issubclass(v, Deployment) for v in models.values()]):
                 serve.start(detached=True, http_host='0.0.0.0', http_port=9071)
                 for key in models:
                     models[key].deploy()
diff --git a/python/kfserving/setup.py b/python/kfserving/setup.py
--- a/python/kfserving/setup.py
+++ b/python/kfserving/setup.py
@@ -25,7 +25,7 @@
 
 setuptools.setup(
     name='kfserving',
-    version='0.6.0',
+    version='0.6.1',
     author="Kubeflow Authors",
     author_email='ellisbigelow@google.com, hejinchi@cn.ibm.com, dsun20@bloomberg.net',
     license="Apache License Version 2.0",


Test patch:
Repository: kserve/kserve

Issue:
Failed to pull image "gcr.io/kfserving/kfserving-controller:v0.5.1"
/kind bug

**What steps did you take and what happened:**

Attempted to deploy kfserving from kustomize of KF 1.3.0

Failed to pull image "gcr.io/kfserving/kfserving-controller:v0.5.1": rpc error: code = Unknown desc = Error response from daemon: Head https://gcr.io/v2/kfserving/kfserving-controller/manifests/v0.5.1: denied: Project kfserving has been deleted.

**What did you expect to happen:**

expected the images to be present at the configured location

**Anything else you would like to add:**

This appears to be a relatively recent problem but I'm not entirely sure of that.

I also attempted to pull v0.6.0 and that also failed.

**Environment:**

- Istio Version: v1.9.0
- Knative Version: ???
- KFServing Version: v1.5.1
- Kubeflow version: v1.3.0
- Kfdef:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
- Kubernetes version: Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1", GitCommit:"5e58841cce77d4bc13713ad2b91fa0d961e69192", GitTreeState:"clean", BuildDate:"2021-05-12T14:18:45Z", GoVersion:"go1.16.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clean", BuildDate:"2021-07-15T20:59:07Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}
- OS (e.g. from `/etc/os-release`):
Ubuntu 20.04


Discussion:

Resolving patch:
diff --git a/python/custom_model/model_remote.py b/python/custom_model/model_remote.py
--- a/python/custom_model/model_remote.py
+++ b/python/custom_model/model_remote.py
@@ -9,7 +9,7 @@
 
 
 # the model handle name should match the model endpoint name
-@serve.deployment(name="custom-model", config={"num_replicas": 2})
+@serve.deployment(name="custom-model", num_replicas=2)
 class AlexNetModel(kfserving.KFModel):
     def __init__(self):
         self.name = "custom-model"
diff --git a/python/kfserving/kfserving/kfserver.py b/python/kfserving/kfserving/kfserver.py
--- a/python/kfserving/kfserving/kfserver.py
+++ b/python/kfserving/kfserving/kfserver.py
@@ -103,7 +103,7 @@ def start(self, models: Union[List[KFModel], Dict[str, Deployment]], nest_asynci
                 else:
                     raise RuntimeError("Model type should be KFModel")
         elif isinstance(models, dict):
-            if all([issubclass(v, Deployment) for v in models.values()]):
+            if all([isinstance(v, Deployment) for v in models.values()]):
                 serve.start(detached=True, http_host='0.0.0.0', http_port=9071)
                 for key in models:
                     models[key].deploy()


Test patch:
Repository: kserve/kserve

Issue:
Fix serving.kubeflow.org annotations in docs/samples
I've noticed that some `docs/samples` still use in `metadata.annotations` the `serving.kubeflow.org` instead of `serving.kserve.org`. See this [example](https://github.com/kserve/kserve/blob/master/docs/samples/kafka/s3_secret.yaml).
To save debugging time for others migrating from KFserving, I could create PR that fixes that.


Discussion:
@bartgras The documentation is moved to website repo here https://github.com/kserve/website/blob/main/docs/modelserving/kafka/s3-secret.yaml, but feel free to send a PR to fix in kserve repo as well.

Resolving patch:
diff --git a/docs/samples/kafka/setup.py b/docs/samples/kafka/setup.py
--- a/docs/samples/kafka/setup.py
+++ b/docs/samples/kafka/setup.py
@@ -24,21 +24,15 @@
     version='0.1.0',
     author_email='dsun20@bloomberg.net',
     license='../../LICENSE.txt',
-    url='https://github.com/kserve/kserve/tree/master/docs/samples#deploy-inferenceservice-with-transformer',
+    url='https://github.com/kserve/kserve/tree/master/docs/samples/kafka',
     description='Transformer',
     long_description=open('README.md').read(),
-    python_requires='>=3.6',
+    python_requires='>=3.7',
     packages=find_packages("transformer"),
     install_requires=[
-        "kfserving>=0.2.1",
-        "argparse>=1.4.0",
-        "requests>=2.22.0",
-        "joblib>=0.13.2",
+        "kserve>=0.7.0",
         "pandas>=0.24.2",
-        "numpy>=1.16.3",
-        "kubernetes >= 9.0.0",
         "opencv-python-headless==4.0.0.21",
-        "boto3==1.7.2"
     ],
     tests_require=tests_require,
     extras_require={'test': tests_require}


Test patch:
Repository: kserve/kserve

Issue:
Cannot install required version of numpy on M1 mac
/kind bug

Issue:
Installation on python 3.8 or 3.9 (and presumably all versions of Python) of the v0.8.0 release candidate fails due to the pinned requirement of numpy.

Expected behavior:
kserve's release candidate for 0.8 can be installed on an M1 mac.

Extra information:
https://github.com/numpy/numpy/releases/tag/v1.21.0 numpy 1.21+ allows installation on M1 macs.


**Environment:**

- OS (e.g. from `/etc/os-release`): M1 mac



Discussion:

Resolving patch:
diff --git a/python/lgbserver/setup.py b/python/lgbserver/setup.py
--- a/python/lgbserver/setup.py
+++ b/python/lgbserver/setup.py
@@ -35,7 +35,7 @@
     install_requires=[
         "kserve>=0.7.0",
         "lightgbm == 3.3.2",
-        "pandas == 0.25.3",
+        "pandas == 1.3.5",
         "argparse >= 1.4.0",
     ],
     tests_require=tests_require,


Test patch:
diff --git a/test/e2e/common/utils.py b/test/e2e/common/utils.py
--- a/test/e2e/common/utils.py
+++ b/test/e2e/common/utils.py
@@ -166,8 +166,7 @@ def explain_response(service_name, input_json):
 def get_cluster_ip():
     api_instance = client.CoreV1Api(client.ApiClient())
     service = api_instance.read_namespaced_service("istio-ingressgateway",
-                                                   "istio-system",
-                                                   exact="true")
+                                                   "istio-system")
     if service.status.load_balancer.ingress is None:
         cluster_ip = service.spec.cluster_ip
     else:
Repository: kserve/kserve

Issue:
kfserving-samples bucket on GCS was gone
/kind bug

**What steps did you take and what happened:**
The existing codebase is running some test code with a prebuild model file located in GCS, especially `gs://kfserving-samples/models/tensorflow/flowers` but now seems the bucket is gone already. 
Do we have other alternative buckets? or this bucket should be live forever?

```
gsutil cp -r gs://kfserving-samples/models/tensorflow/flowers flowers

BucketNotFoundException: 404 gs://kfserving-samples bucket does not exist.
```



**What did you expect to happen:**
the model file should be downloaded.


**Anything else you would like to add:**
No

**Environment:**
not related to environment.



Discussion:

Resolving patch:
diff --git a/docs/samples/pipelines/sample-tf-pipeline.py b/docs/samples/pipelines/sample-tf-pipeline.py
--- a/docs/samples/pipelines/sample-tf-pipeline.py
+++ b/docs/samples/pipelines/sample-tf-pipeline.py
@@ -28,7 +28,7 @@
 def kservePipeline(
         action='apply',
         model_name='tensorflow-sample',
-        model_uri='gs://kfserving-samples/models/tensorflow/flowers',
+        model_uri='gs://kfserving-examples/models/tensorflow/flowers',
         namespace='anonymous',
         framework='tensorflow'):
     kserve_op(action=action,


Test patch:
diff --git a/test/e2e/predictor/test_tensorflow.py b/test/e2e/predictor/test_tensorflow.py
--- a/test/e2e/predictor/test_tensorflow.py
+++ b/test/e2e/predictor/test_tensorflow.py
@@ -32,7 +32,7 @@ def test_tensorflow_kserve():
     predictor = V1beta1PredictorSpec(
         min_replicas=1,
         tensorflow=V1beta1TFServingSpec(
-            storage_uri='gs://kfserving-samples/models/tensorflow/flowers',
+            storage_uri='gs://kfserving-examples/models/tensorflow/flowers',
             resources=V1ResourceRequirements(
                 requests={'cpu': '1', 'memory': '2Gi'},
                 limits={'cpu': '1', 'memory': '2Gi'}
@@ -64,7 +64,7 @@ def test_tensorflow_runtime_kserve():
             model_format=V1beta1ModelFormat(
                 name="tensorflow",
             ),
-            storage_uri='gs://kfserving-samples/models/tensorflow/flowers',
+            storage_uri='gs://kfserving-examples/models/tensorflow/flowers',
             resources=V1ResourceRequirements(
                 requests={'cpu': '1', 'memory': '2Gi'},
                 limits={'cpu': '1', 'memory': '2Gi'}
diff --git a/test/e2e/predictor/test_xgboost.py b/test/e2e/predictor/test_xgboost.py
--- a/test/e2e/predictor/test_xgboost.py
+++ b/test/e2e/predictor/test_xgboost.py
@@ -63,7 +63,7 @@ def test_xgboost_v2_kserve():
     predictor = V1beta1PredictorSpec(
         min_replicas=1,
         xgboost=V1beta1XGBoostSpec(
-            storage_uri="gs://kfserving-samples/models/xgboost/iris",
+            storage_uri="gs://kfserving-examples/models/xgboost/iris",
             env=[V1EnvVar(name="MLSERVER_MODEL_PARALLEL_WORKERS", value="0")],
             protocol_version="v2",
             resources=V1ResourceRequirements(
Repository: kserve/kserve

Issue:
KServe 0.9 release tracking
/kind feature

**Describe the solution you'd like**
KServe 0.9 release tracking:
RC release Date: 6/13/2022
Release Date: 6/27/2022

## KServe Model Serving:
- [X] Storage spec for unifying single model serving and model mesh
  - https://github.com/kserve/kserve/pull/1899 @Tomcli 
- [x] Transformer ModelMesh support
  - https://github.com/kserve/kserve/pull/2136 @chinhuang007 
- [x] Model Status API for unifying single model serving and model mesh
  - https://github.com/kserve/kserve/pull/2084 @pvaneck 
  - https://github.com/kserve/kserve/pull/2088 @Suresh-Nakkeran 
- [x] Inferece Graph v1alpha1 API and impmentation
  - https://github.com/kserve/kserve/pull/1910 @yuzisun @Iamlovingit 
- [X] KServe control plane HA
  - https://github.com/kserve/kserve/pull/2160 @Suresh-Nakkeran 
- [X] Enable inference protocol version auto selection for servingruntime 
  - https://github.com/kserve/kserve/pull/2118 @Suresh-Nakkeran 
- [x] Webhdfs storage uri support
  - https://github.com/kserve/kserve/pull/2077 @markwinter 
- [x] Azure file share support for storage initializer 
  - https://github.com/kserve/kserve/pull/1985 @laozc 
- [x] KServe Autoscaling spec API
  - https://github.com/kserve/kserve/pull/2082 @andyi2it 
- [X] KServe ingress class and domain template support for raw deployment mode
  - https://github.com/kserve/kserve/pull/2054 @pradithya 
  - https://github.com/kserve/kserve/pull/2049 @pradithya 

## ModelMesh:
- [X] OpenVINO model server support
  - https://github.com/kserve/modelmesh-runtime-adapter/pull/18 @tjohnson31415
- [x] Import ServingRuntime and InferenceService types from KServe 
  - https://github.com/kserve/modelmesh-serving/pull/146 @tjohnson31415 
  - https://github.com/kserve/modelmesh-serving/pull/140 @pvaneck 
- [x] Azure storage support for ModelMesh
  - https://github.com/kserve/modelmesh-runtime-adapter/pull/23 @pvaneck 

## Models UI:
- [x] Models Web App KServe 0.8 release support 
  - https://github.com/kserve/models-web-app/pull/35 @DavidSpek 

  
## Website:  
- [x] Website doc update


**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]



Discussion:

Resolving patch:
diff --git a/python/kserve/setup.py b/python/kserve/setup.py
--- a/python/kserve/setup.py
+++ b/python/kserve/setup.py
@@ -28,7 +28,7 @@
 
 setuptools.setup(
     name='kserve',
-    version='0.9.0rc0',
+    version='0.9.0',
     author="The KServe Authors",
     author_email='ellisbigelow@google.com, hejinchi@cn.ibm.com, dsun20@bloomberg.net',
     license="Apache License Version 2.0",


Test patch: