We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
unit-3.6 session is failing on Mac
```
nox > Running session unit-3.6
nox > Re-using existing virtual environment at .nox/unit-3-6.
nox > pip install mock pytest google-cloud-testutils pytest-cov freezegun -c /Users/swast/src/python-bigquery/testing/constraints-3.6.txt
nox > pip install -e .[all] -c /Users/swast/src/python-bigquery/testing/constraints-3.6.txt
nox > Command pip install -e .[all] -c /Users/swast/src/python-bigquery/testing/constraints-3.6.txt failed with exit code 1:
Obtaining file:///Users/swast/src/python-bigquery
Collecting google-api-core[grpc]<2.0.0dev,>=1.23.0
  Using cached google_api_core-1.23.0-py2.py3-none-any.whl (91 kB)
Collecting proto-plus>=1.10.0
  Using cached proto_plus-1.10.0-py3-none-any.whl
Collecting google-cloud-core<2.0dev,>=1.4.1
  Using cached google_cloud_core-1.4.1-py2.py3-none-any.whl (26 kB)
Collecting google-resumable-media<2.0dev,>=0.6.0
  Using cached google_resumable_media-0.6.0-py2.py3-none-any.whl (41 kB)
Requirement already satisfied: packaging>=14.3 in ./.nox/unit-3-6/lib/python3.6/site-packages (from google-cloud-bigquery==2.12.0) (20.9)
Collecting protobuf>=3.12.0
  Using cached protobuf-3.12.0-cp36-cp36m-macosx_10_9_x86_64.whl (1.3 MB)
Collecting google-cloud-bigquery-storage<3.0.0dev,>=2.0.0
  Using cached google_cloud_bigquery_storage-2.0.0-py2.py3-none-any.whl (60 kB)
Collecting grpcio<2.0dev,>=1.32.0
  Using cached grpcio-1.32.0-cp36-cp36m-macosx_10_9_x86_64.whl (3.3 MB)
Collecting pyarrow<4.0dev,>=1.0.0
  Using cached pyarrow-1.0.0-cp36-cp36m-macosx_10_9_intel.whl (11.1 MB)
Collecting pandas>=0.23.0
  Using cached pandas-0.23.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (16.8 MB)
ERROR: Could not find a version that satisfies the requirement pyarrow<4.0dev,>=3.0.0 (from google-cloud-bigquery[all])
ERROR: No matching distribution found for pyarrow<4.0dev,>=3.0.0
nox > Session unit-3.6 failed.
```

I think the `bignumeric` extra needs to be excluded from `all` or we need to add some logic to avoid installing that extra from Python 3.6.

Not sure why the Kokoro jobs aren't failing, though.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `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 io
16 import os
17 
18 import setuptools
19 
20 
21 # Package metadata.
22 
23 name = "google-cloud-bigquery"
24 description = "Google BigQuery API client library"
25 
26 # Should be one of:
27 # 'Development Status :: 3 - Alpha'
28 # 'Development Status :: 4 - Beta'
29 # 'Development Status :: 5 - Production/Stable'
30 release_status = "Development Status :: 5 - Production/Stable"
31 dependencies = [
32     "google-api-core[grpc] >= 1.23.0, < 2.0.0dev",
33     "proto-plus >= 1.10.0",
34     "google-cloud-core >= 1.4.1, < 2.0dev",
35     "google-resumable-media >= 0.6.0, < 2.0dev",
36     "packaging >= 14.3",
37     "protobuf >= 3.12.0",
38 ]
39 extras = {
40     "bqstorage": [
41         "google-cloud-bigquery-storage >= 2.0.0, <3.0.0dev",
42         # Due to an issue in pip's dependency resolver, the `grpc` extra is not
43         # installed, even though `google-cloud-bigquery-storage` specifies it
44         # as `google-api-core[grpc]`. We thus need to explicitly specify it here.
45         # See: https://github.com/googleapis/python-bigquery/issues/83 The
46         # grpc.Channel.close() method isn't added until 1.32.0.
47         # https://github.com/grpc/grpc/pull/15254
48         "grpcio >= 1.32.0, < 2.0dev",
49         "pyarrow >= 1.0.0, < 4.0dev",
50     ],
51     "pandas": ["pandas>=0.23.0", "pyarrow >= 1.0.0, < 4.0dev",],
52     "bignumeric_type": ["pyarrow >= 3.0.0, < 4.0dev"],
53     "tqdm": ["tqdm >= 4.7.4, <5.0.0dev"],
54     "opentelemetry": [
55         "opentelemetry-api==0.11b0",
56         "opentelemetry-sdk==0.11b0",
57         "opentelemetry-instrumentation==0.11b0",
58     ],
59 }
60 
61 all_extras = []
62 
63 for extra in extras:
64     all_extras.extend(extras[extra])
65 
66 extras["all"] = all_extras
67 
68 # Setup boilerplate below this line.
69 
70 package_root = os.path.abspath(os.path.dirname(__file__))
71 
72 readme_filename = os.path.join(package_root, "README.rst")
73 with io.open(readme_filename, encoding="utf-8") as readme_file:
74     readme = readme_file.read()
75 
76 version = {}
77 with open(os.path.join(package_root, "google/cloud/bigquery/version.py")) as fp:
78     exec(fp.read(), version)
79 version = version["__version__"]
80 
81 # Only include packages under the 'google' namespace. Do not include tests,
82 # benchmarks, etc.
83 packages = [
84     package
85     for package in setuptools.PEP420PackageFinder.find()
86     if package.startswith("google")
87 ]
88 
89 # Determine which namespaces are needed.
90 namespaces = ["google"]
91 if "google.cloud" in packages:
92     namespaces.append("google.cloud")
93 
94 
95 setuptools.setup(
96     name=name,
97     version=version,
98     description=description,
99     long_description=readme,
100     author="Google LLC",
101     author_email="googleapis-packages@google.com",
102     license="Apache 2.0",
103     url="https://github.com/googleapis/python-bigquery",
104     classifiers=[
105         release_status,
106         "Intended Audience :: Developers",
107         "License :: OSI Approved :: Apache Software License",
108         "Programming Language :: Python",
109         "Programming Language :: Python :: 3",
110         "Programming Language :: Python :: 3.6",
111         "Programming Language :: Python :: 3.7",
112         "Programming Language :: Python :: 3.8",
113         "Programming Language :: Python :: 3.9",
114         "Operating System :: OS Independent",
115         "Topic :: Internet",
116     ],
117     platforms="Posix; MacOS X; Windows",
118     packages=packages,
119     namespace_packages=namespaces,
120     install_requires=dependencies,
121     extras_require=extras,
122     python_requires=">=3.6, <3.10",
123     include_package_data=True,
124     zip_safe=False,
125 )
126
```
--- 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/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -48,7 +48,7 @@
         "grpcio >= 1.32.0, < 2.0dev",
         "pyarrow >= 1.0.0, < 4.0dev",
     ],
-    "pandas": ["pandas>=0.23.0", "pyarrow >= 1.0.0, < 4.0dev",],
+    "pandas": ["pandas>=0.23.0", "pyarrow >= 1.0.0, < 4.0dev"],
     "bignumeric_type": ["pyarrow >= 3.0.0, < 4.0dev"],
     "tqdm": ["tqdm >= 4.7.4, <5.0.0dev"],
     "opentelemetry": [
@@ -61,6 +61,11 @@
 all_extras = []
 
 for extra in extras:
+    # Exclude this extra from all to avoid overly strict dependencies on core
+    # libraries such as pyarrow.
+    # https://github.com/googleapis/python-bigquery/issues/563
+    if extra in {"bignumeric_type"}:
+        continue
     all_extras.extend(extras[extra])
 
 extras["all"] = all_extras

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -48,7 +48,7 @@\n         \"grpcio >= 1.32.0, < 2.0dev\",\n         \"pyarrow >= 1.0.0, < 4.0dev\",\n     ],\n-    \"pandas\": [\"pandas>=0.23.0\", \"pyarrow >= 1.0.0, < 4.0dev\",],\n+    \"pandas\": [\"pandas>=0.23.0\", \"pyarrow >= 1.0.0, < 4.0dev\"],\n     \"bignumeric_type\": [\"pyarrow >= 3.0.0, < 4.0dev\"],\n     \"tqdm\": [\"tqdm >= 4.7.4, <5.0.0dev\"],\n     \"opentelemetry\": [\n@@ -61,6 +61,11 @@\n all_extras = []\n \n for extra in extras:\n+    # Exclude this extra from all to avoid overly strict dependencies on core\n+    # libraries such as pyarrow.\n+    # https://github.com/googleapis/python-bigquery/issues/563\n+    if extra in {\"bignumeric_type\"}:\n+        continue\n     all_extras.extend(extras[extra])\n \n extras[\"all\"] = all_extras\n", "issue": "unit-3.6 session is failing on Mac\n```\r\nnox > Running session unit-3.6\r\nnox > Re-using existing virtual environment at .nox/unit-3-6.\r\nnox > pip install mock pytest google-cloud-testutils pytest-cov freezegun -c /Users/swast/src/python-bigquery/testing/constraints-3.6.txt\r\nnox > pip install -e .[all] -c /Users/swast/src/python-bigquery/testing/constraints-3.6.txt\r\nnox > Command pip install -e .[all] -c /Users/swast/src/python-bigquery/testing/constraints-3.6.txt failed with exit code 1:\r\nObtaining file:///Users/swast/src/python-bigquery\r\nCollecting google-api-core[grpc]<2.0.0dev,>=1.23.0\r\n  Using cached google_api_core-1.23.0-py2.py3-none-any.whl (91 kB)\r\nCollecting proto-plus>=1.10.0\r\n  Using cached proto_plus-1.10.0-py3-none-any.whl\r\nCollecting google-cloud-core<2.0dev,>=1.4.1\r\n  Using cached google_cloud_core-1.4.1-py2.py3-none-any.whl (26 kB)\r\nCollecting google-resumable-media<2.0dev,>=0.6.0\r\n  Using cached google_resumable_media-0.6.0-py2.py3-none-any.whl (41 kB)\r\nRequirement already satisfied: packaging>=14.3 in ./.nox/unit-3-6/lib/python3.6/site-packages (from google-cloud-bigquery==2.12.0) (20.9)\r\nCollecting protobuf>=3.12.0\r\n  Using cached protobuf-3.12.0-cp36-cp36m-macosx_10_9_x86_64.whl (1.3 MB)\r\nCollecting google-cloud-bigquery-storage<3.0.0dev,>=2.0.0\r\n  Using cached google_cloud_bigquery_storage-2.0.0-py2.py3-none-any.whl (60 kB)\r\nCollecting grpcio<2.0dev,>=1.32.0\r\n  Using cached grpcio-1.32.0-cp36-cp36m-macosx_10_9_x86_64.whl (3.3 MB)\r\nCollecting pyarrow<4.0dev,>=1.0.0\r\n  Using cached pyarrow-1.0.0-cp36-cp36m-macosx_10_9_intel.whl (11.1 MB)\r\nCollecting pandas>=0.23.0\r\n  Using cached pandas-0.23.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (16.8 MB)\r\nERROR: Could not find a version that satisfies the requirement pyarrow<4.0dev,>=3.0.0 (from google-cloud-bigquery[all])\r\nERROR: No matching distribution found for pyarrow<4.0dev,>=3.0.0\r\nnox > Session unit-3.6 failed.\r\n```\r\n\r\nI think the `bignumeric` extra needs to be excluded from `all` or we need to add some logic to avoid installing that extra from Python 3.6.\r\n\r\nNot sure why the Kokoro jobs aren't failing, though.\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 io\nimport os\n\nimport setuptools\n\n\n# Package metadata.\n\nname = \"google-cloud-bigquery\"\ndescription = \"Google BigQuery API client library\"\n\n# Should be one of:\n# 'Development Status :: 3 - Alpha'\n# 'Development Status :: 4 - Beta'\n# 'Development Status :: 5 - Production/Stable'\nrelease_status = \"Development Status :: 5 - Production/Stable\"\ndependencies = [\n    \"google-api-core[grpc] >= 1.23.0, < 2.0.0dev\",\n    \"proto-plus >= 1.10.0\",\n    \"google-cloud-core >= 1.4.1, < 2.0dev\",\n    \"google-resumable-media >= 0.6.0, < 2.0dev\",\n    \"packaging >= 14.3\",\n    \"protobuf >= 3.12.0\",\n]\nextras = {\n    \"bqstorage\": [\n        \"google-cloud-bigquery-storage >= 2.0.0, <3.0.0dev\",\n        # Due to an issue in pip's dependency resolver, the `grpc` extra is not\n        # installed, even though `google-cloud-bigquery-storage` specifies it\n        # as `google-api-core[grpc]`. We thus need to explicitly specify it here.\n        # See: https://github.com/googleapis/python-bigquery/issues/83 The\n        # grpc.Channel.close() method isn't added until 1.32.0.\n        # https://github.com/grpc/grpc/pull/15254\n        \"grpcio >= 1.32.0, < 2.0dev\",\n        \"pyarrow >= 1.0.0, < 4.0dev\",\n    ],\n    \"pandas\": [\"pandas>=0.23.0\", \"pyarrow >= 1.0.0, < 4.0dev\",],\n    \"bignumeric_type\": [\"pyarrow >= 3.0.0, < 4.0dev\"],\n    \"tqdm\": [\"tqdm >= 4.7.4, <5.0.0dev\"],\n    \"opentelemetry\": [\n        \"opentelemetry-api==0.11b0\",\n        \"opentelemetry-sdk==0.11b0\",\n        \"opentelemetry-instrumentation==0.11b0\",\n    ],\n}\n\nall_extras = []\n\nfor extra in extras:\n    all_extras.extend(extras[extra])\n\nextras[\"all\"] = all_extras\n\n# Setup boilerplate below this line.\n\npackage_root = os.path.abspath(os.path.dirname(__file__))\n\nreadme_filename = os.path.join(package_root, \"README.rst\")\nwith io.open(readme_filename, encoding=\"utf-8\") as readme_file:\n    readme = readme_file.read()\n\nversion = {}\nwith open(os.path.join(package_root, \"google/cloud/bigquery/version.py\")) as fp:\n    exec(fp.read(), version)\nversion = version[\"__version__\"]\n\n# Only include packages under the 'google' namespace. Do not include tests,\n# benchmarks, etc.\npackages = [\n    package\n    for package in setuptools.PEP420PackageFinder.find()\n    if package.startswith(\"google\")\n]\n\n# Determine which namespaces are needed.\nnamespaces = [\"google\"]\nif \"google.cloud\" in packages:\n    namespaces.append(\"google.cloud\")\n\n\nsetuptools.setup(\n    name=name,\n    version=version,\n    description=description,\n    long_description=readme,\n    author=\"Google LLC\",\n    author_email=\"googleapis-packages@google.com\",\n    license=\"Apache 2.0\",\n    url=\"https://github.com/googleapis/python-bigquery\",\n    classifiers=[\n        release_status,\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Programming Language :: Python\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Operating System :: OS Independent\",\n        \"Topic :: Internet\",\n    ],\n    platforms=\"Posix; MacOS X; Windows\",\n    packages=packages,\n    namespace_packages=namespaces,\n    install_requires=dependencies,\n    extras_require=extras,\n    python_requires=\">=3.6, <3.10\",\n    include_package_data=True,\n    zip_safe=False,\n)\n", "path": "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 io\nimport os\n\nimport setuptools\n\n\n# Package metadata.\n\nname = \"google-cloud-bigquery\"\ndescription = \"Google BigQuery API client library\"\n\n# Should be one of:\n# 'Development Status :: 3 - Alpha'\n# 'Development Status :: 4 - Beta'\n# 'Development Status :: 5 - Production/Stable'\nrelease_status = \"Development Status :: 5 - Production/Stable\"\ndependencies = [\n    \"google-api-core[grpc] >= 1.23.0, < 2.0.0dev\",\n    \"proto-plus >= 1.10.0\",\n    \"google-cloud-core >= 1.4.1, < 2.0dev\",\n    \"google-resumable-media >= 0.6.0, < 2.0dev\",\n    \"packaging >= 14.3\",\n    \"protobuf >= 3.12.0\",\n]\nextras = {\n    \"bqstorage\": [\n        \"google-cloud-bigquery-storage >= 2.0.0, <3.0.0dev\",\n        # Due to an issue in pip's dependency resolver, the `grpc` extra is not\n        # installed, even though `google-cloud-bigquery-storage` specifies it\n        # as `google-api-core[grpc]`. We thus need to explicitly specify it here.\n        # See: https://github.com/googleapis/python-bigquery/issues/83 The\n        # grpc.Channel.close() method isn't added until 1.32.0.\n        # https://github.com/grpc/grpc/pull/15254\n        \"grpcio >= 1.32.0, < 2.0dev\",\n        \"pyarrow >= 1.0.0, < 4.0dev\",\n    ],\n    \"pandas\": [\"pandas>=0.23.0\", \"pyarrow >= 1.0.0, < 4.0dev\"],\n    \"bignumeric_type\": [\"pyarrow >= 3.0.0, < 4.0dev\"],\n    \"tqdm\": [\"tqdm >= 4.7.4, <5.0.0dev\"],\n    \"opentelemetry\": [\n        \"opentelemetry-api==0.11b0\",\n        \"opentelemetry-sdk==0.11b0\",\n        \"opentelemetry-instrumentation==0.11b0\",\n    ],\n}\n\nall_extras = []\n\nfor extra in extras:\n    # Exclude this extra from all to avoid overly strict dependencies on core\n    # libraries such as pyarrow.\n    # https://github.com/googleapis/python-bigquery/issues/563\n    if extra in {\"bignumeric_type\"}:\n        continue\n    all_extras.extend(extras[extra])\n\nextras[\"all\"] = all_extras\n\n# Setup boilerplate below this line.\n\npackage_root = os.path.abspath(os.path.dirname(__file__))\n\nreadme_filename = os.path.join(package_root, \"README.rst\")\nwith io.open(readme_filename, encoding=\"utf-8\") as readme_file:\n    readme = readme_file.read()\n\nversion = {}\nwith open(os.path.join(package_root, \"google/cloud/bigquery/version.py\")) as fp:\n    exec(fp.read(), version)\nversion = version[\"__version__\"]\n\n# Only include packages under the 'google' namespace. Do not include tests,\n# benchmarks, etc.\npackages = [\n    package\n    for package in setuptools.PEP420PackageFinder.find()\n    if package.startswith(\"google\")\n]\n\n# Determine which namespaces are needed.\nnamespaces = [\"google\"]\nif \"google.cloud\" in packages:\n    namespaces.append(\"google.cloud\")\n\n\nsetuptools.setup(\n    name=name,\n    version=version,\n    description=description,\n    long_description=readme,\n    author=\"Google LLC\",\n    author_email=\"googleapis-packages@google.com\",\n    license=\"Apache 2.0\",\n    url=\"https://github.com/googleapis/python-bigquery\",\n    classifiers=[\n        release_status,\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Programming Language :: Python\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Operating System :: OS Independent\",\n        \"Topic :: Internet\",\n    ],\n    platforms=\"Posix; MacOS X; Windows\",\n    packages=packages,\n    namespace_packages=namespaces,\n    install_requires=dependencies,\n    extras_require=extras,\n    python_requires=\">=3.6, <3.10\",\n    include_package_data=True,\n    zip_safe=False,\n)\n", "path": "setup.py"}]}