Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add ability to retry query job automatically if the job fails #539

Closed
JakeSummers opened this issue Mar 2, 2021 · 7 comments · Fixed by #837
Closed

feat: add ability to retry query job automatically if the job fails #539

JakeSummers opened this issue Mar 2, 2021 · 7 comments · Fixed by #837
Assignees
Labels
api: bigquery Issues related to the googleapis/python-bigquery API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

Comments

@JakeSummers
Copy link

Environment details

  • OS type and version: Mac (10.15.7) and Python Base Docker Image
  • Python version: Python 3.7.8
  • Poetry version: Poetry version 1.0.10
  • google-cloud-bigquery: 1.28.0 Google BigQuery API client library

Issue

I am using the retry parameter in biquery.Client.query but it isn't retrying my request.

Code example

Setup code:

import structlog
from google.api_core import retry, exceptions
from google.api_core.retry import if_exception_type, Retry
from google.cloud import bigquery

from common.logging.setup_logging import set_logger_config

set_logger_config() # Enables debug level logging for retry

project = "myproject"
source_table = f"{project}.mydataset.TABLE_NOT_REALLY_HERE"
statement = f"SELECT * FROM `{source_table}`"
client = bigquery.Client(project=project)

Now if you run:

retry_policy = retry.Retry(predicate=if_exception_type(exceptions.NotFound))
query_job = client.query(statement, retry=retry_policy)
result = list(query_job.result(retry=retry_policy))
print(result)

Only one request is made:

Traceback (most recent call last):
  File "/Users/.../lib/python3.7/site-packages/google/cloud/bigquery/job.py", line 3230, in result
    super(QueryJob, self).result(retry=retry, timeout=timeout)
  File "/Users/.../lib/python3.7/site-packages/google/cloud/bigquery/job.py", line 835, in result
    return super(_AsyncJob, self).result(timeout=timeout)
  File "/Users/.../lib/python3.7/site-packages/google/api_core/future/polling.py", line 134, in result
    raise self._exception
google.api_core.exceptions.NotFound: 404 Not found: Table <TABLE_NAME> was not found in location US

(job ID: 5aeb5865-7bde-4795-ae80-75410f8b9282)

                                              -----Query Job SQL Follows-----                                              

    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |
   1:SELECT *
   2:                FROM `<TABLE_NAME>`
   3:                
    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |
python-BaseException

Process finished with exit code 1

Workaround

If instead, I run:

@Retry(predicate=if_exception_type(exceptions.NotFound))
def do():
    query_job = client.query(statement)
    result = list(query_job.result())
    print(result)
do()

This works as expected and retries the request:

{"logger": "google.api_core.retry", "timestamp": "2021-03-02T19:07:48.000317Z", "severity": "debug", "message": "Retrying due to 404 Not found: Table <table_name> was not found in location US\n\n(job ID: <REMOVED>, sleeping 1.0s ..."}
{"logger": "google.api_core.retry", "timestamp": "2021-03-02T19:07:49.363842Z", "severity": "debug", "message": "Retrying due to 404 Not found: Table <table_name> was not found in location US\n\n(job ID: <REMOVED>, sleeping 3.2s ..."}
{"logger": "google.api_core.retry", "timestamp": "2021-03-02T19:07:52.741042Z", "severity": "debug", "message": "Retrying due to 404 Not found: Table <table_name> was not found in location US\n\n(job ID: <REMOVED>, sleeping 2.8s ..."}
{"logger": "google.api_core.retry", "timestamp": "2021-03-02T19:07:55.969272Z", "severity": "debug", "message": "Retrying due to 404 Not found: Table <table_name> was not found in location US\n\n(job ID: <REMOVED>, sleeping 9.2s ..."}
{"logger": "google.api_core.retry", "timestamp": "2021-03-02T19:08:05.493544Z", "severity": "debug", "message": "Retrying due to 404 Not found: Table <table_name> was not found in location US\n\n(job ID: <REMOVED>, sleeping 4.2s ..."}
{"logger": "google.api_core.retry", "timestamp": "2021-03-02T19:08:09.960265Z", "severity": "debug", "message": "Retrying due to 404 Not found: Table <table_name> was not found in location US\n\n(job ID: <REMOVED>, sleeping 44.0s ..."}
@product-auto-label product-auto-label bot added the api: bigquery Issues related to the googleapis/python-bigquery API. label Mar 2, 2021
@plamut
Copy link
Contributor

plamut commented Mar 3, 2021

Confirmed, passing in a custom Retry object via the retry argument does not work, but it works if the same object is applied directly as a decorator to the calling function.

If I had to guess, I'd say the custom Retry instance gets lost somewhere in the call chain and a default Retry is used instead (which does not repeat NotFound errors).

@plamut plamut added priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. labels Mar 3, 2021
@plamut plamut self-assigned this Mar 3, 2021
@plamut
Copy link
Contributor

plamut commented Mar 5, 2021

OK, so here's the thing - the custom Retry is passed down to where the actual API call is made and wraps it, but the call itself does not raise an exception.

Instead, the response is OK, but the response body, among other things, contains the error info, which is parsed and stored on the job instance (job instance is also a future and it's resolved with the exception parsed from the response body). Then, when inquiring for the job result:

query_job.result(retry=retry_policy)

...the job instance (read: future) figures out it has already been resolved with an error and raises it, it does not make any more requests and the retry passed to result() also has no effect.

TL; DR - considering that job instances are futures, this could actually be considered expected behavior, since that's the way futures are supposed to work. I do agree, however, that it's not that intuitive.

@tswast Do you agree with this reasoning?

We should at least document it better when a Retry actually kicks in (e.g. "external" errors). Right now a job.begin request "succeeds", even if it creates a job that immediately fails, but retries don't see this, and they don't do deep inspection of the response.

@plamut
Copy link
Contributor

plamut commented Mar 5, 2021

@JakeSummers I saw your reaction. :)

The client.query() call makes an API request to the jobs.insert endpoint. An OK response means that a job has been successfully created on the backend, even if the job itself stopped running immediately due to an error. As far as Retry is concerned, the jobs.insert request succeeded and there's nothing to retry.

Once a job is done running, its state will not change, and it cannot be retried/restarted, the backend doesn't support that. The only thing clients can do is to try and create another job using the same arguments, but it would certainly not be desired if a client repeatedly spawned numerous new jobs every time a successfully created job terminated with an error.

Does the behavior make more sense now?

@tswast
Copy link
Contributor

tswast commented Mar 8, 2021

@JakeSummers Do I understand your request correctly that you'd like to retry the whole query?

We have some discussion at #14 and googleapis/google-cloud-python#5555 about this.

There are some classes of errors for which it would make sense to restart a job from the beginning. For example, a query job fails with "INTERNAL ERROR" might succeed the next time you run the same query. For these cases, we provide a bqclient.create_job() method which can take the job configuration of any kind of job and attempt to re-run it.

In general, I agree with @plamut that "it would certainly not be desired if a client repeatedly spawned numerous new jobs every time a successfully created job terminated with an error."

I'll discuss with some BQ engineers to see if there are known errors where it is safe to restart the job.

@JakeSummers
Copy link
Author

RE: @plamut

The client.query() call makes an API request to the jobs.insert endpoint. An OK response means that a job has been successfully created on the backend, even if the job itself stopped running immediately due to an error. As far as Retry is concerned, the jobs.insert request succeeded and there's nothing to retry.

Maybe it is naive of me to say this, but I view this as an implementation-detail of the client library. As a user, my feeling is that the API is leaking its implementation into my code.


RE: @tswast

@JakeSummers Do I understand your request correctly that you'd like to retry the whole query?

Yes!

Maybe providing more context about the situation that I am hitting would make this more clear. I am querying a table that is managed by an up-stream ETL. Every hour the table is deleted and re-created. There is a very-breif-window for which the table does not exist. For this reason, I want to retry the query when I receive a 404.

With the current API, it looks like the retry parameter is to handle http errors that are encounter while the query is running not just a subset of errors that are encountered while creating the job.

There are some classes of errors for which it would make sense to restart a job from the beginning. For example, a query job fails with "INTERNAL ERROR" might succeed the next time you run the same query. For these cases, we provide a bqclient.create_job() method which can take the job configuration of any kind of job and attempt to re-run it.

Thanks for the pointer. I had a quick look at this, for the documentation, it is unclear to me that this is expected to behave differently. Right now, I am just wrapping my call in a retry but if I experience issues with that, I suppose that I will explore this.


Other question: Is this behaviour consistent with how the retry parameter works on the storage API? For example, the list_blobs (link) takes a retry param. Does this only retry in certain senarios?

@tswast
Copy link
Contributor

tswast commented Mar 9, 2021

Other question: Is this behaviour consistent with how the retry parameter works on the storage API? For example, the list_blobs (link) takes a retry param. Does this only retry in certain scenarios?

list_blobs is a straightforward 1:1 mapping between backend API and client function, so it doesn't have these problems.

The BigQuery client behavior is consistent with long-running operations in other APIs such as batch translation (batch_translate_text) with the Google Cloud Translate API, where the retry behavior will retry submitting the job if the submit request fails, but it does not resubmit the request if the translation job fails

@tswast tswast added type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. and removed priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. labels Mar 17, 2021
@tswast tswast changed the title Retry parameter of the bigquery.Client.query command doesn't work feat: add ability to retry query job automatically if the job fails Mar 17, 2021
@plamut plamut removed their assignment Apr 27, 2021
@tswast
Copy link
Contributor

tswast commented Jul 26, 2021

As discussed in #809, after brainstorming with @jimfulton, we can make the query job save the original request so that we don't have to worry about anything except for resetting the job ID before retrying.

gcf-merge-on-green bot pushed a commit that referenced this issue Aug 11, 2021
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)

Fixes #539  🦕

Previously, we only retried failed API requests. Now, we retry failed jobs (according to the predicate of the `Retry` object passed to `job.result()`).
tswast added a commit that referenced this issue Aug 16, 2021
* chore: protect v3.x.x branch (#816)

* chore: protect v3.x.x branch

In preparation for breaking changes.

* force pattern to be a string

* simplify branch name

* fix: no longer raise a warning in `to_dataframe` if `max_results` set (#815)

That warning should only be used when BQ Storage client is
explicitly passed in to RowIterator methods when max_results
value is also set.

* feat: Update proto definitions for bigquery/v2 to support new proto fields for BQML. (#817)

PiperOrigin-RevId: 387137741

Source-Link: googleapis/googleapis@8962c92

Source-Link: googleapis/googleapis-gen@102f1b4

* chore: release 2.23.0 (#819)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore(deps): update dependency google-cloud-bigquery to v2.23.0 (#820)

* fix: `insert_rows()` accepts float column values as strings again (#824)

* chore: release 2.23.1 (#825)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore: add second protection rule for v3 branch (#828)

* chore(deps): update dependency google-cloud-bigquery to v2.23.1 (#827)

* test: retry getting rows after streaming them in `test_insert_rows_from_dataframe` (#832)

* chore(deps): update dependency pyarrow to v5 (#834)

* chore(deps): update dependency google-cloud-bigquery-storage to v2.6.2 (#795)

* deps: expand pyarrow pins to support 5.x releases (#833)

* chore: release 2.23.2 (#835)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore(deps): update dependency google-auth-oauthlib to v0.4.5 (#839)

* chore(deps): update dependency google-cloud-bigquery to v2.23.2 (#838)

* chore(deps): update dependency google-cloud-testutils to v1 (#845)

* chore: require CODEOWNER review and up to date branches (#846)

These two lines bring the rules on this repo in line with the defaults:

https://github.com/googleapis/repo-automation-bots/blob/63c858e539e1f4d9bb8ea66e12f9c0a0de5fef55/packages/sync-repo-settings/src/required-checks.json#L40-L50

* chore: add api-bigquery as a samples owner (#852)

* fix: increase default retry deadline to 10 minutes (#859)

The backend API has a timeout of 4 minutes, so the default of 2 minutes was not
allowing for any retries to happen in some cases.

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #853  🦕

* process: add yoshi-python to samples CODEOWNERS (#858)

Closes #857.

* chore: release 2.23.3 (#860)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Tim Swast <swast@google.com>

* chore(deps): update dependency google-cloud-bigquery to v2.23.3 (#866)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-cloud-bigquery](https://togithub.com/googleapis/python-bigquery) | `==2.23.2` -> `==2.23.3` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.23.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.23.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.23.3/compatibility-slim/2.23.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.23.3/confidence-slim/2.23.2)](https://docs.renovatebot.com/merge-confidence/) |

***

### Release Notes

<details>
<summary>googleapis/python-bigquery</summary>

### [`v2.23.3`](https://togithub.com/googleapis/python-bigquery/blob/master/CHANGELOG.md#​2233-httpswwwgithubcomgoogleapispython-bigquerycomparev2232v2233-2021-08-06)

[Compare Source](https://togithub.com/googleapis/python-bigquery/compare/v2.23.2...v2.23.3)

</details>

***

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

***

*   \[ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

***

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-bigquery).

* feat: add support for transaction statistics (#849)

* feat: add support for transaction statistics

* Hoist transaction_info into base job class

* Add versionadded directive to new property and class

* Include new class in docs reference

* chore(deps): update dependency google-cloud-bigquery-storage to v2.6.3 (#863)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-cloud-bigquery-storage](https://togithub.com/googleapis/python-bigquery-storage) | `==2.6.2` -> `==2.6.3` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.6.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.6.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.6.3/compatibility-slim/2.6.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.6.3/confidence-slim/2.6.2)](https://docs.renovatebot.com/merge-confidence/) |

***

### Release Notes

<details>
<summary>googleapis/python-bigquery-storage</summary>

### [`v2.6.3`](https://togithub.com/googleapis/python-bigquery-storage/blob/master/CHANGELOG.md#​263-httpswwwgithubcomgoogleapispython-bigquery-storagecomparev262v263-2021-08-06)

[Compare Source](https://togithub.com/googleapis/python-bigquery-storage/compare/v2.6.2...v2.6.3)

</details>

***

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

***

*   \[x] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

***

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-bigquery).

* chore: fix INSTALL_LIBRARY_FROM_SOURCE in noxfile.py (#869)

Source-Link: googleapis/synthtool@6252f2c
Post-Processor: gcr.io/repo-automation-bots/owlbot-python:latest@sha256:50e35228649c47b6ca82aa0be3ff9eb2afce51c82b66c4a03fe4afeb5ff6c0fc

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* feat: make the same `Table*` instances equal to each other (#867)

* feat: make the same Table instances equal to each other

* Table equality should ignore metadata differences

* Compare instances through tableReference property

* Make Table instances hashable

* Make Table* classes interchangeable

If these classes reference the same table, they are now considered equal.

* feat: support `ScalarQueryParameterType` for `type_` argument in `ScalarQueryParameter` constructor (#850)

Follow-up to https://github.com/googleapis/python-bigquery/pull/840/files#r679880582

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

* feat: retry failed query jobs in `result()` (#837)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)

Fixes #539  🦕

Previously, we only retried failed API requests. Now, we retry failed jobs (according to the predicate of the `Retry` object passed to `job.result()`).

* fix: make unicode characters working well in load_table_from_json (#865)

Co-authored-by: Tim Swast <swast@google.com>
Co-authored-by: Tres Seaver <tseaver@palladion.com>

* chore: release 2.24.0 (#868)

:robot: I have created a release \*beep\* \*boop\*
---
## [2.24.0](https://www.github.com/googleapis/python-bigquery/compare/v2.23.3...v2.24.0) (2021-08-11)


### Features

* add support for transaction statistics ([#849](https://www.github.com/googleapis/python-bigquery/issues/849)) ([7f7b1a8](https://www.github.com/googleapis/python-bigquery/commit/7f7b1a808d50558772a0deb534ca654da65d629e))
* make the same `Table*` instances equal to each other ([#867](https://www.github.com/googleapis/python-bigquery/issues/867)) ([c1a3d44](https://www.github.com/googleapis/python-bigquery/commit/c1a3d4435739a21d25aa154145e36d3a7c42eeb6))
* retry failed query jobs in `result()` ([#837](https://www.github.com/googleapis/python-bigquery/issues/837)) ([519d99c](https://www.github.com/googleapis/python-bigquery/commit/519d99c20e7d1101f76981f3de036fdf3c7a4ecc))
* support `ScalarQueryParameterType` for `type_` argument in `ScalarQueryParameter` constructor ([#850](https://www.github.com/googleapis/python-bigquery/issues/850)) ([93d15e2](https://www.github.com/googleapis/python-bigquery/commit/93d15e2e5405c2cc6d158c4e5737361344193dbc))


### Bug Fixes

* make unicode characters working well in load_table_from_json ([#865](https://www.github.com/googleapis/python-bigquery/issues/865)) ([ad9c802](https://www.github.com/googleapis/python-bigquery/commit/ad9c8026f0e667f13dd754279f9dc40d06f4fa78))
---


This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).

* chore(deps): update dependency google-cloud-bigquery to v2.24.0 (#873)

* test: refactor `list_rows` tests and add test for scalars (#829)

* test: refactor `list_rows` tests and add test for scalars

* fix JSON formatting

* add TODO for INTERVAL Arrow support

* format tests

* chore: drop mention of Python 2.7 from templates (#877)

Source-Link: googleapis/synthtool@facee4c
Post-Processor: gcr.io/repo-automation-bots/owlbot-python:latest@sha256:9743664022bd63a8084be67f144898314c7ca12f0a03e422ac17c733c129d803

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: remove pytz dependency and require pyarrow>=3.0.0 (#875)

* fix: remove pytz dependency

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* fix(deps): require pyarrow>=3.0.0

* remove version check for pyarrow

* require pyarrow 3.0 in pandas extra

* remove _BIGNUMERIC_SUPPORT references from tests

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Dina Graves Portman <dinagraves@google.com>
Co-authored-by: Tim Swast <swast@google.com>

* Update google/cloud/bigquery/table.py

* tests: avoid INTERVAL columns in pandas tests

Co-authored-by: Peter Lamut <plamut@users.noreply.github.com>
Co-authored-by: gcf-owl-bot[bot] <78513119+gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Jim Fulton <jim@jimfulton.info>
Co-authored-by: Grimmer <grimmer0125@gmail.com>
Co-authored-by: Tres Seaver <tseaver@palladion.com>
Co-authored-by: Dina Graves Portman <dinagraves@google.com>
tswast added a commit that referenced this issue Sep 9, 2021
* chore: protect v3.x.x branch (#816)

* chore: protect v3.x.x branch

In preparation for breaking changes.

* force pattern to be a string

* simplify branch name

* fix: no longer raise a warning in `to_dataframe` if `max_results` set (#815)

That warning should only be used when BQ Storage client is
explicitly passed in to RowIterator methods when max_results
value is also set.

* feat: Update proto definitions for bigquery/v2 to support new proto fields for BQML. (#817)

PiperOrigin-RevId: 387137741

Source-Link: googleapis/googleapis@8962c92

Source-Link: https://github.com/googleapis/googleapis-gen/commit/102f1b4277cc5a049663535d9eeb77831b67de25

* chore: release 2.23.0 (#819)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore(deps): update dependency google-cloud-bigquery to v2.23.0 (#820)

* fix: `insert_rows()` accepts float column values as strings again (#824)

* chore: release 2.23.1 (#825)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore: add second protection rule for v3 branch (#828)

* chore(deps): update dependency google-cloud-bigquery to v2.23.1 (#827)

* test: retry getting rows after streaming them in `test_insert_rows_from_dataframe` (#832)

* chore(deps): update dependency pyarrow to v5 (#834)

* chore(deps): update dependency google-cloud-bigquery-storage to v2.6.2 (#795)

* deps: expand pyarrow pins to support 5.x releases (#833)

* chore: release 2.23.2 (#835)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore(deps): update dependency google-auth-oauthlib to v0.4.5 (#839)

* chore(deps): update dependency google-cloud-bigquery to v2.23.2 (#838)

* chore(deps): update dependency google-cloud-testutils to v1 (#845)

* chore: require CODEOWNER review and up to date branches (#846)

These two lines bring the rules on this repo in line with the defaults:

https://github.com/googleapis/repo-automation-bots/blob/63c858e539e1f4d9bb8ea66e12f9c0a0de5fef55/packages/sync-repo-settings/src/required-checks.json#L40-L50

* chore: add api-bigquery as a samples owner (#852)

* fix: increase default retry deadline to 10 minutes (#859)

The backend API has a timeout of 4 minutes, so the default of 2 minutes was not
allowing for any retries to happen in some cases.

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #853  🦕

* process: add yoshi-python to samples CODEOWNERS (#858)

Closes #857.

* chore: release 2.23.3 (#860)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Tim Swast <swast@google.com>

* chore(deps): update dependency google-cloud-bigquery to v2.23.3 (#866)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-cloud-bigquery](https://togithub.com/googleapis/python-bigquery) | `==2.23.2` -> `==2.23.3` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.23.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.23.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.23.3/compatibility-slim/2.23.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.23.3/confidence-slim/2.23.2)](https://docs.renovatebot.com/merge-confidence/) |

***

### Release Notes

<details>
<summary>googleapis/python-bigquery</summary>

### [`v2.23.3`](https://togithub.com/googleapis/python-bigquery/blob/master/CHANGELOG.md#​2233-httpswwwgithubcomgoogleapispython-bigquerycomparev2232v2233-2021-08-06)

[Compare Source](https://togithub.com/googleapis/python-bigquery/compare/v2.23.2...v2.23.3)

</details>

***

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

***

*   \[ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

***

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-bigquery).

* feat: add support for transaction statistics (#849)

* feat: add support for transaction statistics

* Hoist transaction_info into base job class

* Add versionadded directive to new property and class

* Include new class in docs reference

* chore(deps): update dependency google-cloud-bigquery-storage to v2.6.3 (#863)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-cloud-bigquery-storage](https://togithub.com/googleapis/python-bigquery-storage) | `==2.6.2` -> `==2.6.3` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.6.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.6.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.6.3/compatibility-slim/2.6.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.6.3/confidence-slim/2.6.2)](https://docs.renovatebot.com/merge-confidence/) |

***

### Release Notes

<details>
<summary>googleapis/python-bigquery-storage</summary>

### [`v2.6.3`](https://togithub.com/googleapis/python-bigquery-storage/blob/master/CHANGELOG.md#​263-httpswwwgithubcomgoogleapispython-bigquery-storagecomparev262v263-2021-08-06)

[Compare Source](https://togithub.com/googleapis/python-bigquery-storage/compare/v2.6.2...v2.6.3)

</details>

***

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

***

*   \[x] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

***

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-bigquery).

* chore: fix INSTALL_LIBRARY_FROM_SOURCE in noxfile.py (#869)

Source-Link: googleapis/synthtool@6252f2c
Post-Processor: gcr.io/repo-automation-bots/owlbot-python:latest@sha256:50e35228649c47b6ca82aa0be3ff9eb2afce51c82b66c4a03fe4afeb5ff6c0fc

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* feat: make the same `Table*` instances equal to each other (#867)

* feat: make the same Table instances equal to each other

* Table equality should ignore metadata differences

* Compare instances through tableReference property

* Make Table instances hashable

* Make Table* classes interchangeable

If these classes reference the same table, they are now considered equal.

* feat: support `ScalarQueryParameterType` for `type_` argument in `ScalarQueryParameter` constructor (#850)

Follow-up to https://github.com/googleapis/python-bigquery/pull/840/files#r679880582

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

* feat: retry failed query jobs in `result()` (#837)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)

Fixes #539  🦕

Previously, we only retried failed API requests. Now, we retry failed jobs (according to the predicate of the `Retry` object passed to `job.result()`).

* fix: make unicode characters working well in load_table_from_json (#865)

Co-authored-by: Tim Swast <swast@google.com>
Co-authored-by: Tres Seaver <tseaver@palladion.com>

* chore: release 2.24.0 (#868)

:robot: I have created a release \*beep\* \*boop\*
---
## [2.24.0](https://www.github.com/googleapis/python-bigquery/compare/v2.23.3...v2.24.0) (2021-08-11)


### Features

* add support for transaction statistics ([#849](https://www.github.com/googleapis/python-bigquery/issues/849)) ([7f7b1a8](https://www.github.com/googleapis/python-bigquery/commit/7f7b1a808d50558772a0deb534ca654da65d629e))
* make the same `Table*` instances equal to each other ([#867](https://www.github.com/googleapis/python-bigquery/issues/867)) ([c1a3d44](https://www.github.com/googleapis/python-bigquery/commit/c1a3d4435739a21d25aa154145e36d3a7c42eeb6))
* retry failed query jobs in `result()` ([#837](https://www.github.com/googleapis/python-bigquery/issues/837)) ([519d99c](https://www.github.com/googleapis/python-bigquery/commit/519d99c20e7d1101f76981f3de036fdf3c7a4ecc))
* support `ScalarQueryParameterType` for `type_` argument in `ScalarQueryParameter` constructor ([#850](https://www.github.com/googleapis/python-bigquery/issues/850)) ([93d15e2](https://www.github.com/googleapis/python-bigquery/commit/93d15e2e5405c2cc6d158c4e5737361344193dbc))


### Bug Fixes

* make unicode characters working well in load_table_from_json ([#865](https://www.github.com/googleapis/python-bigquery/issues/865)) ([ad9c802](https://www.github.com/googleapis/python-bigquery/commit/ad9c8026f0e667f13dd754279f9dc40d06f4fa78))
---


This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).

* chore(deps): update dependency google-cloud-bigquery to v2.24.0 (#873)

* test: refactor `list_rows` tests and add test for scalars (#829)

* test: refactor `list_rows` tests and add test for scalars

* fix JSON formatting

* add TODO for INTERVAL Arrow support

* format tests

* chore: drop mention of Python 2.7 from templates (#877)

Source-Link: googleapis/synthtool@facee4c
Post-Processor: gcr.io/repo-automation-bots/owlbot-python:latest@sha256:9743664022bd63a8084be67f144898314c7ca12f0a03e422ac17c733c129d803

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix: remove pytz dependency and require pyarrow>=3.0.0 (#875)

* fix: remove pytz dependency

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* fix(deps): require pyarrow>=3.0.0

* remove version check for pyarrow

* require pyarrow 3.0 in pandas extra

* remove _BIGNUMERIC_SUPPORT references from tests

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Dina Graves Portman <dinagraves@google.com>
Co-authored-by: Tim Swast <swast@google.com>

* chore: release 2.24.1 (#879)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore(deps): update dependency google-cloud-bigquery to v2.24.1 (#887)

* feat: Support using GeoPandas for GEOGRAPHY columns (#848)

* test: Add test of datetime and time pandas load (#895)

* chore: release 2.25.0 (#898)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Jim Fulton <jim@jimfulton.info>

* chore(deps): update dependency numpy to v1.21.2 (#899)

* chore(deps): update dependency numpy to v1.21.2

* Update samples/geography/requirements.txt

Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>

* chore(deps): update dependency google-cloud-core to v2 (#904)

* fix: use REST API in cell magic when requested (#892)

Fixes #876.

The `--use_rest_api` option did not work as expected and this commit fixes it.

**PR checklist:**
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)

* fix: populate default `timeout` and retry after client-side timeout (#896)

This addresses internal issue 195337762 where sometimes query job creation can
take longer than expected and retrying the API call can be faster than waiting
for the first query job request to fail.

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)

Fixes #889
Towards #779

 🦕

* chore(deps): update dependency google-cloud-bigquery to v2.25.0 (#907)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-cloud-bigquery](https://togithub.com/googleapis/python-bigquery) | `==2.24.1` -> `==2.25.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.25.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.25.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.25.0/compatibility-slim/2.24.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.25.0/confidence-slim/2.24.1)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/python-bigquery</summary>

### [`v2.25.0`](https://togithub.com/googleapis/python-bigquery/blob/master/CHANGELOG.md#&#8203;2250-httpswwwgithubcomgoogleapispython-bigquerycomparev2241v2250-2021-08-24)

[Compare Source](https://togithub.com/googleapis/python-bigquery/compare/v2.24.1...v2.25.0)

##### Features

-   Support using GeoPandas for GEOGRAPHY columns ([#&#8203;848](https://www.togithub.com/googleapis/python-bigquery/issues/848)) ([16f65e6](https://www.github.com/googleapis/python-bigquery/commit/16f65e6ae15979217ceea6c6d398c9057a363a13))

##### [2.24.1](https://www.github.com/googleapis/python-bigquery/compare/v2.24.0...v2.24.1) (2021-08-13)

##### Bug Fixes

-   remove pytz dependency and require pyarrow>=3.0.0 ([#&#8203;875](https://www.togithub.com/googleapis/python-bigquery/issues/875)) ([2cb3563](https://www.github.com/googleapis/python-bigquery/commit/2cb3563ee863edef7eaf5d04d739bcfe7bc6438e))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-bigquery).

* chore(deps): update dependency pandas to v1.3.2 (#900)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pandas](https://pandas.pydata.org) ([source](https://togithub.com/pandas-dev/pandas)) | `==1.1.5` -> `==1.3.2` | [![age](https://badges.renovateapi.com/packages/pypi/pandas/1.3.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/pandas/1.3.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/pandas/1.3.2/compatibility-slim/1.1.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/pandas/1.3.2/confidence-slim/1.1.5)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>pandas-dev/pandas</summary>

### [`v1.3.2`](https://togithub.com/pandas-dev/pandas/releases/v1.3.2)

[Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.3.1...v1.3.2)

This is a patch release in the 1.3.x series and includes some regression fixes and bug fixes. We recommend that all users upgrade to this version.

See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.3.2/whatsnew/v1.3.2.html) for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

    conda install pandas

Or via PyPI:

    python3 -m pip install --upgrade pandas

Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

### [`v1.3.1`](https://togithub.com/pandas-dev/pandas/releases/v1.3.1)

[Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.3.0...v1.3.1)

This is the first patch release in the 1.3.x series and includes some regression fixes and bug fixes. We recommend that all users upgrade to this version.

See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.3.1/whatsnew/v1.3.1.html) for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

    conda install pandas

Or via PyPI:

    python3 -m pip install --upgrade pandas

Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

### [`v1.3.0`](https://togithub.com/pandas-dev/pandas/releases/v1.3.0)

[Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.2.5...v1.3.0)

This release includes some new features, bug fixes, and performance improvements. We recommend that all users upgrade to this version.

See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.3.0/whatsnew/v1.3.0.html) for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

    conda install -c conda-forge pandas

Or via PyPI:

    python3 -m pip install --upgrade pandas

Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

### [`v1.2.5`](https://togithub.com/pandas-dev/pandas/releases/v1.2.5)

[Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.2.4...v1.2.5)

This is a patch release in the 1.2.x series and includes some regression fixes. We recommend that all users upgrade to this version.

See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.2.5/whatsnew/v1.2.5.html) for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

    conda install pandas

Or via PyPI:

    python3 -m pip install --upgrade pandas

Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

### [`v1.2.4`](https://togithub.com/pandas-dev/pandas/releases/v1.2.4)

[Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.2.3...v1.2.4)

This is a patch release in the 1.2.x series and includes some regression fixes. We recommend that all users upgrade to this version.

See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.2.4/whatsnew/v1.2.4.html) for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

    conda install pandas

Or via PyPI:

    python3 -m pip install --upgrade pandas

Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

### [`v1.2.3`](https://togithub.com/pandas-dev/pandas/releases/v1.2.3)

[Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.2.2...v1.2.3)

This is a patch release in the 1.2.x series and includes some regression fixes. We recommend that all users upgrade to this version.

See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.2.3/whatsnew/v1.2.3.html) for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

    conda install pandas

Or via PyPI:

    python3 -m pip install --upgrade pandas

Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

### [`v1.2.2`](https://togithub.com/pandas-dev/pandas/releases/v1.2.2)

[Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.2.1...v1.2.2)

This is a patch release in the 1.2.x series and includes some regression fixes
and bug fixes. We recommend that all users upgrade to this version.

See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.2.2/whatsnew/v1.2.2.html) for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

    conda install pandas

Or via PyPI:

    python3 -m pip install --upgrade pandas

Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

### [`v1.2.1`](https://togithub.com/pandas-dev/pandas/releases/v1.2.1)

[Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.2.0...v1.2.1)

This is the first patch release in the 1.2.x series and includes some regression fixes
and bug fixes. We recommend that all users upgrade to this version.

See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.2.1/whatsnew/v1.2.1.html) for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

    conda install pandas

Or via PyPI:

    python3 -m pip install --upgrade pandas

Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

### [`v1.2.0`](https://togithub.com/pandas-dev/pandas/releases/v1.2.0)

[Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.1.5...v1.2.0)

This release includes some new features, bug fixes, and performance improvements. We recommend that all users upgrade to this version.

See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.2.0/whatsnew/v1.2.0.html) for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

    conda install -c conda-forge pandas

Or via PyPI:

    python3 -m pip install --upgrade pandas

Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-bigquery).

* chore: group all renovate PRs together (#911)

This excludes `renovate.json` from templated updates. If this works well, we
can update the core templates (perhaps with a configuration option to
`py_library`).

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

* chore: release 2.25.1 (#912)

:robot: I have created a release \*beep\* \*boop\*
---
### [2.25.1](https://www.github.com/googleapis/python-bigquery/compare/v2.25.0...v2.25.1) (2021-08-25)


### Bug Fixes

* populate default `timeout` and retry after client-side timeout ([#896](https://www.github.com/googleapis/python-bigquery/issues/896)) ([b508809](https://www.github.com/googleapis/python-bigquery/commit/b508809c0f887575274309a463e763c56ddd017d))
* use REST API in cell magic when requested ([#892](https://www.github.com/googleapis/python-bigquery/issues/892)) ([1cb3e55](https://www.github.com/googleapis/python-bigquery/commit/1cb3e55253e824e3a1da5201f6ec09065fb6b627))
---


This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).

* docs: update docstring for bigquery_create_routine sample (#883) (#917)

Fixed language issues.

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

Co-authored-by: pallabiwrites <87546424+pallabiwrites@users.noreply.github.com>

* chore: migrate default branch to main (#910)

* chore: migrate default branch to main

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* Add owlbot replacements to persist changes

* Manually apply new replacements from owlbot.py

* Move temp replacement rules after s.move()

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* chore: invalid docstrings broke docfx (#924)

* chore(deps): update all dependencies (#914)

* chore(deps): update all dependencies

* Python version modifiers for pyproj

Co-authored-by: Tim Swast <swast@google.com>

* fix: error inserting DataFrame with REPEATED field (#925)

Co-authored-by: Tim Swast <swast@google.com>

* chore(deps): update all dependencies (#926)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-cloud-bigquery](https://togithub.com/googleapis/python-bigquery) | `==2.25.0` -> `==2.25.1` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.25.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.25.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.25.1/compatibility-slim/2.25.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.25.1/confidence-slim/2.25.0)](https://docs.renovatebot.com/merge-confidence/) |
| [google-cloud-testutils](https://togithub.com/googleapis/python-test-utils) | `==1.0.0` -> `==1.1.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-testutils/1.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-testutils/1.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-testutils/1.1.0/compatibility-slim/1.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-testutils/1.1.0/confidence-slim/1.0.0)](https://docs.renovatebot.com/merge-confidence/) |
| [google-crc32c](https://togithub.com/googleapis/python-crc32c) | `==1.1.2` -> `==1.1.3` | [![age](https://badges.renovateapi.com/packages/pypi/google-crc32c/1.1.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-crc32c/1.1.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-crc32c/1.1.3/compatibility-slim/1.1.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-crc32c/1.1.3/confidence-slim/1.1.2)](https://docs.renovatebot.com/merge-confidence/) |
| [importlib-metadata](https://togithub.com/python/importlib_metadata) | `==4.6.4` -> `==4.8.1` | [![age](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.8.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.8.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.8.1/compatibility-slim/4.6.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.8.1/confidence-slim/4.6.4)](https://docs.renovatebot.com/merge-confidence/) |
| [pytest](https://docs.pytest.org/en/latest/) ([source](https://togithub.com/pytest-dev/pytest), [changelog](https://docs.pytest.org/en/stable/changelog.html)) | `==6.2.4` -> `==6.2.5` | [![age](https://badges.renovateapi.com/packages/pypi/pytest/6.2.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/pytest/6.2.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/pytest/6.2.5/compatibility-slim/6.2.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/pytest/6.2.5/confidence-slim/6.2.4)](https://docs.renovatebot.com/merge-confidence/) |
| [typing-extensions](https://togithub.com/python/typing) | `==3.10.0.0` -> `==3.10.0.2` | [![age](https://badges.renovateapi.com/packages/pypi/typing-extensions/3.10.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/typing-extensions/3.10.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/typing-extensions/3.10.0.2/compatibility-slim/3.10.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/typing-extensions/3.10.0.2/confidence-slim/3.10.0.0)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/python-bigquery</summary>

### [`v2.25.1`](https://togithub.com/googleapis/python-bigquery/blob/master/CHANGELOG.md#&#8203;2251-httpswwwgithubcomgoogleapispython-bigquerycomparev2250v2251-2021-08-25)

[Compare Source](https://togithub.com/googleapis/python-bigquery/compare/v2.25.0...v2.25.1)

</details>

<details>
<summary>googleapis/python-test-utils</summary>

### [`v1.1.0`](https://togithub.com/googleapis/python-test-utils/compare/v1.0.0...v1.1.0)

[Compare Source](https://togithub.com/googleapis/python-test-utils/compare/v1.0.0...v1.1.0)

</details>

<details>
<summary>googleapis/python-crc32c</summary>

### [`v1.1.3`](https://togithub.com/googleapis/python-crc32c/blob/master/CHANGELOG.md#&#8203;113-httpswwwgithubcomgoogleapispython-crc32ccomparev112v113-2021-08-30)

[Compare Source](https://togithub.com/googleapis/python-crc32c/compare/v1.1.2...v1.1.3)

</details>

<details>
<summary>python/importlib_metadata</summary>

### [`v4.8.1`](https://togithub.com/python/importlib_metadata/blob/master/CHANGES.rst#v481)

[Compare Source](https://togithub.com/python/importlib_metadata/compare/v4.8.0...v4.8.1)

\======

-   [#&#8203;348](https://togithub.com/python/importlib_metadata/issues/348): Restored support for `EntryPoint` access by item,
    deprecating support in the process. Users are advised
    to use direct member access instead of item-based access::

    -   ep\[0] -> ep.name
    -   ep\[1] -> ep.value
    -   ep\[2] -> ep.group
    -   ep\[:] -> ep.name, ep.value, ep.group

### [`v4.8.0`](https://togithub.com/python/importlib_metadata/blob/master/CHANGES.rst#v480)

[Compare Source](https://togithub.com/python/importlib_metadata/compare/v4.7.1...v4.8.0)

\======

-   [#&#8203;337](https://togithub.com/python/importlib_metadata/issues/337): Rewrote `EntryPoint` as a simple class, still
    immutable and still with the attributes, but without any
    expectation for `namedtuple` functionality such as
    `_asdict`.

### [`v4.7.1`](https://togithub.com/python/importlib_metadata/blob/master/CHANGES.rst#v471)

[Compare Source](https://togithub.com/python/importlib_metadata/compare/v4.7.0...v4.7.1)

\======

-   [#&#8203;344](https://togithub.com/python/importlib_metadata/issues/344): Fixed regression in `packages_distributions` when
    neither top-level.txt nor a files manifest is present.

### [`v4.7.0`](https://togithub.com/python/importlib_metadata/blob/master/CHANGES.rst#v470)

[Compare Source](https://togithub.com/python/importlib_metadata/compare/v4.6.4...v4.7.0)

\======

-   [#&#8203;330](https://togithub.com/python/importlib_metadata/issues/330): In `packages_distributions`, now infer top-level
    names from `.files()` when a `top-level.txt`
    (Setuptools-specific metadata) is not present.

</details>

<details>
<summary>pytest-dev/pytest</summary>

### [`v6.2.5`](https://togithub.com/pytest-dev/pytest/compare/6.2.4...6.2.5)

[Compare Source](https://togithub.com/pytest-dev/pytest/compare/6.2.4...6.2.5)

</details>

<details>
<summary>python/typing</summary>

### [`v3.10.0.2`](https://togithub.com/python/typing/compare/3.10.0.1...3.10.0.2)

[Compare Source](https://togithub.com/python/typing/compare/3.10.0.1...3.10.0.2)

### [`v3.10.0.1`](https://togithub.com/python/typing/compare/3.10.0.0...3.10.0.1)

[Compare Source](https://togithub.com/python/typing/compare/3.10.0.0...3.10.0.1)

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-bigquery).

* fix: underscores weren't allowed in struct field names when passing parameters to the DB API (#930)

* chore: release 2.25.2 (#916)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore(deps): update all dependencies (#928)

* fix: guard imports against unsupported pyarrow versions (#934)

* fix: guard imports against unsupported pyarrow versions

* add unit tests

* fix pytype

* second try at fixing pytype

* feat: set the X-Server-Timeout header when timeout is set (#927)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)

Fixes #919 🦕

* chore: release 2.26.0 (#937)

:robot: I have created a release \*beep\* \*boop\*
---
## [2.26.0](https://www.github.com/googleapis/python-bigquery/compare/v2.25.2...v2.26.0) (2021-09-01)


### Features

* set the X-Server-Timeout header when timeout is set ([#927](https://www.github.com/googleapis/python-bigquery/issues/927)) ([ba02f24](https://www.github.com/googleapis/python-bigquery/commit/ba02f248ba9c449c34859579a4011f4bfd2f4a93))


### Bug Fixes

* guard imports against unsupported pyarrow versions ([#934](https://www.github.com/googleapis/python-bigquery/issues/934)) ([b289076](https://www.github.com/googleapis/python-bigquery/commit/b28907693bbe889becc1b9c8963f0a7e1ee6c35a))
---


This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).

* chore(deps): update dependency google-cloud-bigquery to v2.26.0 (#938)

* chore: update system tests and samples to use and @google.com email address (#942)

* chore: update system tests and samples to use and @google.com email address

* Add group prefix

* fixed access entry some more

* chore(python): rename default branch to main (#935)

Source-Link: googleapis/synthtool@5c0fa62
Post-Processor: gcr.io/repo-automation-bots/owlbot-python:latest@sha256:0ffe3bdd6c7159692df5f7744da74e5ef19966288a6bf76023e8e04e0c424d7d

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Tim Swast <swast@google.com>
Co-authored-by: Peter Lamut <plamut@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>

* chore: Reduce duplicated code betweem tests/unit and tests/unit/job (#940)

* chore: Reduce duplicated code betweem tests/unit and tests/unit/job

* reuse parent make_client

* test: fix routine DDL sample test exits too early (#932)

Co-authored-by: Tres Seaver <tseaver@palladion.com>
Co-authored-by: Tim Swast <swast@google.com>

* chore(deps): update all dependencies (#939)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-cloud-bigquery-storage](https://togithub.com/googleapis/python-bigquery-storage) | `==2.6.3` -> `==2.7.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.7.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.7.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.7.0/compatibility-slim/2.6.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery-storage/2.7.0/confidence-slim/2.6.3)](https://docs.renovatebot.com/merge-confidence/) |
| [google-crc32c](https://togithub.com/googleapis/python-crc32c) | `==1.1.3` -> `==1.1.4` | [![age](https://badges.renovateapi.com/packages/pypi/google-crc32c/1.1.4/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-crc32c/1.1.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-crc32c/1.1.4/compatibility-slim/1.1.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-crc32c/1.1.4/confidence-slim/1.1.3)](https://docs.renovatebot.com/merge-confidence/) |
| [google-resumable-media](https://togithub.com/googleapis/google-resumable-media-python) | `==2.0.1` -> `==2.0.2` | [![age](https://badges.renovateapi.com/packages/pypi/google-resumable-media/2.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-resumable-media/2.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-resumable-media/2.0.2/compatibility-slim/2.0.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-resumable-media/2.0.2/confidence-slim/2.0.1)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/python-bigquery-storage</summary>

### [`v2.7.0`](https://togithub.com/googleapis/python-bigquery-storage/blob/master/CHANGELOG.md#&#8203;270-httpswwwgithubcomgoogleapispython-bigquery-storagecomparev263v270-2021-09-02)

[Compare Source](https://togithub.com/googleapis/python-bigquery-storage/compare/v2.6.3...v2.7.0)

##### Features

-   **v1beta2:** Align ReadRows timeout with other versions of the API ([#&#8203;293](https://www.togithub.com/googleapis/python-bigquery-storage/issues/293)) ([43e36a1](https://www.github.com/googleapis/python-bigquery-storage/commit/43e36a13ece8d876763d88bad0252a1b2421c52a))

##### Documentation

-   **v1beta2:** Align session length with public documentation ([43e36a1](https://www.github.com/googleapis/python-bigquery-storage/commit/43e36a13ece8d876763d88bad0252a1b2421c52a))

##### [2.6.3](https://www.github.com/googleapis/python-bigquery-storage/compare/v2.6.2...v2.6.3) (2021-08-06)

##### Bug Fixes

-   resume read stream on `Unknown` transport-layer exception ([#&#8203;263](https://www.togithub.com/googleapis/python-bigquery-storage/issues/263)) ([127caa0](https://www.github.com/googleapis/python-bigquery-storage/commit/127caa06144b9cec04b23914b561be6a264bcb36))

##### [2.6.2](https://www.github.com/googleapis/python-bigquery-storage/compare/v2.6.1...v2.6.2) (2021-07-28)

##### Bug Fixes

-   enable self signed jwt for grpc ([#&#8203;249](https://www.togithub.com/googleapis/python-bigquery-storage/issues/249)) ([a7e8d91](https://www.github.com/googleapis/python-bigquery-storage/commit/a7e8d913fc3de67a3f38ecbd35af2f9d1a33aa8d))

##### Documentation

-   remove duplicate code samples ([#&#8203;246](https://www.togithub.com/googleapis/python-bigquery-storage/issues/246)) ([303f273](https://www.github.com/googleapis/python-bigquery-storage/commit/303f2732ced38e491df92e965dd37bac24a61d2f))
-   add Samples section to CONTRIBUTING.rst ([#&#8203;241](https://www.togithub.com/googleapis/python-bigquery-storage/issues/241)) ([5d02358](https://www.github.com/googleapis/python-bigquery-storage/commit/5d02358fbd397cafcc1169d829859fe2dd568645))

##### [2.6.1](https://www.github.com/googleapis/python-bigquery-storage/compare/v2.6.0...v2.6.1) (2021-07-20)

##### Bug Fixes

-   **deps:** pin 'google-{api,cloud}-core', 'google-auth' to allow 2.x versions ([#&#8203;240](https://www.togithub.com/googleapis/python-bigquery-storage/issues/240)) ([8f848e1](https://www.github.com/googleapis/python-bigquery-storage/commit/8f848e18379085160492cdd2d12dc8de50a46c8e))

##### Documentation

-   pandas DataFrame samples are more standalone ([#&#8203;224](https://www.togithub.com/googleapis/python-bigquery-storage/issues/224)) ([4026997](https://www.github.com/googleapis/python-bigquery-storage/commit/4026997d7a286b63ed2b969c0bd49de59635326d))

</details>

<details>
<summary>googleapis/python-crc32c</summary>

### [`v1.1.4`](https://togithub.com/googleapis/python-crc32c/blob/master/CHANGELOG.md#&#8203;114-httpswwwgithubcomgoogleapispython-crc32ccomparev114v114-2021-09-02)

[Compare Source](https://togithub.com/googleapis/python-crc32c/compare/v1.1.3...v1.1.4)

</details>

<details>
<summary>googleapis/google-resumable-media-python</summary>

### [`v2.0.2`](https://togithub.com/googleapis/google-resumable-media-python/blob/master/CHANGELOG.md#&#8203;202-httpswwwgithubcomgoogleapisgoogle-resumable-media-pythoncomparev201v202-2021-09-02)

[Compare Source](https://togithub.com/googleapis/google-resumable-media-python/compare/v2.0.1...v2.0.2)

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-bigquery).

* Remove unneeded file

* Remove unneeded legacy pyarrow import in noxfile

Co-authored-by: Tim Swast <swast@google.com>
Co-authored-by: gcf-owl-bot[bot] <78513119+gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Jim Fulton <jim@jimfulton.info>
Co-authored-by: Grimmer <grimmer0125@gmail.com>
Co-authored-by: Tres Seaver <tseaver@palladion.com>
Co-authored-by: Dina Graves Portman <dinagraves@google.com>
Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>
Co-authored-by: pallabiwrites <87546424+pallabiwrites@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigquery Issues related to the googleapis/python-bigquery API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants