googleapis / googleapis/google-cloud-python

BidiRpc missing timeout and retry arguments

Open
#15,084 2 comments 0 reactions 1 assignee Claimed by @tswast View on GitHub
type: feature request
Dominant language
Python
Stars
5.4k
Forks
1.8k
Avg merge
3d 4h
Merged PRs (30d)
122

Description

**Is your feature request related to a problem? Please describe.**

Most (all?) generated methods contain the following arguments:

```
retry: google.api_core.retry.Retry = google.api_core.gapic_v1.method.DEFAULT,
timeout: float = None,
metadata: Sequence[Tuple[str, str]] = (),
```

I'd like to be able to pass these through from the method I'm wrapping. Currently, this is possible with `metadata`. See:

https://github.com/googleapis/python-api-core/blob/40f52bf1100cf56b7f9af267d210b8a72fc34f08/google/api_core/bidi.py#L279

But it does not appear to be possible with other arguments such as `timeout` and `retry`.

**Describe the solution you'd like**

Add `retry` and `timeout` as optional arguments to `BidiRpc`.

Perhaps if `retry` and `timeout` aren't available in older generated clients, some additional logic will be required to prevent breaking them? I recall they've been around for quite some time, though.

**Describe alternatives you've considered**

Perhaps an arbitrary `**kwargs` dictionary for extra arguments to pass to the `_start_rpc` method?

**Additional context**

* https://github.com/googleapis/python-bigquery-storage/pull/278
* https://github.com/googleapis/google-cloud-python/issues/16450 -- I suspect this feature will need to be implemented before the generator can consider using BidiRpc by default.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.