Repository: googleapis/google-cloud-python

Issue:
google-cloud-bigquery 1.11.1 missing protobuf dependency
See: https://github.com/pydata/pandas-gbq/issues/271#issue-429543281

```
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/cloud/bigquery/__init__.py:35: in <module>
    from google.cloud.bigquery.client import Client
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/cloud/bigquery/client.py:45: in <module>
    from google.cloud.bigquery.dataset import Dataset
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/cloud/bigquery/dataset.py:24: in <module>
    from google.cloud.bigquery.model import ModelReference
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/cloud/bigquery/model.py:27: in <module>
    from google.cloud.bigquery_v2 import types
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/cloud/bigquery_v2/__init__.py:23: in <module>
    from google.cloud.bigquery_v2 import types
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/cloud/bigquery_v2/types.py:22: in <module>
    from google.cloud.bigquery_v2.proto import model_pb2
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/cloud/bigquery_v2/proto/model_pb2.py:17: in <module>
    from google.cloud.bigquery_v2.proto import (
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/cloud/bigquery_v2/proto/model_reference_pb2.py:17: in <module>
    from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/api/annotations_pb2.py:15: in <module>
    from google.api import http_pb2 as google_dot_api_dot_http__pb2
../../../miniconda3/envs/pandas-dev/lib/python3.6/site-packages/google/api/http_pb2.py:22: in <module>
    serialized_pb=_b('\n\x15google/api/http.proto\x12\ngoogle.api\"T\n\x04Http\x12#\n\x05rules\x18\x01 \x03(\x0b\x32\x14.google.api.HttpRule\x12\'\n\x1f\x66ully_decode_reserved_expansion\x18\x02 \x01(\x08\"\x81\x02\n\x08HttpRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12\r\n\x03get\x18\x02 \x01(\tH\x00\x12\r\n\x03put\x18\x03 \x01(\tH\x00\x12\x0e\n\x04post\x18\x04 \x01(\tH\x00\x12\x10\n\x06\x64\x65lete\x18\x05 \x01(\H\x00\x12\x0f\n\x05patch\x18\x06 \x01(\tH\x00\x12/\n\x06\x63ustom\x18\x08 \x01(\x0b\x32\x1d.google.api.CustomHttpPatternH\x00\x12\x0c\n\x04\x62ody\x18\x07 \x01(\t\x12\x15\n\rresponse_body\x18\x0c \x01(\t\x12\x31\n\x13\x61\x64\x64itional_bindings\x18\x0b \x03(\x0b\x32\x14.google.api.HttpRuleB\t\n\x07pattern\"/\n\x11\x43ustomHttpPattern\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\tBj\n\x0e\x63om.google.apiB\tHttpProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xf8\x01\x01\xa2\x02\x04GAPIb\x06proto3')
E   TypeError: __new__() got an unexpected keyword argument 'serialized_options'
```

Usually this means a too-old version of the protobuf package. We don't actually specify a dependency on protobuf in `setup.py`. We should add this.


Discussion:

Resolving patch:
diff --git a/bigquery/setup.py b/bigquery/setup.py
--- a/bigquery/setup.py
+++ b/bigquery/setup.py
@@ -29,10 +29,11 @@
 # 'Development Status :: 5 - Production/Stable'
 release_status = "Development Status :: 5 - Production/Stable"
 dependencies = [
+    'enum34; python_version < "3.4"',
     "google-api-core >= 1.6.0, < 2.0.0dev",
     "google-cloud-core >= 0.29.0, < 0.30dev",
     "google-resumable-media >= 0.3.1",
-    'enum34; python_version < "3.4"',
+    "protobuf >= 3.6.0",
 ]
 extras = {
     "bqstorage": "google-cloud-bigquery-storage >= 0.2.0dev1, <2.0.0dev",


Test patch: